Skip to content

Commit 4553666

Browse files
hyperpolymathclaude
andcommitted
ci(coq-build): run coqorg/coq container as root to fix actions/checkout EACCES
coqorg/coq:8.18 defaults to the non-root `coq` user (UID 1000). actions/checkout's post-step writes save_state files to /__w/_temp/_runner_file_commands which is mounted from the runner host; the coq user lacks write permission there and the job dies with EACCES before `coq_makefile` runs (see #234 PR run). `--user root` makes the shared workspace paths writable while leaving the in-container build environment effectively unchanged (root inside the container maps to the runner host's runner user via the Actions sandbox). Without this fix the merge-oracle workflow itself can't run, defeating the hard-gate guarantee in [[feedback_proof_pr_build_oracle_is_only_truth]]. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent 372b352 commit 4553666

1 file changed

Lines changed: 8 additions & 0 deletions

File tree

.github/workflows/coq-build.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,14 @@ jobs:
4848
# `make` semantics — "what the maintainer's machine has".
4949
container:
5050
image: coqorg/coq:8.18
51+
# actions/checkout's post-step writes to /__w/_temp/_runner_file_commands
52+
# via Node fs.writeFileSync. The coqorg/coq image defaults to the
53+
# non-root `coq` user (UID 1000), but the runner mounts /__w as the
54+
# host runner user — EACCES until checkout's saveState. Running the
55+
# container as root keeps the workspace-shared paths writable while
56+
# leaving the in-container build untouched (root in container is
57+
# still mapped to the runner host's runner user, not host-root).
58+
options: --user root
5159

5260
steps:
5361
- name: Checkout repository

0 commit comments

Comments
 (0)