chore: modernize dependencies - #600
Draft
baszalmstra wants to merge 14 commits into
Draft
Conversation
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.
The dependency graph has accumulated several old or unmaintained crates, plus known vulnerabilities in both
Cargo.lockand the bundled LLVM setup action. Updating the lockfile alone was not enough: a few of the affected dependencies needed replacements or API migrations.This updates the Rust and npm dependencies, replaces the unmaintained pieces, and adds dependency audits to CI. The locked Rust graph goes from 543 packages to 297.
cargo auditgoes from 16 vulnerabilities to none, andnpm auditfor the LLVM action goes from three to none.The larger migrations are:
apple-codesigntoarwen-codesignfor ad-hoc Mach-O signingra_ap_salsaforktempdir,difference,paste,extendhash, andyansi-termto maintained alternativeslockfilecrate to a small local RAII lock@actions/*packagesI deliberately left the LLVM 14/inkwell/lld stack alone because that needs to move as one unit. The mdBook library also stays on 0.4 because 0.5 no longer exposes a library target. A few other major updates, such as
annotate-snippets, would require a disproportionate rewrite without fixing a current security issue.This PR is stacked on #599.
Testing
cargo fmt --all -- --checkRUSTFLAGS=-Dwarnings pixi run checkRUSTFLAGS=-Dwarnings pixi run clippypixi run testcargo auditandnpm auditactionlintand syntax checking of the bundled actionThe new macOS signing path was not exercised locally on Windows, so I am leaving this as a draft until the macOS CI jobs have run. Please check that part closely.