]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - .cirrus.yml
Cirrus-CI: add amd64 and arm64 Clang/LLVM 16 jobs
[FreeBSD/FreeBSD.git] / .cirrus.yml
1 # $FreeBSD$
2
3 compute_engine_instance:
4   # Image list available via
5   # gcloud compute images list --project freebsd-org-cloud-dev --no-standard-images
6   platform: freebsd
7   image_project: freebsd-org-cloud-dev
8   image: freebsd-13-1-release-amd64
9   cpu: 8
10   memory: 8G
11   disk: 40
12
13 env:
14   CIRRUS_CLONE_DEPTH: 1
15   PKG_FORMAT: tar
16
17 task:
18   matrix:
19   - name: amd64-llvm15 World and kernel build and boot smoke test
20     env:
21       TARGET: amd64
22       TARGET_ARCH: amd64
23       TOOLCHAIN: llvm15
24       TOOLCHAIN_PKG: ${TOOLCHAIN}-lite
25   - name: amd64-llvm16 World and kernel build and boot smoke test
26     only_if: $CIRRUS_REPO_FULL_NAME != 'freebsd/freebsd-src'
27     trigger_type: manual
28     env:
29       TARGET: amd64
30       TARGET_ARCH: amd64
31       TOOLCHAIN: llvm16
32       TOOLCHAIN_PKG: ${TOOLCHAIN}-lite
33   - name: arm64-llvm15 World and kernel build and boot smoke test
34     only_if: $CIRRUS_REPO_FULL_NAME != 'freebsd/freebsd-src'
35     trigger_type: manual
36     env:
37       TARGET: arm64
38       TARGET_ARCH: aarch64
39       TOOLCHAIN: llvm15
40       TOOLCHAIN_PKG: ${TOOLCHAIN}
41   - name: arm64-llvm16 World and kernel build and boot smoke test
42     only_if: $CIRRUS_REPO_FULL_NAME != 'freebsd/freebsd-src'
43     trigger_type: manual
44     env:
45       TARGET: arm64
46       TARGET_ARCH: aarch64
47       TOOLCHAIN: llvm16
48       TOOLCHAIN_PKG: ${TOOLCHAIN}
49   - name: amd64-gcc12 World and kernel build and boot smoke test (manual)
50     only_if: $CIRRUS_REPO_FULL_NAME != 'freebsd/freebsd-src'
51     trigger_type: manual
52     env:
53       TARGET: amd64
54       TARGET_ARCH: amd64
55       TOOLCHAIN: amd64-gcc12
56       TOOLCHAIN_PKG: ${TOOLCHAIN}
57   - name: amd64-gcc12 World and kernel build and boot smoke test (FreeBSD repo)
58     only_if: $CIRRUS_REPO_FULL_NAME == 'freebsd/freebsd-src'
59     env:
60       TARGET: amd64
61       TARGET_ARCH: amd64
62       TOOLCHAIN: amd64-gcc12
63       TOOLCHAIN_PKG: ${TOOLCHAIN}
64   timeout_in: 120m
65   install_script:
66   - sh .cirrus-ci/pkg-install.sh ${TOOLCHAIN_PKG}
67   setup_script:
68   - uname -a
69   - gpart show
70   - df -m
71   - pkg --version
72   - pw useradd user
73   - mkdir -p /usr/obj/$(pwd -P)
74   - chown user:user /usr/obj/$(pwd -P)
75   script:
76   - su user -c "make -j$(sysctl -n hw.ncpu) CROSS_TOOLCHAIN=${TOOLCHAIN} WITHOUT_TOOLCHAIN=yes buildworld buildkernel"
77   package_script:
78   - su user -c "make CROSS_TOOLCHAIN=${TOOLCHAIN} WITHOUT_TOOLCHAIN=yes packages"
79   package_check_script:
80   - su user -c "/usr/libexec/flua tools/pkgbase/metalog_reader.lua -c /usr/obj/$(pwd -P)/${TARGET}.${TARGET_ARCH}/worldstage/METALOG"
81   test_script:
82   - sh .cirrus-ci/pkg-install.sh qemu-nox11
83   - sh tools/boot/ci-qemu-test.sh
84   post_script:
85   - df -m
86   - du -m -s /usr/obj