[squid-dev] RFC: Semaphore CI to GitHub Actions migration
Alex Rousskov
rousskov at measurement-factory.com
Wed Oct 19 14:25:54 UTC 2022
Hello,
I plan to gradually turn Semaphore CI testing off and make GitHub
Actions required. We should not babysit the same tests in two setups.
Here is the current status of CI tests with regard to Semaphore and
GitHub Actions together with the corresponding planned actions:
1. Functionality tests: Essentially the same set of tests. Semaphore CI
has one extra/old test but it is disabled for master/v6 code. The
proxy-collapsed-forwarding test often fails on Semaphore, requiring a
manual restart of all tests. The busy-restart test usually fails on
GitHub Actions, but those failures are currently ignored.
Plan: I will leave the busy-restart test running on Semaphore CI until
we find a way to make it stable in GitHub Actions environment. I will
turn off the other Semaphore CI functionality tests and make the GitHub
Actions ones required.
2. Source maintenance tests: The same set of tests. GitHub Actions have
the right Astyle version, so the formatting test actually works on
GitHub (but its results are currently ignored on both platforms).
Plan: I will turn off Semaphore CI source maintenance tests and make the
GitHub Actions ones required instead. Formatting test results will still
be ignored (that is a separate decision/change/action out of this thread
scope; let's not discuss it here).
3. Build tests: Semaphore CI uses Ubuntu 14.04. GitHub Actions uses
Ubuntu 22.04. Semaphore CI has fewer build dependencies installed.
GitHub Actions do not provide Ubuntu 14.04 runners[1].
Plan: I will keep Semaphore CI build tests and make the GitHub Actions
tests required. When Semaphore CI build tests start failing (e.g.,
because dependency repositories stop working "as is"), or when we stop
supporting that old environment, I will disable those tests.
If you have any objections or better ideas about gradually moving away
from Semaphore CI, please discuss.
Thank you,
Alex.
[1] GitHub provides Ubuntu 18.04 runners, but they are deprecated, will
purposefully _fail_ according to GitHub schedule, and will be removed in
December. We should not use them. Details at
https://github.blog/changelog/2022-08-09-github-actions-the-ubuntu-18-04-actions-runner-image-is-being-deprecated-and-will-be-removed-by-12-1-22/
More information about the squid-dev
mailing list