fix(ci): pin ephemeral-server-smoke to a fixed honua-server digest + seed revision - #228
Open
mikemcdougall wants to merge 1 commit into
Open
fix(ci): pin ephemeral-server-smoke to a fixed honua-server digest + seed revision#228mikemcdougall wants to merge 1 commit into
mikemcdougall wants to merge 1 commit into
Conversation
…seed revision The gp-eval live smoke job defaulted to the moving `nightly-aot` tag and checked out the honua-server seed fixtures with no `ref:` (default-branch HEAD at run time), so a commit's verdict here depended on whatever honua-server merged that day and could flip red/green across re-runs with no change in this repo. Pin both halves as one identity, reusing the already-reviewed baseline conformance.yml pins (honua-server@sha256:78e3088... / f897700...) instead of promoting a second independently-moving baseline. Confirmed live: today's nightly-aot (sha256:cd12f3c...) actually 500s against the static seed SQL -- honua-server added a migration-owned-table journal guard (df25cba60, 2026-09-02) the seed does not satisfy -- while the pinned 2026-08-19 baseline starts cleanly and the full eval suite passes 50/50 against it (docs/golden-eval.md walks the exact repro). Closes #201
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
mikemcdougall
had a problem deploying
to
staging
September 10, 2026 21:21 — with
GitHub Actions
Failure
|
You have reached your Codex usage limits for security reviews. Please try again later. |
This was referenced Sep 10, 2026
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.
Problem
ephemeral-server-smoke(.github/workflows/honua-gp-eval.yml) defaulted to the movingghcr.io/honua-io/honua-server:nightly-aottag and checked out the honua-server seed fixtures with noref:(default-branch HEAD at run time). A commit's verdict on this blocking lane therefore depended on whatever honua-server merged that day, and could flip red/green across re-runs with no change in this repo — the same class of problem as honua-sdk-dotnet#300.Fix
Pin both halves of the target as one identity:
HONUA_LOCAL_SERVER_IMAGEnow defaults to an immutable digest, and the honua-server seed checkout pins itsref:toHONUA_GP_EVAL_SEED_REVISION— the exact source revision that built that image. Rather than promoting a fresh, independently-moving baseline, this reuses the same already-reviewed pinconformance.ymluses for the Python SDK conformance lane (sha256:78e3088.../f897700...), so the two live-server lanes in this repo share one vetted baseline instead of drifting apart.This is not a placeholder choice — I reproduced the actual failure mode live:
nightly-aot(2026-09-10,sha256:cd12f3c...) and standing up the client-compat stack against it 500s: honua-server merged a migration-owned-table journal guard (PostgresCoreSchemaGuard.VerifyExclusiveMigrationConsistency,df25cba60, 2026-09-02) thattests/seed/client-compat-v1.sqldoes not satisfy (it createsmetadata_v2_snapshots/metadata_v2_currentdirectly without aschema_versionsjournal row), so the server never reaches/healthz/ready.f897700...) starts cleanly,/healthz/readypasses, the SpatialJoin second layer resolves, and the fullhonua-gpeval suite passes 50/50 against it in live mode (HONUA_GP_EVAL_USE_STUB=0).workflow_dispatchinputs (server_image/seed_ref) and theHONUA_LOCAL_SERVER_IMAGE/HONUA_GP_EVAL_SEED_REVISIONrepo variables still allow a one-off run against a different build; push/pull_request evidence always uses the pinned pair. The promotion path (resolve digest + revision, verify the seed round-trips against it, update both in a reviewed PR) is documented inline in the workflow.Acceptance criteria (from #201)
ephemeral-server-smokemay consume a moving upstream while blocking a commit — no, it is now pinned.honua-gp-eval.ymlenv block) with a documented promotion path.Test plan
nightly-aotfailure against the pinned seed (schema-floor guard mismatch).docker/client-compatstack locally exactly as the CI job does and confirmed/healthz/ready+ the SpatialJoin second-layer check pass.packages/honua-gp/eval/run_eval.pyin live mode (HONUA_GP_EVAL_USE_STUB=0) against the pinned stack:50/50 passed (100%); supported 25/25 (100%).python3 -c "import yaml; yaml.safe_load(...)"on the edited workflow file.Closes #201