We've recently introduced a set of reusable workflow files in our .github repository to standardize our CI/CD process for Rust projects. These new workflows use up-to-date, maintained actions and also introduce caching, leading to significant performance improvements in subsequent runs. This repo is a prime candidate to benefit from this new setup.
Possible solution design or implementation
To implement this, we'll need to replace our current workflow process with the new workflow format. This involves removing the current jobs and replacing them with calls to the reusable workflows. We need to carefully test and check that the new workflows actually execute as expected.
Additional context
Due to Rust being available by default on the target OS, a rust-toolchain file is enough to specify what Rust version/target is required for a given workflow.
To prevent conflicts with upstream, it is advisable to not let clippy warnings break the CI.
Summary
We've recently introduced a set of reusable workflow files in our .github repository to standardize our CI/CD process for Rust projects. These new workflows use up-to-date, maintained actions and also introduce caching, leading to significant performance improvements in subsequent runs. This repo is a prime candidate to benefit from this new setup.
Possible solution design or implementation
To implement this, we'll need to replace our current workflow process with the new workflow format. This involves removing the current jobs and replacing them with calls to the reusable workflows. We need to carefully test and check that the new workflows actually execute as expected.
Additional context
Due to Rust being available by default on the target OS, a
rust-toolchain
file is enough to specify what Rust version/target is required for a given workflow.To prevent conflicts with upstream, it is advisable to not let clippy warnings break the CI.