As of commit 439352ac82 Clang/LLVM 18 is the default in-tree compiler.
Follow suit in with the external toolchain package used by Cirrus-CI.
Sponsored by: The FreeBSD Foundation
Work is in progress to import Clang/LLVM 18 as the base system compiler.
llvm18-lite is not yet in the quarterly package set but but will be
available in the not too distant future, and is available for src forks
that switch to latest packages. Add manual llvm18 jobs now so that they
can be used for testing.
Sponsored by: The FreeBSD Foundation
Clang/LLVM 17 is currently the in-tree default compiler, so use it as
the default Cirrus-CI toolchain. Clang/LLVM 18 is coming soon and needs
to be added here, but I ran into trouble with llvm18-lite package
availability so will look at that later.
Reviewed by: dim (earlier), Jose Luis Duran
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D44162
Updated pkg is now in quarterly and there is no need to forcibly
install a specific version.
This reverts commit 1c376684c7.
This reverts commit 3c097b06a7.
Reported by: bapt
Sponsored by: The FreeBSD Foundation
The git checkout it owned by root, but builds are run as "user". git
refuses to operate in such an environment unless the directory is
trusted so make "user" trust it.
Fixes CI after 99b8c0c35b.
Sponsored by: DARPA
Reviewed by: emaste
Differential Revision: https://reviews.freebsd.org/D42903
Since Cirrus Labs is limiting their free usage tier [1], limit CI runs
on pull requests only. Otherwise, we might deplete our monthly quota
within a few days.
Adapt the task amd64-llvm16 to execute on downstream repos or on pull
requests only.
Other alternatives will be further studied.
[1]: https://cirrus-ci.org/blog/2023/07/17/limiting-free-usage-of-cirrus-ci/
The Cirrus-CI log length issue was addressed by commit 5f72ceb2c5
("Cirrus-CI: for *-gcc12, build world with make -s"), and the failure
itself by commit 0c785f0602 ("Fix GoogleTest 1.14.0 import").
This reverts commit 0ed2e7e889.
Reported by: Jose Luis Duran
Sponsored by: The FreeBSD Foundation
The amd64-gcc12 job is failing at present. Unfortunately Cirrus-CI
appears to have a 100MB log limit and we exceed this before the error
is reported. Disable the job for now until we can address the log
length issue.
See also https://github.com/cirruslabs/cirrus-ci-docs/issues/1176.
Sponsored by: The FreeBSD Foundation
With commit e048f78b21 the default tool chain is Clang/LLVM 16, so
follow along in the llvm pkg used by Cirrus-CI.
MFC after: 1 month
Sponsored by: The FreeBSD Foundation
It appears that Cirrus-CI has a 100MB limit for log output, and we
exceed that (!) with the amd64-gcc12 build. Separate world and kernel
build tasks in an attempt to stay below the limit.
This also has the benefit of showing world and kernel build status
separately in the Cirrus-CI UI.
PR: 271903
Sponsored by: The FreeBSD Foundation
This reduces CI cycle time (a small amount).
Suggested by: brooks
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D40136
We want to get GCC coverage via Cirrus-CI, but don't want to trigger
excessive runs across all forks and branches. Create a duplicate gcc12
task to run automatically for freebsd/freebsd-src.
Reviewed by: jhb
Sponsored by: The FreeBSD Foundation
Run makeman and verify that src.conf.5 has been updated if
required and that there are no missing definition files.
Reviewed by: emaste
Sponsored by: DARPA
Differential Revision: https://reviews.freebsd.org/D39682
Run the `make sysent` target and verify that the repo isn't modified
afterwards. This ensures that a pushed branch contains all the
required bits after a change to syscall.master.
Reviewed by: emaste
Sponsored by: DARPA
Differential Revision: https://reviews.freebsd.org/D39680
tools/pkgbase/metalog_reader.lua checks for errors in METALOG (for
pkgbase staging), such as hard links with differing modes, duplicate
entries, etc. Run it as part of the Cirrus-CI job to prevent
regressions.
Reviewed by: manu, imp
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D37521
As of commit 50d7464c3f we use llvm15 as the system toolchain, and
commit eca005d853 added compiler options incompatible with earlier
versions. Switch to llvm15 packages.
Sponsored by: The FreeBSD Foundation
GCP instances have stopped resizing the UFS root filesystem. The 14.x
snapshot image built from b1ef176eb5 works while c89209c674 fails.
Discovered via testing a WIP branch in Cirrus-CI that uses
`image: family/freebsd-14-0-snap`.
Add `gpart show` to the setup script to confirm that the partition
size (as set by Cirrus config / GCP) took effect and to help when
investigating any similar issue in the future.
MFC after: 1 week
Sponsored by: The FreeBSD Foundation
Occasionally the QEMU package fails to build and isn't available on
-CURRENT using the Latest package set. Move the package installation
to the test script, so that if the package isn't available we at least
still perform a build test.
Sponsored by: The FreeBSD Foundation
Allow users to test changes and find GCC-specific issues using Cirrus-CI
against their own GitHub forks.
Reviewed by: lwhsu, jhb
MFC after: 1 week
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D34289
We use -nographic for the smoke test and there is no need to pull in all
of the x11 deps. This saves some time and bandwidth during package
installation.
When I originally added Cirrus-CI support the -nox11 package was not
available.
Sponsored by: The FreeBSD Foundation
As of 28a41182c0 the base system uses Clang/LLVM 13. Follow along in
Cirrus-CI (which uses a packaged toolchain for speed).
Sponsored by: The FreeBSD Foundation
The PKG_FORMAT=tar used by Cirrus CI's pkgbase build is failing after
6cafdee71d ("pkgbase: Track pkg 1.17"). Skip package build and test
in Cirrus-CI until new pkg is available.
PR: 257422
Sponsored by: The FreeBSD Foundation
QEMU (now) includes a prebuilt EDK II firmare in edk2-x86_64-code.fd.
Use that instead of requring a standalone uefi-edk2-qemu-x86_64 package.
Reviewed by: imp
MFC after: 3 weeks
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D30915
Which is `50`. I saw a few errors like
`Failed to force reset to SHA: object not found!` which seems is
happening because the SHA is not available because there were two
commits pushed almost simultaneously and the second from the top fails
with this error because the SHA is not in the history.
Pull Request: https://github.com/freebsd/freebsd-src/pull/454
Comments on re-commit from emaste:
Originally committed as fcb4797c90 and reverted in 80a840b8ba due
to the clone operation taking significantly longer. However, I have
seen many failures due to the "object not found" issue recently.
7 of 37 recent runs failed because of this, and intermittent failures
like this makes CI much less useful.
Prefer longer-running runs to intermittent failures.
Previously it appeared only as "main" in places like GitHub's list
of checks run as part of a pull request.
MFC after: 1 week
Sponsored by: The FreeBSD Foundation
This reverts commit a7d593dd1d.
We now use compute_engine_instance which allows us to specify a custom
disk size. Also go back to using the default qemu version (rather than
qemu42 or qemu-devel) as any issues were fixed some time ago.
Reviewed by: lwhsu, markj
MFC after: 1 month
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D30082
dim@ is preparing to import Clang/LLVM 12 into the base system as the
system compiler / toolchain. Apply the same change to the Cirrus-CI
config.
Reviewed by: imp, markj
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D30109