xref: /src/.cirrus.yml (revision 8cee0c9ae9d863e599a84ba7fe8764cf1186dfc3)
19c0fe7f6SEd Maste# $FreeBSD$
29c0fe7f6SEd Maste
3cec2682cSEd Mastecompute_engine_instance:
4407abff2SEd Maste  # Image list available via
5407abff2SEd Maste  # gcloud compute images list --project freebsd-org-cloud-dev --no-standard-images
6cec2682cSEd Maste  platform: freebsd
7cec2682cSEd Maste  image_project: freebsd-org-cloud-dev
85e2ba9cbSQWERTIOX  image: freebsd-13-2-release-amd64
99c0fe7f6SEd Maste  cpu: 8
10bbf70270SEd Maste  memory: 8G
11cec2682cSEd Maste  disk: 40
129c0fe7f6SEd Maste
139c0fe7f6SEd Mastetask:
148cba2003SEd Maste  matrix:
158cba2003SEd Maste  - name: World and kernel amd64 build and boot smoke test
168cba2003SEd Maste    env:
178cba2003SEd Maste      TARGET: amd64
188cba2003SEd Maste      TARGET_ARCH: amd64
1967fca20eSEd Maste      TOOLCHAIN_PKG: llvm15
208cba2003SEd Maste  - name: World and kernel arm64 build and boot smoke test
218cba2003SEd Maste    trigger_type: manual
228cba2003SEd Maste    env:
238cba2003SEd Maste      TARGET: arm64
248cba2003SEd Maste      TARGET_ARCH: aarch64
2567fca20eSEd Maste      TOOLCHAIN_PKG: llvm15
26e7f9bdb4SEd Maste  - name: World and kernel gcc12 amd64 build and boot smoke test
2775e44873SEd Maste    trigger_type: manual
2875e44873SEd Maste    env:
2975e44873SEd Maste      TARGET: amd64
3075e44873SEd Maste      TARGET_ARCH: amd64
31e7f9bdb4SEd Maste      TOOLCHAIN_PKG: amd64-gcc12
324d083e6dSEd Maste  timeout_in: 120m
339c0fe7f6SEd Maste  install_script:
34b4373ce3SBrooks Davis  - sh .cirrus-ci/pkg-install.sh ${TOOLCHAIN_PKG} git-lite
35260b2c51SBrooks Davis
36af11c202SEd Maste  setup_script:
37f2f24008SEd Maste  - uname -a
38170d1042SEd Maste  - gpart show
39f2f24008SEd Maste  - df -m
40a077a4e3SEd Maste  - pkg --version
41db853af6SEd Maste  - pw useradd user
42db853af6SEd Maste  - mkdir -p /usr/obj/$(pwd -P)
43db853af6SEd Maste  - chown user:user /usr/obj/$(pwd -P)
44260b2c51SBrooks Davis
459c0fe7f6SEd Maste  script:
4675e44873SEd Maste  - su user -c "make -j$(sysctl -n hw.ncpu) CROSS_TOOLCHAIN=${TOOLCHAIN_PKG} WITHOUT_TOOLCHAIN=yes buildworld buildkernel"
47260b2c51SBrooks Davis
48e1e9e084SEd Maste  package_script:
4975e44873SEd Maste  - su user -c "make CROSS_TOOLCHAIN=${TOOLCHAIN_PKG} WITHOUT_TOOLCHAIN=yes PKG_FORMAT=tar packages"
50260b2c51SBrooks Davis
512ed0305bSEd Maste  package_check_script:
522ed0305bSEd Maste  - su user -c "/usr/libexec/flua tools/pkgbase/metalog_reader.lua -c /usr/obj/$(pwd -P)/${TARGET}.${TARGET_ARCH}/worldstage/METALOG"
53260b2c51SBrooks Davis
54e1e9e084SEd Maste  test_script:
55612f254cSEd Maste  - sh .cirrus-ci/pkg-install.sh qemu-nox11
56e1e9e084SEd Maste  - sh tools/boot/ci-qemu-test.sh
57260b2c51SBrooks Davis
58b4373ce3SBrooks Davis  make_sysent_script:
59b4373ce3SBrooks Davis  # Check that make sysent results were committed if required
60b4373ce3SBrooks Davis  - make sysent
61b4373ce3SBrooks Davis  - if ! git diff --exit-code; then printf "\n>>> Generated sysent files not updated, run make sysent <<<\n"; false; fi
62b4373ce3SBrooks Davis
638cee0c9aSBrooks Davis  include_ldirs_script:
648cee0c9aSBrooks Davis  # Check that includes/Makefile refers to existing directories
658cee0c9aSBrooks Davis  - if ! make -C include/ check-ldirs; then printf "\n>>> include/Makefile lists nonexistant directories <<<\n"; false; fi
668cee0c9aSBrooks Davis
67f2f24008SEd Maste  post_script:
68f2f24008SEd Maste  - df -m
69f2f24008SEd Maste  - du -m -s /usr/obj
70