Skip to content

vinca-gha: disable git auto-maintenance before Setup pixi - #167

Merged
traversaro merged 1 commit into
RoboStack:masterfrom
Tobias-Fischer:fix/gha-pixi-git-maintenance
Oct 9, 2026
Merged

traversaro merged 1 commit into
RoboStack:masterfrom
Tobias-Fischer:fix/gha-pixi-git-maintenance

Conversation

@Tobias-Fischer

@Tobias-Fischer Tobias-Fischer commented Oct 8, 2026 •

Copy link
Copy Markdown
Contributor

pixi clones git dependencies (e.g. vinca itself) into its cache, which setup-pixi saves. git's background auto-maintenance can leave a lock file in such a clone, and every later run that restores the cache then fails in Setup pixi:

fatal: hardlink different from source at '.../.cache/rattler/cache/git-v0/checkouts/<id>/<rev>/.git/objects/info/commit-graphs/commit-graph-chain.lock'
× failed to build 'vinca' from 'git+https://github.com/tobias-fischer/vinca?rev=...'

This happened repeatedly on RoboStack/ros-jazzy's buildbranch_linux_aarch64. RoboStack/ros-jazzy#304 already turns maintenance off in build_unix.sh, but that runs after Setup pixi.

The generated workflows now get a Disable git auto-maintenance step (git config --global maintenance.auto false && git config --global gc.auto 0) right before Setup pixi, for Unix and Windows. It also covers the build script, so repositories can drop the line from their build_unix.sh / build_win.bat. Test updated.

🤖 Generated with Claude Code

Tobias-Fischer added a commit to RoboStack/robostack that referenced this pull request Oct 8, 2026
- vinca (RoboStack/vinca#167) and the monorepo workflows set maintenance.auto=false
  and gc.auto=0 via GIT_CONFIG_*: a lock file left by git maintenance in pixi's
  cached vinca clone broke ros-jazzy's linux-aarch64 build branch
- jazzy: exclude sick_safetyscanners2; the published sick_safetyscanners_base
  still requires Boost's system component (gone in Boost 1.89+), and jazzy never
  built it

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
pixi clones git dependencies into its cache, which setup-pixi saves. git's
background auto-maintenance can leave commit-graph-chain.lock in such a
clone; every later run restoring that cache then fails in "Setup pixi" with
"hardlink different from source at ...commit-graph-chain.lock" (seen on
RoboStack/ros-jazzy's linux-aarch64 build branch). A git config step before
Setup pixi also covers the build script.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@Tobias-Fischer
Tobias-Fischer force-pushed the fix/gha-pixi-git-maintenance branch from 041f916 to bfd4c49 Compare October 8, 2026 10:05
@Tobias-Fischer Tobias-Fischer changed the title vinca-gha: no git auto-maintenance while pixi sets up vinca-gha: disable git auto-maintenance before Setup pixi Oct 8, 2026
Tobias-Fischer added a commit to RoboStack/robostack that referenced this pull request Oct 8, 2026
One git config step before Setup pixi (here and, via RoboStack/vinca#167, in
the generated build workflows) covers pixi's cached git clones and the build
scripts, so the GIT_CONFIG_* environment and the lines in build_unix.sh /
build_win.bat go.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@Tobias-Fischer

Copy link
Copy Markdown
Contributor Author

@traversaro this is ready for review

Tobias-Fischer added a commit to RoboStack/ros-jazzy that referenced this pull request Oct 9, 2026
The linux-aarch64 build branch fails in Setup pixi (5 attempts so far):
git's background maintenance leaves commit-graph-chain.lock in pixi's cached
vinca clone, one job saves that into the pixi cache and the next one fails
restoring it. vinca now generates a git config step before Setup pixi
(RoboStack/vinca#167, cherry-picked onto the current pin).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@traversaro
traversaro merged commit d8fe2ad into RoboStack:master Oct 9, 2026
3 checks 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.

2 participants