From 0d7723a4b015222c569998a79ab1d2d3bc54306f Mon Sep 17 00:00:00 2001 From: Michel Schanen Date: Thu, 24 Sep 2026 16:25:48 +0000 Subject: [PATCH] [CI] Restrict LTS coverage tracking to the checkout `--code-coverage=user` covers every non-Base package, so each of the ~45 parallel test workers writes a .cov file for every dependency source file (GPUCompiler, LLVM, GPUArrays, ...) into the CI depot on Lustre. That slows worker start-up and shutdown enough to trip Malt's hard-coded 30 s connect and 20 s exit timeouts, failing otherwise green runs (pipelines 65611 on 1.10 and 65820 on 1.13). None of those files are consumed: the lcov step only processes src/, lib/ and examples/. Track `@$CI_PROJECT_DIR` instead; Base.julia_cmd() forwards the tracked path to the workers. --- .gitlab-ci.yml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 6c514708..cf54dd92 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -141,8 +141,11 @@ stages: [build, test, coverage] # Base.julia_cmd(). # --code-coverage propagates to the parallel workers via Base.julia_cmd(), as the # cpu-target does (see ci.yml). Every LTS-gated branch is unreachable on the rolling - # stack, so this job is the only coverage signal for those paths. - - julia -C "$JULIA_JIT_TARGET" --code-coverage=user --color=yes --project=test test/runtests.jl --quickfail + # stack, so this job is the only coverage signal for those paths. Track only the + # checkout: `user` also covers every dependency, so each of the ~45 workers writes + # thousands of .cov files into the depot on flare, which stretches worker start-up + # and shutdown past Malt's fixed 30 s / 20 s timeouts and fails the run. + - julia -C "$JULIA_JIT_TARGET" --code-coverage=@$CI_PROJECT_DIR --color=yes --project=test test/runtests.jl --quickfail # Collapse the per-file .cov output into lcov.info for the upload job; directories # match the buildkite julia-coverage plugin's. - julia --color=yes --project=$JULIA_DEPOT_PATH/environments/coverage -e '