[squid-dev] RFC: Semaphore CI to GitHub Actions migration

Alex Rousskov rousskov at measurement-factory.com
Mon Oct 24 18:27:32 UTC 2022


On 10/22/22 04:17, Amos Jeffries wrote:
> On 20/10/22 03:25, Alex Rousskov wrote: >> 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.

I disagree: Sempahore CI build tests are clearly not failing now.


> 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).

Squid unconditionally uses std::chrono already. When we start using 
std::regex, we may need to stop using Sempahore CI build tests (if they 
are still running at that time and start failing due to std::regex 
addition), but that likely future is compatible with the above plan.


> Previous discussions have focused on CentOS 7 which requires the GCC 
> 4.8.5 and has (had?) a more difficult upgrade path than Ubuntu.

Sempahore CI build tests should not determine the set of language 
features Squid uses. They have ever determined that IMO. They certainly 
will not determine that going forward since we all agree that we can 
stop running them when they start failing (due to the age of Semaphore 
CI environment).


Cheers,

Alex.


More information about the squid-dev mailing list