Repository navigation
Adopt template-rust-cli CI and build conventions - #3
Merged
Merged
Conversation
- Replace custom workflows with the template's pull_request, release and update_dependencies workflows - Remove justfile, .cargo config and the install-scripts submodule - Add lint configuration and release profile optimisations to Cargo.toml
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 ALSH-440.
Brings CI and the build setup in line with the template-rust-cli pattern.
Changes
main.yaml/pull-request.yamlwith the template'spull_request.yaml,release.yamlandupdate_dependencies.yaml. Release now auto-increments the version, builds linux amd64/arm64 (musl), macOS arm64 and windows amd64/arm64, and publishes a GitHub release.justremoved:justfiledeleted; CI invokescargodirectly..cargocustomisation removed:.cargo/config.toml(target-dir = "target/.cargo") and the.github/install-scriptssubmodule are gone.Cargo.toml: release profile optimisations (lto = "fat",codegen-units = 1,opt-level = 3,strip = true,panic = "abort"), the template's lint configuration, and package metadata.Code changes required by the new lint job
The template denies
clippy::pedantic+cargolints, so the existing code needed a few fixes (no behaviour change intended):unwrap()in path/duration parsing replaced with error propagation, checkedDurationsubtraction, documented casts, and ownership passed into the writer thread.Verification (local)
cargo clippy --all-targets --workspace -- -D warningspassescargo xfmt --checkpassescargo build --release+ smoke run ofprocmonpasses