Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
ci: pipelines overhaul and optimization (lambdaclass#1002)
* ci: massive overhaul of QA pipelines This is a big changeset aimed at increasing pipelines throughput so PRs don't get stuck too long in the queue. The major changes are: - Compilation of Cairo programs happen in separate jobs, one per benchmark, test, and proof mode categories. The results get saved to a cache. - Compilation of release binary happens in a separate job. - A new smoke test that build-tests all configurations has its own job too. - Linters (`clippy` and `cargo fmt`) run in a separate job. - Unit tests run in parallel for configurations with `std`, without it and for `wasm32`. - `std` and `no_std` tests also store their coverage results in a cache for later use. - Execution of reference runs with `cairo-lang` happens in different jobs, one with and one without proof mode. - Execution of the same for the release binary have their own job each. - Comparison of results happen in a different job as well. - Coverage gets uploaded from a different job, this is mainly aimed at covering (heh) for Codecov temporary failures. - The toolchain is bumped to 1.69.0 mostly so we can use sparse indexes when fetching dependencies. Minor fixes: - The `rust-toolchain` file got deleted. It caused confusing errors and extra work in the pipelines due to conflicting versions, and wasn't really adding anything of value. - Many `clippy` and `actionlint` warnings got fixed. Most notoriously, some deprecated methods for `Felt252` got undeprecated: we're not working in their replacement anytime soon, so let's just not annoy ourselves for no gain. * Fix timestamps
- Loading branch information