fix(ci): untrack generated .pre-commit-config.yaml; unstick autopublish - #328
Conversation
The rainix devShell writes .pre-commit-config.yaml on entry (a nix-store
symlink). It was committed as a tracked symlink, so every devShell entry
rewrites it to a new store path and dirties the tree. autopublish's 'Tag and
push' then aborts its rebase ('cannot rebase: You have unstaged changes') and
falls into a Rust-only recovery (cargo generate-lockfile) that fails on this
soldeer-only repo (no Cargo.toml) — so publishes land but the post-publish
version bump never pushes. (rain.factory does not track this file and publishes
cleanly.)
- Untrack it + .gitignore it (the .git/info/exclude guard in the workflow only
hides UNTRACKED files, so it never covered this tracked symlink).
- Bump [package].version 0.1.7 -> 0.1.8: the last release published 0.1.7 but
its bump-to-next never landed, leaving foundry.toml == the published version.
The autopublish soldeer-gate requires the in-dev version to be AHEAD of what
is published, so this restores the invariant.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Run ID: 📒 Files selected for processing (3)
💤 Files with no reviewable changes (1)
WalkthroughRepository metadata was updated by expanding ignored development-shell artifacts and incrementing the package version from 0.1.7 to 0.1.8. ChangesRepository hygiene
Package version
Estimated code review effort: 1 (Trivial) | ~2 minutes 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Reviewed 199e3c5: untrack the generated .pre-commit-config.yaml nix-store symlink (+ .gitignore it) — the root cause of autopublish's Tag-and-push failure, since the workflow's .git/info/exclude guard only covers untracked files. Bumps foundry.toml 0.1.7→0.1.8 to restore the next-version invariant the failed bump left stuck. Config-only, no source change. All CI green (static, test, legal, CodeRabbit). Merging. |
Fixes rain.vats's autopublish, which publishes but then dies at
Tag and push, leaving the post-publish version bump unpushed (foundry.tomlstuck at the just-published version → the next release fails the next-version invariant).Root cause
.pre-commit-config.yamlis committed as a tracked symlink into/nix/store/…. The rainix devShell rewrites it on entry, so everynix develop(e.g.forge soldeer pushduring release) dirties the tree. autopublish'sTag and pushthen aborts its rebase ontoorigin/main(cannot rebase: You have unstaged changes) and falls into a Rust-only recovery (cargo generate-lockfile) that fails on this soldeer-only repo (noCargo.toml, cargo exits 101) — so publishes land but the post-publish version bump never pushes.The workflow tries to hide the file with
echo ".pre-commit-config.yaml" >> .git/info/exclude, but that only ignores untracked files — useless against a tracked symlink.rain.factorydoes not track this file and publishes cleanly.Changes
.pre-commit-config.yaml(git rm --cached) + add it to.gitignore— it is generated by the devShell and must not be committed.[package].version0.1.7 → 0.1.8 — the last release published 0.1.7 but its bump-to-next never landed (that is the bug above), sofoundry.toml== the published version. The autopublish soldeer-gate requires the in-dev version to be AHEAD of published, so this restores the invariant.A companion PR hardens rainix's
Tag and pushso soldeer-only repos never hit the Rust-only recovery path.Summary by CodeRabbit