fix(deps): re-pin decmpfs to 0.1.0 so musl targets build - #1233
Conversation
#1226 bumped the pin to `=0.1.2` — the exact version the comment directly above it warns about. 0.1.2's FICLONE reflink path types the ioctl request as `libc::c_ulong`, which is `libc::Ioctl` on glibc but `c_int` on musl, so `decmpfs` fails to compile for `*-unknown-linux-musl`: error[E0308]: mismatched types --> decmpfs-0.1.2/src/linux.rs:296:60 | libc::ioctl(dest_file.as_raw_fd(), FICLONE, src_file.as_raw_fd()) | ^^^^^^^ expected `i32`, found `u64` That breaks the `linux-x64-musl` and `linux-arm64-musl` jobs in both the ffi and node-addon workflows, which publish the musl npm packages — so the next release would ship without them. The bump landed green because neither workflow watched `Cargo.toml` or `Cargo.lock`: their path filters only cover crate sources, so a dependency-only change never ran the musl matrix. Both files are added to the pull_request and push filters, which is also what exercises the musl jobs on this PR. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
Warning Review limit reached
Next review available in: 18 minutes You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Central YAML (base), Organization UI (inherited) Review profile: CHILL Plan: Pro Plus Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (3)
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 |
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
Greptile SummaryRe-pins
Confidence Score: 5/5The PR appears safe to merge, with the dependency pin and workflow triggers aligned with the stated musl build repair. The lockfile matches the exact manifest pin, and dependency-only changes now reach unconditional FFI and Node-addon build matrices containing both musl targets; no actionable regression remains. Important Files Changed
Reviews (1): Last reviewed commit: "fix(deps): re-pin decmpfs to 0.1.0 so mu..." | Re-trigger Greptile |
Instruction counts
No instruction-count regression above 1%. Only instruction counts gate. Wall clock is shown for context — on identical hardware it moves 4-20% run to run. Measured by tak — instruction-counted CLI benchmarks, stored in this repository's git notes.
|
|
Verification is in — all four musl jobs pass on this PR (both targets × both workflows):
They only run here because this PR adds For the other side of the comparison, I dispatched
That also closes the one thing I had flagged as unproven in the description: AI-assisted — Tool: Claude Code; model: anthropic/claude-opus-5; version: unavailable. |
main's musl builds are broken. #1226 bumpeddecmpfsto=0.1.2— the exact version the comment directly above the pin warns about:The compile failure, from the
linux-x64-musljob:This takes out
linux-x64-muslandlinux-arm64-muslin both the ffi and node-addon workflows — the jobs that build the musl npm packages — so the next release would publish without them.Why it landed green
Neither workflow watched
Cargo.tomlorCargo.lock. Their path filters list crate sources only, so a dependency-only change can't trigger the musl matrix. #1226 touched nothing but the manifest and lockfile and was therefore never built for musl.I hit this on #1231, which happens to touch
crates/aube-codes/**and so does trigger both workflows — that PR's musl failures are inherited frommain, not caused by it.Changes
decmpfsto=0.1.0and downgrade the lockfile, restoring the state the comment describes. Still waiting on an upstream fix in https://github.com/SocketDev/decmpfs before it can move.Cargo.tomlandCargo.lockto thepull_requestandpushpath filters of both workflows, so dependency bumps run the musl matrix instead of skipping it. That's also what makes this PR's own musl jobs run — they're the proof the pin fixes it.Testing
cargo build,cargo clippy --all-targets -- -D warnings, andcargo test -p aube-store(110 tests) pass locally with the downgrade. I could not reproduce the musl compile locally —cargo check --target x86_64-unknown-linux-muslstops earlier onzstd-sysneedingmusl-gcc, which the CI runners install viamusl-tools. The musl jobs on this PR are the real verification; worth confirming they're green before merging.AI-assisted — Tool: Claude Code; model: anthropic/claude-opus-5; version: unavailable.
Note
Low Risk
Dependency downgrade to a known-good pin plus CI path-filter tweaks; no runtime logic changes.
Overview
Restores musl builds by downgrading the workspace
decmpfspin from=0.1.2back to=0.1.0(with matchingCargo.lock), aligning with the existing comment about0.1.2failing on*-unknown-linux-musldue to an FICLONE ioctl type mismatch.Updates ffi and node-addon GitHub Actions path filters so
pull_requestandpushruns also trigger when onlyCargo.tomlorCargo.lockchange, so future dependency bumps exercise the musl matrix instead of skipping CI.Reviewed by Cursor Bugbot for commit 92fab10. Bugbot is set up for automated code reviews on this repo. Configure here.