fix(ci): pin prettier in the schema-types drift gate (unbreaks main)#70
Merged
Conversation
The drift gate installed json-schema-to-typescript@^15 with --no-package-lock. jstt formats its output with prettier (dependency range "^3.2.5"), so the unpinned install silently adopted prettier 3.9.0 (published 2026-06-27 10:26 UTC), which collapses short union types onto a single line. That reformatted the generated types with no schema change, failing the gate on main for the #54 and #55 dependabot merges (the last green run, #53 on 06-25, predated the prettier release). The committed tests/types/eep-schemas.d.ts was unchanged throughout — the toolchain moved under it. Pin json-schema-to-typescript@15.0.4 and prettier@3.9.0 exactly in the gate, document the pins in scripts/codegen-schema-types.mjs, and regenerate tests/types/eep-schemas.d.ts against them so CI and the committed file agree deterministically. Signed-off-by: Ugur Cekmez <ucekmez@gmail.com> Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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.
Fixes
main(red after #54/#55 merges)The Schema types drift gate is failing on
main, but PR #55 isinnocent — it only bumped a dependabot lockfile in
@eep-dev/discovery.Root cause
The gate installs
json-schema-to-typescript@^15with--no-package-lock.jstt formats its generated output with prettier (
"prettier": "^3.2.5"),so the unpinned install silently picks up new prettier releases:
union types onto one line.
tests/types/eep-schemas.d.tsreformatted → drift, with no schema change.(Reproduced locally by installing prettier 3.9.0; 3.8.x produces the committed
formatting.)
Fix
json-schema-to-typescript@15.0.4andprettier@3.9.0exactly in thedrift-gate install step (a determinism gate must not depend on a floating
formatter), and document the pins in
scripts/codegen-schema-types.mjs.tests/types/eep-schemas.d.tsagainst the pinned versions soCI and the committed file agree. The only delta is prettier's union-wrapping.
After this lands, re-running the gate on
mainis green. Future prettierreleases require an intentional bump here + regenerate, instead of breaking
every PR. (A committed lockfile for the codegen toolchain would be the fuller
hardening — fits the supply-chain CI work in the audit's Wave 4.)
🤖 Generated with Claude Code