Check semver of all workspace crates rather than an explicit list
What changed, and why it matters
This commit updates an automated GitHub workflow that checks whether code changes break promised version compatibility. It replaces a manually maintained list of checks with a single tool command that scans all crates in the project. There is no change to the actual Lightning library code, user-facing behavior, or network security.
No security action required. Treat as ordinary CI hygiene.
Security signals we found
No strong security signals were identified.
Evidence from the diff
The change modifies .github/workflows/semver.yml. Previously the workflow ran cargo-semver-checks-action@v2 multiple times with hard-coded package names and feature combinations. The new workflow installs Rust stable, installs cargo-semver-checks directly, and runs two invocations: one with all features and one with only explicit features. This is a CI maintenance/refactoring change; it does not alter any source code, API, cryptographic logic, or runtime behavior.
Changed components
.github/workflows/semver.ymlInspect captured patch +10 / −37
diff --git a/.github/workflows/semver.yml b/.github/workflows/semver.yml
index 03a8e46..de10e56 100644
--- a/.github/workflows/semver.yml
+++ b/.github/workflows/semver.yml
@@ -13,40 +13,13 @@ jobs:
steps:
- name: Checkout source code
uses: actions/checkout@v4
- - name: Check SemVer with default features
- uses: obi1kenobi/cargo-semver-checks-action@v2
- with:
- feature-group: default-features
- - name: Check SemVer *without* default features
- uses: obi1kenobi/cargo-semver-checks-action@v2
- with:
- feature-group: only-explicit-features
- - name: Check lightning-background-processor SemVer
- uses: obi1kenobi/cargo-semver-checks-action@v2
- with:
- package: lightning-background-processor
- feature-group: only-explicit-features
- - name: Check lightning-block-sync SemVer
- uses: obi1kenobi/cargo-semver-checks-action@v2
- with:
- package: lightning-block-sync
- feature-group: only-explicit-features
- features: rpc-client,rest-client
- - name: Check lightning-transaction-sync electrum SemVer
- uses: obi1kenobi/cargo-semver-checks-action@v2
- with:
- manifest-path: lightning-transaction-sync/Cargo.toml
- feature-group: only-explicit-features
- features: electrum
- - name: Check lightning-transaction-sync esplora-blocking SemVer
- uses: obi1kenobi/cargo-semver-checks-action@v2
- with:
- manifest-path: lightning-transaction-sync/Cargo.toml
- feature-group: only-explicit-features
- features: esplora-blocking
- - name: Check lightning-transaction-sync esplora-async SemVer
- uses: obi1kenobi/cargo-semver-checks-action@v2
- with:
- manifest-path: lightning-transaction-sync/Cargo.toml
- feature-group: only-explicit-features
- features: esplora-async
+ - name: Install Rust stable toolchain
+ run: |
+ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile=minimal --default-toolchain stable
+ rustup override set stable
+ - name: Install SemVer Checker
+ run: cargo install cargo-semver-checks --locked
+ - name: Check SemVer with all features
+ run: cargo semver-checks
+ - name: Check SemVer without any non-default features
+ run: cargo semver-checks --only-explicit-features
Why this scored 15/100
Community notes
Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.
The AI analysis stands alone for now. Submit a note if you can add evidence or important context.