Skip to content

ci: port CircleCI workflow to GitHub Actions #224

New issue

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

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

Already on GitHub? # to your account

Merged
merged 6 commits into from
Jan 5, 2022
Merged

Conversation

galargh
Copy link
Contributor

@galargh galargh commented Jan 5, 2022

Description

This PR ports .cicleci/config.yml to .github/workflows/ci.yml. I have decided to do that because I didn't have access to CircleCI yet so I couldn't inspect the builds and because we're leaning towards using GitHub Actions going forward across org(protocol/.github#251).

Speedup

The new workflow already tries to be address the CI speed issue: https://github.com/filecoin-project/fvm/issues/76

Caching

It uses rust cache here https://github.com/filecoin-project/fvm/blob/c18399245cfff55d6d1ad19cc65bca43456c91ea/.github/workflows/ci.yml#L28 and here https://github.com/filecoin-project/fvm/blob/c18399245cfff55d6d1ad19cc65bca43456c91ea/.github/workflows/ci.yml#L47 which caches:

  • ~/.cargo/registry/index
  • ~/.cargo/registry/cache
  • ~/.cargo/git
  • ./target

This is pretty much on par with what we used to do in CircleCI though so this is not going to affect the build times.

Removing -force flag

It also removes -force flag from https://github.com/filecoin-project/fvm/blob/c18399245cfff55d6d1ad19cc65bca43456c91ea/.github/workflows/ci.yml#L50-L51 which shaves off around 2m 30s from builds that successfully downloaded cache. I believe this is safe to introduce since cargo install performs update if needed: rust-lang/cargo#7560

Release

I propose that we merge this and let the new action soak for a while to see how it compares with CircleCI. If it works as expected and is faster, we can make the new checks required and deprecate the CircleCI workflow.

Triggers

I think the CircleCI workflow runs on every commit so I set the GitHub Action workflow the same way.

Testing

@galargh galargh requested review from raulk and laudiacay January 5, 2022 11:35
Copy link
Member

@raulk raulk left a comment

Choose a reason for hiding this comment

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

LGTM, and it seems to run 50% faster! 🎉

Only nit is that the test-wasm job name is a bit misleading because this job is actually not running WASM tests. Can we just call it build for now?

@galargh galargh merged commit fb1225b into master Jan 5, 2022
@galargh galargh deleted the galargh/ci-speedup branch January 5, 2022 15:25
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants