neiam
/markprompter
public · Issues · Pulls · Labels · Forks · Compare · Actions failure · Badges · Packages
⭐
Log in to mark this repository.
ci: build the packaging tools with stable, not the pinned toolchain
1c38f56 · Gabriel Morell · 2026-09-14 05:29
Message
{commit_body(@commit)}
Files changed
modified
.github/workflows/rust-ci.yml
+17
−12
@@ -78,19 +78,24 @@ jobs:
| 78 | 78 | - name: Strip binary |
| 79 | 79 | run: strip target/release/markprompter |
| 80 | 80 | |
| 81 | − # `--locked` uses each tool's own published Cargo.lock instead of | |
| 82 | − # resolving its dependencies fresh. Without it, `cargo install` | |
| 83 | − # picks whatever a transitive dependency published this week, and | |
| 84 | − # a crate that raised its MSRV breaks the install against this | |
| 85 | − # project's pinned toolchain — a failure with nothing to do with | |
| 86 | − # either this repository or the tool's own release. | |
| 81 | + # Built with `stable`, not with this project's pinned toolchain. | |
| 87 | 82 | # |
| 88 | − # It also means two runs a month apart install the same bytes. | |
| 89 | − - name: Install cargo-deb | |
| 90 | − run: cargo install cargo-deb --locked | |
| 91 | − | |
| 92 | − - name: Install cargo-generate-rpm | |
| 93 | − run: cargo install cargo-generate-rpm --locked | |
| 83 | + # cargo-deb 3.8.0 uses let-chains, which need rustc 1.88 — and it | |
| 84 | + # declares `rust-version = 1.85`, so the MSRV field can't be | |
| 85 | + # trusted to tell you that. Pinning the tool backwards doesn't | |
| 86 | + # help either: 3.7.0 fails on 1.86 the same way. | |
| 87 | + # | |
| 88 | + # The pin exists to say what this crate compiles with. These are | |
| 89 | + # build-time utilities that never link into the binary, so | |
| 90 | + # constraining them by the project's MSRV buys nothing and breaks | |
| 91 | + # every time the ecosystem moves. `--locked` keeps two runs a | |
| 92 | + # month apart installing the same bytes. | |
| 93 | + - name: Install the packaging tools | |
| 94 | + run: | | |
| 95 | + set -euo pipefail | |
| 96 | + rustup toolchain install stable --profile minimal | |
| 97 | + cargo +stable install cargo-deb --locked | |
| 98 | + cargo +stable install cargo-generate-rpm --locked | |
| 94 | 99 | |
| 95 | 100 | # Every CI build has to carry a distinct version, or the second |
| 96 | 101 | # one publishes the same filename with different bytes and the |
Parents: 68b87d1