fix(cli): swap libdbus-backed keyring for pure-Rust zbus#3326
Merged
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #3326 +/- ##
=============================================
- Coverage 73.57% 49.16% -24.41%
Complexity 943 943
=============================================
Files 1241 1239 -2
Lines 115147 99929 -15218
Branches 91633 76444 -15189
=============================================
- Hits 84719 49133 -35586
- Misses 27580 48219 +20639
+ Partials 2848 2577 -271
🚀 New features to boost your workflow:
|
libdbus-sys vendored build fails on FreeBSD with "Unsupported platform" (diwic/dbus-rs#497, upstream declined to fix), blocking iggy-cli on every Tier-2 target that lacks libdbus-1. Replace dbus-secret-service-keyring-store with zbus-secret-service-keyring-store on Linux. Both crates target the same org.freedesktop.Secret D-Bus service, so existing gnome-keyring / KWallet / KeePassXC entries round-trip unchanged. zbus is pure Rust: no libdbus-sys, no libdbus-1 system package, no vendored C build, no unsafe FFI on the keyring path. Picks the `rt-async-io-crypto-rust` feature, NOT `rt-tokio-*`: under the tokio feature, zbus::block_on constructs a fresh multi-thread runtime and blocks onq it, which panics when invoked from inside the CLI's block_on runs on a parker thread and is safe from any async context. Drops the aarch64-musl `CFLAGS=-mno-outline-atomics` linker hack from CI; it only existed for the libdbus C build.
This was referenced May 28, 2026
hubcio
added a commit
that referenced
this pull request
May 28, 2026
PR #3326 C++ e2e failed with ENOSPC writing runner log, cascading to C++ build/test cancellation and finalize_pr failure. Only Rust pre-merge and two workflows had inline cleanup (~14GB freed); cpp, csharp, java, node, go, python, php had none. Wrap jlumbroso/free-disk-space@v1.3.1 (SHA-pinned, already used by apache/infrastructure-actions and rust-lang/rust) in a shared composite. Frees ~30GB by also wiping Haskell, large APT packages, Docker images, and swap. Replace inline cleanups; invoke from every SDK pre-merge, gated to skip fast lint tasks where the ~90s apt removals dominate runtime.
hubcio
added a commit
that referenced
this pull request
May 28, 2026
PR #3326 C++ e2e failed with ENOSPC writing runner log, cascading to C++ build/test cancellation and finalize_pr failure. Only Rust pre-merge and two workflows had inline cleanup (~14GB freed); cpp, csharp, java, node, go, python, php had none. Wrap jlumbroso/free-disk-space@v1.3.1 (SHA-pinned, already used by apache/infrastructure-actions and rust-lang/rust) in a shared composite. Frees ~30GB by also wiping Haskell, large APT packages, Docker images, and swap. Replace inline cleanups; invoke from every SDK pre-merge, gated to skip fast lint tasks where the ~90s apt removals dominate runtime.
krishvishal
approved these changes
May 28, 2026
spetz
approved these changes
May 28, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
libdbus-sys vendored build fails on FreeBSD with
"Unsupported platform" (diwic/dbus-rs#497, upstream
not fixed for more than 1 year), blocking iggy-cli on every Tier-2
target that lacks libdbus-1.
Replace dbus-secret-service-keyring-store with
zbus-secret-service-keyring-store on Linux. Both crates
target the same org.freedesktop.Secret D-Bus service,
so existing gnome-keyring / KWallet / KeePassXC entries
round-trip unchanged. zbus is pure Rust: no libdbus-sys,
no libdbus-1 system package, no vendored C build, no
unsafe FFI on the keyring path.
Picks the
rt-async-io-crypto-rustfeature, NOTrt-tokio-*: under the tokio feature, zbus::block_onconstructs a fresh multi-thread runtime and blocks on
it, which panics when invoked from inside the CLI's
block_on runs on a parker thread and is safe from any
async context.
Drops the aarch64-musl
CFLAGS=-mno-outline-atomicslinker hack from CI; it only existed for the libdbus
C build.
This closes #1710.