]> git.ipfire.org Git - thirdparty/squid.git/commit
Use GitHub Actions for more OS-specific build tests (#1917)
authorFrancesco Chemolli <5175948+kinkie@users.noreply.github.com>
Fri, 25 Oct 2024 17:36:26 +0000 (17:36 +0000)
committerSquid Anubis <squid-anubis@squid-cache.org>
Fri, 25 Oct 2024 20:58:37 +0000 (20:58 +0000)
commit240efcbb6656f89edb88811daeda71af4062c6af
tree32bb1e04b162c1b916f9007c68e572f3a757d5cb
parented1a73299a1346a79f2e09372b4b3652f54cbb46
Use GitHub Actions for more OS-specific build tests (#1917)

Test staged commits using some of our docker images from Jenkins tests.
The added tests (see staged.yaml) were easier to adopt; we are also
working on enabling GitHub Actions for FreeBSD and some other images.

We do not run these added tests for PR commits because existing Ubuntu
tests (defined in pr.yaml) already expose the vast majority of build
problems, and we are worried that running a lot more tests for each PR
push event would consume too much GitHub resources and significantly
increase noise in PR checks summary, obscuring often-easier-to-handle
failures detected by Ubuntu tests.

Also postpone MacOS tests until PR staging. On GitHub, MacOS runners are
x10 more expensive than Linux runners. We use cheaper runners for fast
feedback while still checking MacOS build before each merged commit.

This change does not increase GitHub CI wait time for PR push tests
because those checks are dominated by the unchanged 35min CodeQL-tests
job. However, it reduces total CPU time used (from 2h 30m to 2h) because
we no longer perform 3 MacOS tests for PR push events.

This change doubles GitHub CI wait time for staged commit tests (from
35m to 1h) and drastically increases total CPU time used (from 2h to
17h), primarily due to 84 added docker-based linux-distros checks.

GitHub does not provide any riscv64 runners and free Linux/arm64
runners. Our initial attempts to virtualize Linux/arm64 tests on
MacOS/arm64 runners and to make virtualized FreeBSD and OpenBSD tests
work on Linux/x64 were not successful. Thus, we still rely on Jenkins
for Linux/riscv64, Linux/arm64, FreeBSD/x64, and OpenBSD/x64 tests.
.github/workflows/quick.yaml [moved from .github/workflows/default.yaml with 65% similarity]
.github/workflows/slow.yaml [new file with mode: 0644]