fix(#6604): bind-mount gitlab-runner into custom executor container - #6639
Conversation
|
🤖 Finished Review · ✅ Success · Started 1:31 PM UTC · Completed 1:44 PM UTC Commit: Runtime: claude · Model: opus → claude-opus-4-6 · Effort: high · Cost: $2.63 |
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
|
Risk Assessment: low (1/5) DetailsSingle-file, 12-line additive shell script fix by a bot with no protected paths, no security-sensitive files, and minimal git churn; issue scope precisely matches PR scope. Consistent with prior assessment — no signals changed. Previous runRisk Assessment: low (1/5) DetailsSingle-file, 12-line additive shell script fix by a bot with no protected paths, no security-sensitive files, and minimal git churn; issue scope precisely matches PR scope. Consistent with prior assessment — no signals changed. Previous run (2)Risk Assessment: low (1/5) DetailsSingle-file, 12-line additive shell script fix by a bot with no protected paths, no security-sensitive files, and minimal git churn; issue scope precisely matches PR scope. |
|
Looks good to me Previous runLooks good to me Previous run (2)Looks good to me |
aa5d6b8 to
8d008a1
Compare
|
🤖 Finished Review · ✅ Success · Started 8:15 PM UTC · Completed 8:29 PM UTC Commit: Runtime: claude · Model: opus → claude-opus-4-6 · Effort: high · Cost: $3.17 |
The GitLab Runner custom executor routes all job stages — including upload_artifacts_on_success — into the Podman container via run.sh. The container is created from the job image, which does not include the gitlab-runner binary. When the upload_artifacts stage runs, it checks for `gitlab-runner --version`, fails to find it, and silently disables artifact upload. This causes downstream jobs (e.g. dispatch-mr-agents) to fail because they cannot find the artifacts. Add a read-only bind-mount of the host's /usr/local/bin/gitlab-runner binary into the container in prepare.sh, using the same conditional array pattern as the existing openshell mount. The mount is skipped if the binary is not present on the host. The host binary is glibc-linked (Fedora), which is compatible with the glibc-based fullsend-runner container image. Note: pre-commit could not fetch remote hook repos (HTTP 403 in sandbox). Ran shellcheck, trailing-whitespace, and end-of-file checks directly — all passed. Closes #6604
8d008a1 to
6db12dd
Compare
|
🤖 Finished Review · ✅ Success · Started 9:18 PM UTC · Completed 9:30 PM UTC Commit: Runtime: claude · Model: opus → claude-opus-4-6 · Effort: high · Cost: $2.63 |
|
🤖 Finished Retro · ✅ Success · Started 1:40 AM UTC · Completed 2:02 AM UTC Commit: Runtime: claude · Model: opus → claude-opus-4-6 · Effort: high · Cost: $5.70 |
Retro: PR #6639 — bind-mount gitlab-runner into custom executor containerOverall assessment: Well-functioning workflow. The pipeline from issue to merge worked correctly at every stage. The fix was small (12 lines, 1 file), correct, and followed existing code patterns. Timeline:
Agents repo: What went well:
Evidence for existing issues (not proposed as new issues):
Proposals filed
|
Summary
Bind-mounts the host's
gitlab-runnerbinary into the custom executor's Podman container so that GitLab Runner's artifact upload/download stages can find it. Without this, theupload_artifacts_on_successstage silently fails (prints "Missing gitlab-runner. Uploading artifacts is disabled."), causing downstream jobs likedispatch-mr-agentsto fail when they try to fetch artifacts.Related Issue
Changes
/usr/local/bin/gitlab-runnerinto the container inhack/gitlab-runner-vm/executor/prepare.shTesting
shellcheckpasses on the modified fileprepare_validation_test.shpasses — all path validation cases still work correctlyCloses #6604
Post-script verification
agent/6604-gitlab-runner-bind-mount)d0d567bb7f882f797898e1d478948a4d82bfd1d6..HEAD)