Skip to content

Lock cargo when cloning egglog-experimental - #1631

Merged
pavpanchekha merged 2 commits into
mainfrom
pr-1628
Jul 26, 2026
Merged

Lock cargo when cloning egglog-experimental#1631
pavpanchekha merged 2 commits into
mainfrom
pr-1628

Conversation

@pavpanchekha

Copy link
Copy Markdown
Contributor

This is a variant of #1628 as discussed in that PR.

oflatt and others added 2 commits July 25, 2026 01:31
`cargo install` ignores the checked-in Cargo.lock unless `--locked` is
passed, so every CI run re-resolved egglog-experimental's dependency tree
to the newest compatible versions. That recently broke the build: egglog's
`add_primitive` proc macro parses full Rust expressions and needs syn's
"full" feature, but only got it via feature-unification from clap_derive
(pulled in through egglog's `bin` feature). When clap_derive 4.6 moved to
syn 3.x, its "full" feature stopped applying to egglog's syn 2.x, and the
proc macro failed to compile ("enable syn's features=[\"full\"]").

Two changes for a reproducible install:
- `--locked` makes cargo honor egglog-experimental's committed, tested
  lockfile instead of re-resolving to latest.
- pin an exact `--rev` instead of floating `--branch main`, so the egglog
  version only changes when we deliberately bump the pin. (Bump this rev
  to pick up egglog updates.)

`--locked` is the part that fixes the break; the rev pin is good practice
for reproducibility.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@pavpanchekha
pavpanchekha merged commit 37c8e2e into main Jul 26, 2026
6 checks passed
@pavpanchekha
pavpanchekha deleted the pr-1628 branch July 26, 2026 04:47
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