Skip to content

Ci: fix issue-to-PR inside the container - #173

Merged
JumpLink merged 1 commit into
mainfrom
fix/issue-to-pr-container-paths
Aug 24, 2026
Merged

Ci: fix issue-to-PR inside the container#173
JumpLink merged 1 commit into
mainfrom
fix/issue-to-pr-container-paths

Conversation

@JumpLink

Copy link
Copy Markdown
Owner

Follow-up to #172. The first dispatch of the repaired workflow failed on both open submissions with node: command not found.

JS actions (actions/github-script) run on the runner's own node mounted into the container, but a run: step only sees what the image ships — and fedora:43 ships none. The render step sat ahead of actions/setup-node. Moved setup-node in front of it; it still runs before the dependency install, so an unusable submission fails in seconds rather than after a full install.

Two more container defects found alongside it:

  • runner.temp is the host path. In a container job the expression yields /home/runner/work/_temp while $RUNNER_TEMP yields the mounted /__w/_temp. EXAMPLE_ERROR_FILE therefore pointed at a directory that does not exist inside the container, so the rejection reason could never be read back. Use the env var on both the writing and the reading side.
  • The failure comment blamed the contributor for every failure. Only the renderer writes a reason file, and only for input it rejected; anything else is the automation's problem. The failed dispatch posted "This submission could not be turned into a pull request" on two perfectly valid examples. It now distinguishes the two cases and says explicitly when nothing is wrong with the submission. (Those two comments have been deleted.)

Also: claim the work tree with safe.directory once after checkout rather than only in front of git commit, and emit displayMemory pre-wrapped so the rendered meta.ts is already canonical and gjsify format has nothing to rewrite — verified with gjsify format --check against both open submissions.

https://claude.ai/code/session_01FrdNDUY1rJWBJsDU1KAwKj

First dispatch of the repaired workflow failed on both open submissions:
`node: command not found`. JS actions run on the runner's own node mounted into
the container, but a `run:` step only sees what the image ships, and fedora:43
ships none — the render step sat ahead of actions/setup-node. Move setup-node in
front of it; it still runs before the dependency install, so a bad submission
fails in seconds.

Two more container defects found with it:

- `runner.temp` yields the HOST path in a container job while $RUNNER_TEMP
  yields the mounted one, so EXAMPLE_ERROR_FILE pointed nowhere. Use the env var
  on both the writing and the reading side.
- The failure comment blamed the submission for any failure. When the renderer
  wrote no reason the fault is the automation's, and telling contributors to fix
  their example sends them after a bug that is not theirs — which is exactly
  what the failed dispatch did. Say which of the two it was.

Also claim the work tree once after checkout instead of before `git commit`
only, and emit displayMemory pre-wrapped so the rendered meta.ts is already
canonical and `gjsify format` has nothing to rewrite.

Claude-Session: https://claude.ai/code/session_01FrdNDUY1rJWBJsDU1KAwKj
@JumpLink
JumpLink merged commit 91fcbba into main Aug 24, 2026
3 checks passed
@JumpLink
JumpLink deleted the fix/issue-to-pr-container-paths branch August 24, 2026 08:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant