Repository navigation
feat: rename OpenAPI validation command for Backstage 1.54 (#147) - #171
Merged
Merged
Conversation
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.
Summary
Implements #147. Excludes prose, historical docs, aliases, substitutions, here-documents, symlinked paths, and the removed 1.53
openapi testcommand. Includes minor changeset; no manual version bump.Closes #147
Evidence
Before: disposable
scripts/check.sh:backstage-repo-tools repo schema openapi verify --strict;.github/workflows/check.ymlstep:yarn backstage-repo-tools repo schema openapi verify --strict.After: run
231b2979-fa80-4658-bb7a-2ccddad4747a, unrelated caller cwd, explicit-ttarget containing spaces: actual.shdiffverify→validate; CI YAML diffverify→validate;package.jsonscript changed;docs/history.shstayedverify.Dry-run: run
48682a4f-c2c2-4c30-9e1e-da3f3c3ea88cwith explicit-t --dry-run --allow-dirty; SHA256 of disposable package JSON and.shunchanged. No-op: run4c6dd686-982f-4484-9d4e-883ecd3a4207, 2.77s, hashes unchanged; real run 2.40s on same path.yarn format,yarn format:check,yarn lint,yarn test,yarn check:changed, package JSON/YAML fixtures, shell positive/negative/symlink tests, workflow validation passed.P1/P2 follow-up (
a4455d2): red hard-link fixture reproduced an outside-target content mutation; after fixnlink > 1skips linked.shfiles. Tests assert outside/inside content and inode unchanged, normal mode preserved, symlink skip, repeat-run idempotence;npm exec -- backstage-repo-tools ... verifyrewrites, alias-shadowed direct command stays untouched. Independent disposable explicit-ttarget with spaces: dry-run SHA unchanged; apply changed JSON, CI YAML and.sh, preserved docs/hard link/alias and outside SHA/inode. Focused tests, format, format:check, lint, full test, check:changed, workflow validation passed.validate_codemod_packageheuristic flags missingscripts/codemod.tsand npm/yarn scaffold mismatch despite the valid multi-step workflow and repository Yarn convention.Docs-only follow-up (
fd43666): package-local consumer commands useyarn dlx codemod@latest run … -t …for dry-run/apply, matching Yarn 4 and feat: Backstage 1.54.0 migration - add v1.54.0 migration recipe workflow #155 recipe usage; dry-run host-shell limitation retained.yarn format:check,yarn lint,yarn test,yarn check:changedpassed.Merge Danger
Door: two-way. Revert new codemod package and changeset if needed; migration does not run on merge.
Blast Radius: targeted consumer command invocations. The host shell step scans
.shonly under explicit target, skips symlinks, hard-linked.shfiles (nlink > 1), docs/dependencies, and runs only during apply. Hard-linked scripts require manual review/update of every link; we do not use an unproven Windows atomic replacement or fall back to in-place writes for linked files. Concurrent filesystem mutations are outside the guarantee of the link-count check. Registry invocation from an actual published package remains a post-publication #155 E2E gate; workflow completion alone must not substitute for checking file diffs.