[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