Junio C Hamano <gitster@xxxxxxxxx> writes: > Junio C Hamano <gitster@xxxxxxxxx> writes: > >> Jeff King <peff@xxxxxxxx> writes: >> >>> On Fri, Mar 14, 2025 at 10:36:39AM -0700, Junio C Hamano wrote: >>> >>>> * ps/ci-meson-check-build-docs (2025-03-12) 1 commit >>>> - ci: perform build and smoke tests for Meson docs >>>> >>>> CI update. >>>> >>>> Will merge to 'next'. >>>> source: <20250312-b4-pks-ci-meson-docs-v1-1-5e7cf7ac959a@xxxxxx> >>> >>> I didn't dig into it, but I'd imagine this topic is the source of CI >>> failures on the "documentation" job like this: >>> >>> 2025-03-14T17:50:13.8749066Z + meson setup build-asciidoc -Ddocs=html,man -Ddocs_backend=asciidoc >>> 2025-03-14T17:50:13.8752287Z ci/test-documentation.sh: line 50: meson: command not found >>> 2025-03-14T17:50:13.8769502Z ##[error]Process completed with exit code 127. >>> >>> that I'm seeing in jch (and looks like you have a similar one in the >>> latest build of 'seen') >>> >>> -Peff >> >> Somebody more clueful than me about how the CI dependency set-up is >> supposed to happen should rewrite the proposed log message >> altogether. The install-dependencies script pretends as if two >> case..esac blocks are orthogonal (the former switches on $distro, >> the latter that we see in the patch switches on $jobname), but I >> somehow do not get the feeling that we can move Documentation job >> from ubuntu-latest to alpine-latest for example. > > Ping? Anybody wants to help explain how this part of CI works to > the commit log message? > Weird. From the looks of https://github.com/git/git/actions/runs/13867157977/job/38808418127, it seems like the '$distro' variable in 'ci/install-dependencies.sh' is not being correctly initialized. We can see this in the logs of the CI: CI setup via install-dependencies.sh + set -e + export TERM=dumb + export MAKEFLAGS= + test true = true + CI_TYPE=github-actions + CI_BRANCH=refs/heads/seen + CI_COMMIT=d5389e37e21d864f40f4167280db799ffe8983c2 + echo Linux + tr A-Z a-z + CI_OS_NAME=linux + test macos != linux + CI_REPO_SLUG=git/git + CI_JOB_ID=13867157977 + CC=gcc + DONT_SKIP_TAGS=t + cache_dir=/home/runner/none + GIT_TEST_OPTS=--github-workflow-markup + JOBS=10 + echo + tr : - + distro= ... So in 'ci/lib.sh' we set `distro=$(echo "$CI_JOB_IMAGE" | tr : -)`. So this means the distro is based on '$CI_JOB_IMAGE' env variable.