Reject non-terminal ephemeral runner exits#42
Merged
Conversation
There was a problem hiding this comment.
Pull request overview
This PR tightens the ephemeral GitHub Actions runner job driver so the provider job fails when run.sh --once exits cleanly while the matched GitHub workflow job is still non-terminal, and adds a regression test for the observed STG failure mode.
Changes:
- Detect and fail on clean runner exit when the matched GitHub job is still
in_progress(non-terminal), while preserving run/job IDs in the result/proof artifact. - Add a regression test covering “runner exits 0, GitHub job remains in_progress” and asserting proof includes workflow run/job IDs.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| cmd/github-actions-runner-job/main.go | Adds a failure path when the runner exits before the observed GitHub job becomes terminal. |
| cmd/github-actions-runner-job/main_test.go | Adds a regression test that simulates the STG symptom and validates proof retention of run/job IDs. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
run.sh --onceexits while the matched GitHub workflow job is still non-terminalin_progress, runner process exits cleanlySTG evidence
28454875323assignedprovider-targetto ephemeral runnerwfc-stg-ghp-linux-260629fabb6f-1509352a8137offlineandbusywhile the target job remainedin_progress28454768006was cancelled as non-recoverable acceptance evidenceVerification
GOWORK=off go test ./cmd/github-actions-runner-job ./internal -run 'EphemeralRunner|RunnerProvider|T915' -count=1GOWORK=off go test -race ./cmd/github-actions-runner-job -count=1GOWORK=off go test ./... -count=1GOWORK=off go build ./cmd/github-actions-runner-jobgit diff --check