Subject: Re: [PATCH v3] CI: select CC based on CC_PACKAGE (again)

From: Ævar Arnfjörð Bjarmason <[email-masked]>
Date: Fri, 22 Apr 2022 13:43:01 +0200

On Fri, Apr 22 2022, Phillip Wood wrote:

> Hi Ævar
>
>> On 22 April 2022 at 10:20 Ævar Arnfjörð Bjarmason <[email-masked]> wrote:
>> 
>> 
>> Fix a regression in 707d2f2fe86 (CI: use "$runs_on_pool", not
>> "$jobname" to select packages & config, 2021-11-23).
>> 
>> In that commit I changed CC=gcc from CC=gcc-9, but on OSX the "gcc" in
>> $PATH points to clang, we need to use gcc-9 instead. Likewise for the
>> linux-gcc job CC=gcc-8 was changed to the implicit CC=gcc, which would
>> select GCC 9.4.0 instead of GCC 8.4.0.
>> 
>> Furthermore in 25715419bf4 (CI: don't run "make test" twice in one
>> job, 2021-11-23) when the "linux-TEST-vars" job was split off from
>> "linux-gcc" the "cc_package: gcc-8" line was copied along with
>> it, so its "cc_package" line wasn't working as intended either.
>> 
>> As a table, this is what's changed by this commit, i.e. it only
>> affects the linux-gcc, linux-TEST-vars and osx-gcc jobs:
>> 
>> 	|-------------------+-----------+-------------------+-------+-------|
>> 	| jobname           | vector.cc | vector.cc_package | old   | new   |
>> 	|-------------------+-----------+-------------------+-------+-------|
>> 	| linux-clang       | clang     | -                 | clang | clang |
>> 	| linux-sha256      | clang     | -                 | clang | clang |
>> 	| linux-gcc         | gcc       | gcc-8             | gcc   | gcc-8 |
>> 	| osx-clang         | clang     | -                 | clang | clang |
>> 	| osx-gcc           | gcc       | gcc-9             | clang | gcc-9 |
>> 	| linux-gcc-default | gcc       | -                 | gcc   | gcc   |
>> 	| linux-TEST-vars   | gcc       | gcc-8             | gcc   | gcc-8 |
>> 	|-------------------+-----------+-------------------+-------+-------|
>
> Having this table is helpful. I do find it confusing that we're still setting 
> CC in the main.yaml and then overriding it in lib.sh. I think it would make 
> things clearer if we got find of the cc settings in the job matrix.

Yes, this stand-alone patch is just a band-aid.

Do you like the state at the tip of my larger CI series? It's only set
in ci/lib.sh there, or in the case of the package we need the
installation script is tasked with it now.