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: port CircleCI workflow to GitHub Actions #224

Merged
merged 6 commits into from Jan 5, 2022
Merged

Conversation

galargh
Copy link
Collaborator

@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

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
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.

None yet

2 participants