git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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

From
Junio C Hamano <gitster@pobox.com>
Date
Apr 21, 2022, 19:08 UTC
Message-ID
<xmqqzgkegspg.fsf@gitster.g>
In-Reply-To
<patch-v2-1.1-92acf9420a9-20220421T174733Z-avarab@gmail.com>
Ævar Arnfjörð Bjarmason  <avarab@gmail.com> writes:
Show 7 quoted lines
> 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.
Thanks for diagnosing how things were broken.
Show 31 quoted lines
> On Thu, Apr 21 2022, Phillip Wood wrote:
>
>> 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.
> ...
> 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..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"

OK, so we favor CC_PACKAGE (from the matrix.vector.cc_package) if set, and then cc (again, from the matrix.vector.cc) if set, and then finally use "gcc" as a fallback. In the osx-gcc job, cc_package is set to gcc-9 while in the osx-clang, cc is gcc that confusingly calls for clang. That sounds like it would do the right thing for two macs.

For other jobs with different settings for cc and cc_package, does this have any effect? I do not think I saw any mention in the proposed log message.

		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

So, linux-gcc job used to use whichever "gcc" the platform gave us, but now it explicitly asks for gcc-8, which may or may not be different from what linux-gcc-default uses, and there is no other difference by this change. We may get a better test coverage (if the default gcc is not gcc-8) or no improvement (if the default is gcc-8), so it is a strict improvement worth recording as an intended side effect in the proposed log message to help future developers.

Other than that, looks good to me.
Previous: Junio C HamanoNext: Ævar Arnfjörð Bjarmason
Message 8 of 18 in “CI: select CC based on CC_PACKAGE (again)”
  1. CI: select CC based on CC_PACKAGE (again)Ævar Arnfjörð Bjarmason, Apr 21, 2022
  2. Phillip WoodApr 21, 2022
  3. CI: select CC based on CC_PACKAGE (again)Ævar Arnfjörð Bjarmason, Apr 21, 2022
  4. Carlo ArenasApr 21, 2022
  5. Junio C HamanoApr 21, 2022
  6. Carlo ArenasApr 21, 2022
  7. Junio C HamanoApr 21, 2022
  8. Junio C HamanoApr 21, 2022
  9. Ævar Arnfjörð BjarmasonApr 21, 2022
  10. Junio C HamanoApr 21, 2022
  11. Ævar Arnfjörð BjarmasonApr 21, 2022
  12. Junio C HamanoApr 21, 2022
  13. CI: select CC based on CC_PACKAGE (again)Ævar Arnfjörð Bjarmason, Apr 22, 2022
  14. Phillip WoodApr 22, 2022
  15. Ævar Arnfjörð BjarmasonApr 22, 2022
  16. Junio C HamanoApr 22, 2022
  17. Junio C HamanoApr 22, 2022
  18. Ævar Arnfjörð BjarmasonApr 22, 2022

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.