fix(release): untrack tsconfig.tsbuildinfo (fixes PyPI 400 dirty version) - #8
Merged
Conversation
…ulprit) Root cause of the failed b2/b3 PyPI publishes: tsconfig.tsbuildinfo (TypeScript's incremental build cache) was committed, and 'tsc -b' regenerates it on every build. On the Linux CI runner it produces different bytes than the committed copy -> that tracked file is modified -> setuptools_scm reports the tree dirty -> emits a dev/local version (1.0.7bN.dev0+g...d) -> PyPI rejects the '+local' segment (HTTP 400). (Clean on macOS only because the rebuild reproduced identical bytes there.) Untrack it and gitignore *.tsbuildinfo (build caches must never be committed). Confirmed on the runner via 'git describe': v1.0.7b3-0-g60bb17b-DIRTY, the lone diff being tsbuildinfo. 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.
Root cause (diagnosed on the runner, not guessed)
The
v1.0.7b2/b3PyPI publishes failed with HTTP 400. A throwaway Linux CI job revealed:tsconfig.tsbuildinfo(TypeScript incremental-build cache) was committed, andtsc -bregenerates it on every build. On Linux it produces different bytes than the committed
copy → that tracked file is modified →
setuptools_scmmarks the tree dirty → emits adev/local version (
1.0.7bN.dev0+g….d) → PyPI rejects the+localsegment.This was masked on macOS (the rebuild reproduced identical bytes) and survived the earlier
"don't commit
dist/" fix because it's a second stray build artifact.Fix
git rm --cached damiao_motor/gui/webapp/tsconfig.tsbuildinfo*.tsbuildinfoBuild caches should never be tracked. With it untracked,
tscregenerating it no longerdirties the tree → clean tag version → PyPI accepts.
Follow-up: cut
v1.0.7b2(free on PyPI — nothing published) after a local dry-run confirmsa clean wheel.
🤖 Generated with Claude Code