Hi Ævar > On 22 April 2022 at 10:20 Ævar Arnfjörð Bjarmason <avarab@xxxxxxxxx> 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. Best Wishes Phillip > Reported-by: Carlo Arenas <carenas@xxxxxxxxx> > Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@xxxxxxxxx> > --- > > I just dropped the linux-TEST-vars change from the v2 in lieu of > trying to get the wording in the commit message right. > > Range-diff against v2: > 1: 92acf9420a9 ! 1: 8b3444ecc87 CI: select CC based on CC_PACKAGE (again) > @@ Commit message > 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. > - > - That wasn't a bug per-se, as that "make test" would have run under GCC > - 8 before the split into two jobs, but the point of selecting different > - compiler for these jobs is to get better coverage, and to narrow down > - any issues with a given compiler to the job that runs it. Since the > - "linux-TEST-vars" job is already special in other ways (in running > - with various GIT_TEST_* variables), and we've got the "linux-gcc" job > - covering gcc-8 let's have it used the default system compiler instead. > + 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 | > + |-------------------+-----------+-------------------+-------+-------| > > Reported-by: Carlo Arenas <carenas@xxxxxxxxx> > Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@xxxxxxxxx> > > - ## .github/workflows/main.yml ## > -@@ .github/workflows/main.yml: jobs: > - - jobname: linux-TEST-vars > - cc: gcc > - os: ubuntu > -- cc_package: gcc-8 > - pool: ubuntu-latest > - - jobname: osx-clang > - cc: clang > - > ## ci/lib.sh ## > @@ ci/lib.sh: then > test macos != "$CI_OS_NAME" || CI_OS_NAME=osx > > ci/lib.sh | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/ci/lib.sh b/ci/lib.sh > index cbc2f8f1caa..86e37da9bc5 100755 > --- a/ci/lib.sh > +++ b/ci/lib.sh > @@ -122,7 +122,7 @@ then > test macos != "$CI_OS_NAME" || CI_OS_NAME=osx > CI_REPO_SLUG="$GITHUB_REPOSITORY" > CI_JOB_ID="$GITHUB_RUN_ID" > - CC="${CC:-gcc}" > + CC="${CC_PACKAGE:-${CC:-gcc}}" > DONT_SKIP_TAGS=t > > cache_dir="$HOME/none" > -- > 2.36.0.879.g56a83971f3f >