Hi Ævar
On 21/04/2022 14:03, Ævar Arnfjörð Bjarmason 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.
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.
Reported-by: Carlo Arenas <carenas@xxxxxxxxx>
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@xxxxxxxxx>
---
Range-diff:
1: 94abb826627 < -: ----------- CI: have osx-gcc use gcc, not clang
-: ----------- > 1: d89ad4d5b7c CI: select CC based on CC_PACKAGE (again)
The range-diff is against a relevant patch in v4 of a larger CI series
of mine[1]. This fix is independent of that, and on top of master. See
[2] for the original fix and discussion.
As noted in the updated commit message not only the OSX jobs were
affected, but also the linux-gcc job. This fixes both, along with a
small fix to the related linux-TEST-vars recipe.
1. https://lore.kernel.org/git/cover-v4-00.31-00000000000-20220418T132809Z-avarab@xxxxxxxxx/
2. https://lore.kernel.org/git/patch-v4-30.31-94abb826627-20220418T132809Z-avarab@xxxxxxxxx/
.github/workflows/main.yml | 1 -
ci/lib.sh | 2 +-
2 files changed, 1 insertion(+), 2 deletions(-)
diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index c35200defb9..f12819a00d7 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -236,7 +236,6 @@ jobs:
- jobname: linux-TEST-vars
cc: gcc
os: ubuntu
- cc_package: gcc-8
pool: ubuntu-latest
- jobname: osx-clang
cc: clang
diff --git a/ci/lib.sh b/ci/lib.sh
index cbc2f8f1caa..44007dcf93b 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:-${CC_PACKAGE:-gcc}}"
CC is set in .github/workflows/main.yaml for the ubuntu and macos jobs
so I think they will not fallback to using CC_PACKAGE and therefore not
pick up the correct compiler.
Best Wishes
Phillip
DONT_SKIP_TAGS=t
cache_dir="$HOME/none"