]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - .cirrus.yml
sys: Remove $FreeBSD$: one-line .S pattern
[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-2-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     only_if: $CIRRUS_REPO_FULL_NAME != 'freebsd/freebsd-src'
21     trigger_type: manual
22     env:
23       TARGET: amd64
24       TARGET_ARCH: amd64
25       TOOLCHAIN: llvm15
26       TOOLCHAIN_PKG: ${TOOLCHAIN}-lite
27   - name: amd64-llvm16 World and kernel build and boot smoke test
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: aarch64-gcc12 World and kernel build and boot smoke test (manual)
58     only_if: $CIRRUS_REPO_FULL_NAME != 'freebsd/freebsd-src'
59     trigger_type: manual
60     env:
61       TARGET: arm64
62       TARGET_ARCH: aarch64
63       TOOLCHAIN: aarch64-gcc12
64       TOOLCHAIN_PKG: ${TOOLCHAIN}
65   - name: amd64-gcc12 World and kernel build and boot smoke test (FreeBSD repo)
66     only_if: $CIRRUS_REPO_FULL_NAME == 'freebsd/freebsd-src'
67     env:
68       TARGET: amd64
69       TARGET_ARCH: amd64
70       TOOLCHAIN: amd64-gcc12
71       TOOLCHAIN_PKG: ${TOOLCHAIN}
72   timeout_in: 120m
73   install_script:
74   - sh .cirrus-ci/pkg-install.sh ${TOOLCHAIN_PKG}
75   setup_script:
76   - uname -a
77   - gpart show
78   - df -m
79   - pkg --version
80   - pw useradd user
81   - mkdir -p /usr/obj/$(pwd -P)
82   - chown user:user /usr/obj/$(pwd -P)
83   script:
84   - su user -c "make -j$(sysctl -n hw.ncpu) CROSS_TOOLCHAIN=${TOOLCHAIN} WITHOUT_TOOLCHAIN=yes buildworld buildkernel"
85   package_script:
86   - su user -c "make CROSS_TOOLCHAIN=${TOOLCHAIN} WITHOUT_TOOLCHAIN=yes packages"
87   package_check_script:
88   - su user -c "/usr/libexec/flua tools/pkgbase/metalog_reader.lua -c /usr/obj/$(pwd -P)/${TARGET}.${TARGET_ARCH}/worldstage/METALOG"
89   test_script:
90   - sh .cirrus-ci/pkg-install.sh qemu-nox11
91   - sh tools/boot/ci-qemu-test.sh
92   post_script:
93   - df -m
94   - du -m -s /usr/obj