[squid-dev] RFC: Semaphore CI to GitHub Actions migration
Amos Jeffries
squid3 at treenet.co.nz
Sat Oct 22 08:17:50 UTC 2022
Sounds good for the most part.
On 20/10/22 03:25, Alex Rousskov wrote:
> 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.
>
FYI the "start failing" condition was met some time ago.
Ubuntu 14.04 provides GCC 4.8.6 which has a broken/incomplete STL
prohibiting use of several important C++11 features (at least
std::chrono, maybe also std::regex, and static analysis).
Previous discussions have focused on CentOS 7 which requires the GCC
4.8.5 and has (had?) a more difficult upgrade path than Ubuntu.
HTH
Amos
More information about the squid-dev
mailing list