DevEx: runner-namespace preflight smoke — fix transient unknown-status false-red (+ adoption) #266

Open
devex wants to merge 1 commit from devex/runner-namespace-smoke-reliability into main
Member

Adopts the uncommitted runner-namespace preflight/probe scratch set onto a review branch (instead of leaving it as working-tree drift) and fixes one concrete reliability defect.

Defect (Redmine #32): Scripts/runner-namespace-smoke.py classified Forgejo run status "unknown" as a terminal failure, so one transient/unrecognized poll status failed the 15-minute preflight immediately instead of polling to timeout — false-red pages, eroded trust in the autoscaled-runner signal. Fix: "unknown" is pending until the existing timeout path; hard failures (failure/cancelled/skipped/blocked) stay terminal.

Verification (offline, no secrets):

  • New Scripts/tests/test_runner_namespace_smoke.py (stdlib unittest): reproduced before the fix — 2 failures ('unknown' unexpectedly found in TERMINAL_FAILURE); 6/6 pass after.
  • python3 -m py_compile on both scripts: clean. git diff --check: clean.
  • Commit f7dbf623 is SSH-signed with the tracked devex/kms identity (git log --show-signature reports a Good signature).

Also in this PR:

  • .gitignore: ignore __pycache__/ + *.py[cod] so running the smoke/tests keeps git status clean.
  • docs/windows-builds.md: pre-existing 2-line runbook pointer, carried along (was already in the working tree).

Notes for reviewers:

  • The adopted files cite "Redmine #1" as the credential-refresh issue, but #1 is a Grafana/KSE-0191 alert fix — operator routing link needs a separate correction (flagged in #32, deliberately out of scope here).
  • Dispatch PR #14 could not be located from this lane (different repo, no PR-list tool here); this change touches only key-store/key.store automation, so overlap is unlikely — please flag if otherwise.
  • No production, secret, spending, or merge action taken; review + merge decision is yours.
Adopts the uncommitted runner-namespace preflight/probe scratch set onto a review branch (instead of leaving it as working-tree drift) and fixes one concrete reliability defect. **Defect (Redmine #32):** `Scripts/runner-namespace-smoke.py` classified Forgejo run status `"unknown"` as a terminal failure, so one transient/unrecognized poll status failed the 15-minute preflight immediately instead of polling to timeout — false-red pages, eroded trust in the autoscaled-runner signal. Fix: `"unknown"` is pending until the existing timeout path; hard failures (`failure`/`cancelled`/`skipped`/`blocked`) stay terminal. **Verification (offline, no secrets):** - New `Scripts/tests/test_runner_namespace_smoke.py` (stdlib unittest): reproduced before the fix — 2 failures (`'unknown' unexpectedly found in TERMINAL_FAILURE`); 6/6 pass after. - `python3 -m py_compile` on both scripts: clean. `git diff --check`: clean. - Commit `f7dbf623` is SSH-signed with the tracked devex/kms identity (`git log --show-signature` reports a Good signature). **Also in this PR:** - `.gitignore`: ignore `__pycache__/` + `*.py[cod]` so running the smoke/tests keeps `git status` clean. - `docs/windows-builds.md`: pre-existing 2-line runbook pointer, carried along (was already in the working tree). **Notes for reviewers:** - The adopted files cite "Redmine #1" as the credential-refresh issue, but #1 is a Grafana/KSE-0191 alert fix — operator routing link needs a separate correction (flagged in #32, deliberately out of scope here). - Dispatch PR #14 could not be located from this lane (different repo, no PR-list tool here); this change touches only `key-store/key.store` automation, so overlap is unlikely — please flag if otherwise. - No production, secret, spending, or merge action taken; review + merge decision is yours.
devex: adopt runner-namespace preflight smoke and fix transient unknown-status false-red
Some checks failed
Build: Web / Build (Web) (pull_request) Failing after 49s
Build: Apple / Check (SwiftLint) (pull_request) Failing after 51s
Build: Apple / Build (visionOS) (pull_request) Has been skipped
Build: Apple / Build (iOS) (pull_request) Has been skipped
Build: Apple / Build (macOS) (pull_request) Has been skipped
Build: Linux / Build (Linux x86_64) (pull_request) Failing after 54s
Build: Linux / Build (keystore-forge x86_64) (pull_request) Has been skipped
f7dbf623d1
Adopts the uncommitted runner-namespace preflight/probe set (workflows,
Scripts/runner-namespace-smoke.py, runbook) onto a review branch instead of
leaving it as working-tree scratch, and fixes one concrete reliability
defect: TERMINAL_FAILURE contained "unknown", so a single transient or
unrecognized Forgejo poll status failed the 15-minute preflight immediately
instead of polling to timeout. "unknown" is now pending until timeout;
hard failures (failure/cancelled/skipped/blocked) stay terminal.

Adds Scripts/tests/test_runner_namespace_smoke.py (stdlib unittest, offline):
pins the classification contract and run-URL rendering. Reproduced before
the fix (2 failures: 'unknown' unexpectedly found in TERMINAL_FAILURE);
6/6 pass after. Also ignores __pycache__/*.pyc so running the smoke and its
tests keeps git status clean.

Refs Redmine #32. Follow-up: adopted files cite Redmine #1 as the
credential-refresh issue, but #1 is a Grafana/KSE-0191 alert fix; operator
routing link needs a separate correction.
Some checks failed
Build: Web / Build (Web) (pull_request) Failing after 49s
Build: Apple / Check (SwiftLint) (pull_request) Failing after 51s
Build: Apple / Build (visionOS) (pull_request) Has been skipped
Build: Apple / Build (iOS) (pull_request) Has been skipped
Build: Apple / Build (macOS) (pull_request) Has been skipped
Build: Linux / Build (Linux x86_64) (pull_request) Failing after 54s
Build: Linux / Build (keystore-forge x86_64) (pull_request) Has been skipped
This pull request has changes conflicting with the target branch.
  • .gitignore
  • docs/windows-builds.md
View command line instructions

Manual merge helper

Use this merge commit message when completing the merge manually.

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin devex/runner-namespace-smoke-reliability:devex/runner-namespace-smoke-reliability
git switch devex/runner-namespace-smoke-reliability
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
key-store/key.store!266
No description provided.