Skip to content

fix(release): untrack tsconfig.tsbuildinfo (fixes PyPI 400 dirty version) - #8

Merged
jia-xie merged 1 commit into
mainfrom
fix/untrack-tsbuildinfo
Jun 16, 2026
Merged

fix(release): untrack tsconfig.tsbuildinfo (fixes PyPI 400 dirty version)#8
jia-xie merged 1 commit into
mainfrom
fix/untrack-tsbuildinfo

Conversation

@jia-xie

@jia-xie jia-xie commented Jun 16, 2026

Copy link
Copy Markdown
Owner

Root cause (diagnosed on the runner, not guessed)

The v1.0.7b2/b3 PyPI publishes failed with HTTP 400. A throwaway Linux CI job revealed:

git describe: v1.0.7b3-0-g60bb17b-dirty
diff --git a/damiao_motor/gui/webapp/tsconfig.tsbuildinfo b/...tsconfig.tsbuildinfo

tsconfig.tsbuildinfo (TypeScript incremental-build cache) was committed, and tsc -b
regenerates it on every build. On Linux it produces different bytes than the committed
copy → that tracked file is modified → setuptools_scm marks the tree dirty → emits a
dev/local version (1.0.7bN.dev0+g….d) → PyPI rejects the +local segment.

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
  • gitignore *.tsbuildinfo

Build caches should never be tracked. With it untracked, tsc regenerating it no longer
dirties the tree → clean tag version → PyPI accepts.

Follow-up: cut v1.0.7b2 (free on PyPI — nothing published) after a local dry-run confirms
a clean wheel.

🤖 Generated with Claude Code

…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>
@jia-xie
jia-xie merged commit 3c6773a into main Jun 16, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant