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
We generally want to build and test on the highest release version, and
FreeBSD 13.0 also brings some performance benefits.
Reviewed by: lwhsu
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D29842
Cirrus-CI has been red for some time because we're running out of disk
space on the ephemeral GCP VMs. For now remove the package + qemu boot,
and just check for build regressions.
This change to be reverted once we have identified and addressed the
underlying issue.
Sponsored by: The FreeBSD Foundation
This reverts commit fcb4797c90.
With `CIRRUS_CLONE_DEPTH` unspecified (using the default of 50) the
time to clone the repo increased from a little under 2 minutes to over
6 minutes, possibly due to additional processing required by GitHub.
We will want to watch out for occasional `Failed to force reset to
SHA: object not found!` errors.
Previously Cirrus was skipped on svn_head to avoid running CI on two
different branches with identical content. With the transition to git
this serves no purpose.
Reported by: kevans
Sponsored by: The FreeBSD Foundation
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
It appears that booting FreeBSD from qemu's synthesized FAT filesystem
broke somehow in a recent qemu-devel update. qemu42 works so switch to
it for now.
Installing the llvm11 package instead of bootstrapping it from the source
tree reduces the build time by about 20 minutes.
The last freebsd/freebsd build that was tested (r366629) took 1h 21m 22s,
whereas my GitHub fork with this .cirrus.yml took 58m 6s.
We could probably further reduce time by using images that have LLVM
pre-installed: the pkg install step took 4 minutes 30s.
Since the bootstrap toolchain is still tested by Jenkins, this should not
reduce test coverage of the CI testing.
Reviewed By: emaste
Differential Revision: https://reviews.freebsd.org/D26747
svn_head has the same content as the master or main branch (it's just
the result of a `git svn` conversion instead of svn2git).
Sponsored by: The FreeBSD Foundation
The Cirrus-CI-provided working tree is owned by root. Leave that as is
for simplicity but build as an unprivileged user; this tests building
with an unmodifiable source tree as a side effect.
Continue running the smoke test as root for now, as it failed when run
as an unprivileged user - pkg reported "Fail to chmod
/usr/bin/.pkgtemp.lpq.dUHpEqPGJ9pq:Operation not permitted"
Sponsored by: The FreeBSD Foundation
For some reason build+package+test time went from about 1h10 to over
1h30 (killed due to timeout prior to completion).
The reason for the increase still needs investigation.
Now that we can override the format to avoid the time spent compressing
pkgbase packages we can test `make packages` with only 5 minutes or so
added to the CI cycle time.
A future change should switch the CI smoke test to using these packages.
Sponsored by: The FreeBSD Foundation
In review D19876 ian@ has some proposed improvements to the
tools/boot/ci-qemu-test.sh script. Start specifying the location of
OVMF.fd fetched by the Cirrus-CI build in advance of those changes.