fix(ci): allowlist /content/topics* in srv-qa route-drift guard - #2108
Merged
Conversation
The tag-tree-topics feature (#2099) added GET /content/topics/:slug, GET /content/topics-index, and POST /content/publish/render-topics to srv/server.js. These are public prod content surfaces mirroring the /content/concepts* routes, not tutorial-draft author-preview endpoints, so they belong in ALLOWLIST_ONLY_ON_SRV (same rationale as concepts/ authors/advocates/puzzles) rather than being mirrored into srv-qa. Fixes the failing postbuild:apps route-drift guard in the unit CI job.
Merged
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
The
unitCI job fails at the Static build guards (postbuild:apps) step:The tag-tree-topics feature (#2099) added three
/content/topics*routes tosrv/server.js. The route-drift guard requires every/content/*route to be mirrored insrv-qa/server.jsor explicitly allowlisted.Fix
Topic landing pages are a public prod content surface — they mirror
/content/concepts*(topic-prefixed BLOBs, legacy-slug 301 resolution, publish-session rendering) — not tutorial-draft author preview. The QA channel serves in-flight tutorials from-Contributionrepos; topic pages are out of its scope and srv-qa wires no topic serve/publish flow.So the correct fix is to add the three routes to
ALLOWLIST_ONLY_ON_SRVwith justifications (same treatment as concepts/authors/advocates/puzzles), rather than pullingpublish-topics.js/topic-list-page.jsdeps into the srv-qa cp list for an unreachable surface.Verification
npm run postbuild:appspasses end-to-end locally: