Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CI optimization #45

Merged
merged 1 commit into from
Oct 16, 2023
Merged

CI optimization #45

merged 1 commit into from
Oct 16, 2023

Conversation

sergejparity
Copy link
Contributor

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.

Comment on lines +34 to +61
- basic-contract-caller
- call-runtime
- conditional-compilation
- contract-terminate
- custom-allocator
- custom-environment
- dns
- e2e-call-runtime
- erc20
- erc721
- erc1155
- flipper
- incrementer
- multi-contract-caller
- multi-contract-caller/accumulator
- multi-contract-caller/adder
- multi-contract-caller/subber
- multisig
- payment-channel
- psp22-extension
- rand-extension
- trait-dyn-cross-contract-calls
- trait-erc20
- trait-flipper
- trait-incrementer
- upgradeable-contracts/delegator
- upgradeable-contracts/set-code-hash
- vesting
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The only annoying thing here is that we have to remember to update this list when adding/removing examples.

In ink I have this script to solve that, although wouldn't be usable in this case because it may not work on OSX and obviously not on Windows.

@ascjones ascjones merged commit b5a5a55 into main Oct 16, 2023
57 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants