chore(ci): test-gate release builds with clippy + cargo test#7
Open
orrinfrazier wants to merge 1 commit into
Open
chore(ci): test-gate release builds with clippy + cargo test#7orrinfrazier wants to merge 1 commit into
orrinfrazier wants to merge 1 commit into
Conversation
release.yml built release binaries via `cargo build --release --package cuprated` with no test or clippy step, so the exact release commit+toolchain was never test-gated (only `main` CI and a manual checklist covered it). Add Clippy + Test steps before Build in the release job, mirroring ci.yml: clippy component, Windows cmake (randomx-rs), monerod download, and CMD_CLIPPY/CMD_TEST + RUST_BACKTRACE/RUST_MIN_STACK env. Steps run per-OS in the matrix so each binary is gated on its own OS+toolchain, and a lint/test failure fails the job before any binary is built or uploaded. Resolves issues/S06-2-release-test-gate.md
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.
Closes #17
Summary
release.ymlbuilt release binaries with no test/clippy step — the exact release commit+toolchain was never test-gated (onlymainCI + the manualmisc/RELEASE_CHECKLIST.mdcovered it).buildjob before Build, mirroringci.yml, so a lint/test failure fails the job before any binary is produced or uploaded.Changes
Single file:
.github/workflows/release.ymlenv: addRUST_BACKTRACE,RUST_MIN_STACK,CMD_CLIPPY,CMD_TEST(copied verbatim fromci.yml).components: clippy.Install dependencies (Windows)(lukka/get-cmake, for randomx-rs) →Download monerod(./.github/actions/monerod-download, required by the test suite) →Clippy (fail on warnings)→Test.Why "add steps" over "require a prior CI run"
Release is
workflow_dispatchon an arbitraryinputs.committhat may never have had a CI run, and sincestablefloats, a prior run wouldn't validate the same toolchain. Gating in-job is the only approach that tests the exact release commit+toolchain — the issue's core complaint.Deliberately out of scope
Generate Archivesblock (not introduced here; this repo's CI does not run actionlint).Testing
actionlint .github/workflows/release.yml: no new findings vsorigin/main(the 6 ShellCheck warnings are pre-existing in the untouchedGenerate Archivesblock).refpreserved, toolchain unpinned, Build preserved).Resolves
issues/S06-2-release-test-gate.md