use-ink / ink-examples

A set of examples for ink! smart contract language. Happy hacking!
https://use.ink
The Unlicense
104 stars 54 forks source link

CI optimization #45

Closed sergejparity closed 1 year ago

sergejparity commented 1 year ago

This PR brings following optimizations to the CI:

  1. Caching GHA's Swatinem/rust-cache was not configured properly therefore caching did not happen. This PR fixes it.
  2. cargo-contract installation step also didn't use preferences of caching. Optimization in this PR leads to reduction of this step execution time from ~20min to just few seconds.
  3. Parallelises execution of the contracts examples build and tests which doubles workflow execution speed from ~3h to ~1.5h in case when cache is not yet created. And gives x6 speed boost when cache already in place
  4. Replaced expensive ubuntu_20_64_core runners with ubuntu-latest, keeping execution time at the same level (build and test against Ubuntu when cache is populated is 15-16min) and slightly slower without cache (25-30min). Related to https://github.com/paritytech/ci_cd/issues/553
  5. Tuned path-ignore lists to not trigger CI if files like README.md and so on changed.