Skip to content

Fix release config editing and static-site CLI dependencies#29

Merged
zcourts merged 2 commits into
mainfrom
post-build-lifecycle
May 22, 2026
Merged

Fix release config editing and static-site CLI dependencies#29
zcourts merged 2 commits into
mainfrom
post-build-lifecycle

Conversation

@zcourts
Copy link
Copy Markdown
Contributor

@zcourts zcourts commented May 22, 2026

Summary

This PR tightens the post-build lifecycle CLI in two places:

  • Preserves existing fission.toml comments and formatting when release commands update project metadata.
  • Removes the DBus Secret Service dependency from the default Linux fission-cli dependency graph so static-site publishing does not need libdbus-1-dev just to run fission site check or package the documentation site.

Details

Release metadata editing

Release setup, signing import, and store metadata import commands now use toml_edit for in-place TOML updates instead of parsing through toml::Value and rewriting the whole manifest. This keeps hand-written project metadata readable and avoids destroying comments or existing layout in fission.toml.

Touched paths include:

  • crates/tools/fission-cli/src/release.rs
  • crates/tools/fission-cli/src/release/signing_ops.rs
  • crates/tools/fission-cli/src/release/store_ops.rs
  • crates/tools/fission-cli/src/release/microsoft_store_ops.rs

Static-site CI dependency cleanup

The GitHub Pages workflow failed because the CLI pulled libdbus-sys through this chain:

fission-cli -> keyring -> dbus-secret-service -> dbus -> libdbus-sys

That was caused by enabling the persistent Linux Secret Service backend on keyring. Static-site generation does not need DBus, and the CLI should not force DBus development headers into unrelated workflows.

The CLI now disables default keyring features and enables the Linux keyutils backend instead:

keyring = { default-features = false, features = ["apple-native", "windows-native", "linux-native", "crypto-rust"] }

Verification

  • cargo tree -p fission-cli --target x86_64-unknown-linux-gnu -i libdbus-sys --locked prints no dependency path.
  • cargo tree -p fission-cli --target x86_64-unknown-linux-gnu --locked | rg -i "dbus|secret-service|keyutils|keyring" only shows keyring and linux-keyutils.
  • cargo test -p fission-cli --locked passes.
  • cargo run -p fission-cli --bin fission -- site check --project-dir documentation --release passes.
  • cargo run -p fission-cli --bin fission -- package --project-dir documentation --target site --format static --release passes.

@zcourts zcourts merged commit 8ce21a9 into main May 22, 2026
1 of 4 checks passed
@zcourts zcourts deleted the post-build-lifecycle branch May 22, 2026 09:59
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.

1 participant