Repository navigation
ci: gate SPA callback safety tests - #131
Merged
Merged
Conversation
✅ Deploy Preview for luminous-fox-7c393f ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
6 tasks done
Contributor
Author
|
EXACT-HEAD REVIEW / HOSTED EVIDENCE —
No review or pull-request check blocker remains. Exact post-merge named-step evidence is still required before #126 closes. |
4 of 6 tasks
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.
Closes #126.
Outcome
Add
Run SPA callback safety testsas a separate named, blocking step in the hosted frontend CI job. It runs the mergednpm run test:spa-navigationcommand after the lockfile install/frontend Jest suite and before lint/build.Officer impact: Officers gain separate hosted proof that the tested GitHub Pages callback bridge preserves safe route state and rejects unsafe targets. No officer action, member-facing behavior, data, payment, or public content changes.
Officer documentation: None — this is an engineering-only hosted test gate. The existing officer guides already distinguish tests, merge, website publication, Firebase deployment, and providers; the plain-language callback behavior belongs to #99.
Deployment evidence: PR head
e14d7eb8cb25e8046498e4cc9f096bc109f66a7dpassed run29235883679and merged ase86a0f702cff6495f50630c5de3337290db8b8cb. Post-merge run29236092444passed the named SPA step 10/10, frontend Jest 47/47, build, Functions, and Rules. Deploy run29236092446rebuilt a byte-identical Pages artifact and made no commit. Netlify deploy6a54a3c93db9d300082e1f5fis ready for the exact merge commit and matchesrunmprc.comHTTP-200 content. Firebase explicitly skipped becauseFIREBASE_SERVICE_ACCOUNTis absent; no callback provider was configured or rehearsed.Invariant and failure behavior
|| true,continue-on-error, retry masking, snapshot rewrite, or production network path is added.Verification
npm ci --legacy-peer-deps— passed.npm run test:spa-navigationexit 1 with 9/10 passing; after restoration, the command passes 10/10 and the test file has no diff.CI=true npm test -- --watchAll=false --runInBand— 4 suites, 47/47 tests passed.CI=true DISABLE_ESLINT_PLUGIN=true react-scripts build— compiled successfully.continue-on-error.git diff --check— passed.Scope and residual risk
.github/workflows/ci.yml,OPERATIONS_RUNBOOK.md, andSECURITY.md.Review and release
e14d7eb8cb25e8046498e4cc9f096bc109f66a7dwith no blockers. They independently checked workflow ordering/fail-closed behavior, production isolation, documentation truth, and officer impact.29235883679passedRun SPA callback safety testswith 10/10, frontend Jest 47/47, build, Functions, and Rules; Netlify preview ci: gate SPA callback safety tests #131 is ready.29236092444passedRun SPA callback safety tests10/10, frontend Jest 47/47, build, Functions, and Rules.