From 92fab10965237ffcff41854c24df61bee010a4e6 Mon Sep 17 00:00:00 2001 From: default <216188+jdx@users.noreply.github.com> Date: Tue, 4 Aug 2026 22:13:36 +0000 Subject: [PATCH] fix(deps): re-pin decmpfs to 0.1.0 so musl targets build MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit #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 --- .github/workflows/ffi.yml | 4 ++++ .github/workflows/node-addon.yml | 4 ++++ Cargo.lock | 4 ++-- Cargo.toml | 2 +- 4 files changed, 11 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ffi.yml b/.github/workflows/ffi.yml index 9a5550aa8..e8f563767 100644 --- a/.github/workflows/ffi.yml +++ b/.github/workflows/ffi.yml @@ -14,6 +14,8 @@ on: - "crates/aube/src/commands/install/frozen.rs" - "crates/aube-util/src/identity.rs" - "crates/aube-util/src/lib.rs" + - "Cargo.toml" + - "Cargo.lock" - ".github/workflows/ffi.yml" push: branches: [main] @@ -29,6 +31,8 @@ on: - "crates/aube/src/commands/install/frozen.rs" - "crates/aube-util/src/identity.rs" - "crates/aube-util/src/lib.rs" + - "Cargo.toml" + - "Cargo.lock" - ".github/workflows/ffi.yml" release: types: [published] diff --git a/.github/workflows/node-addon.yml b/.github/workflows/node-addon.yml index a4155b9c0..ccd521c0a 100644 --- a/.github/workflows/node-addon.yml +++ b/.github/workflows/node-addon.yml @@ -16,6 +16,8 @@ on: - "crates/aube/src/commands/install/frozen.rs" - "crates/aube-util/src/identity.rs" - "crates/aube-util/src/lib.rs" + - "Cargo.toml" + - "Cargo.lock" - ".github/workflows/node-addon.yml" push: branches: [main] @@ -33,6 +35,8 @@ on: - "crates/aube/src/commands/install/frozen.rs" - "crates/aube-util/src/identity.rs" - "crates/aube-util/src/lib.rs" + - "Cargo.toml" + - "Cargo.lock" - ".github/workflows/node-addon.yml" release: types: [published] diff --git a/Cargo.lock b/Cargo.lock index c12d94ec1..f8daeb8c0 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1393,9 +1393,9 @@ checksum = "092966b41edc516079bdf31ec78a2e0588d1d0c08f78b91d8307215928642b2b" [[package]] name = "decmpfs" -version = "0.1.2" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a32fcc951ae53a24a3138b63f54bbb7a9b27e1da6d1578144e397732dd2c530c" +checksum = "651715809b4119e14ba1ba88650756d8a7012686473a32ec14c0e602e90fc47f" dependencies = [ "libc", "sha2 0.10.9", diff --git a/Cargo.toml b/Cargo.toml index 591889c42..976e336bc 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -104,7 +104,7 @@ reflink-copy = "0.1" # `libc::c_ulong`, which is `libc::Ioctl` on glibc but `c_int` on musl, so it # fails to compile for *-unknown-linux-musl. Unpin once # https://github.com/SocketDev/decmpfs releases a fix. -decmpfs = { version = "=0.1.2", features = ["addon"] } +decmpfs = { version = "=0.1.0", features = ["addon"] } glob = "0.3" # BurntSushi's gitignore matcher (from ripgrep). Used by `aube pack` / # `aube publish` to honor `.npmignore` / `.gitignore` with full