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

Migrate to GitHub actions #321

Closed
kinow opened this issue Dec 1, 2019 · 0 comments · Fixed by #322
Closed

Migrate to GitHub actions #321

kinow opened this issue Dec 1, 2019 · 0 comments · Fixed by #322
Assignees
Milestone

Comments

@kinow
Copy link
Member

kinow commented Dec 1, 2019

Describe exactly what you would like to see in an upcoming release

Hi, some time ago I mentioned GitHub Actions in a issue of Cylc Flow (link). Cylc Flow is the most complex project build we have in the Cylc organization.

GitHub actions has at least one advantage, the checkout time must be better I reckon. But I would like to experiment with GitHub actions, and see if others agree to move the other projects too (before we tackle issues like remote tests in Cylc UI).

Cylc UI is the project I am more familiar with, and have a better idea of how the build process works, and how long it normally takes.

Additional context

Our build in Travis CI for Cylc UI takes around ~7m 30s.

image

The first build at the top happened at the same time of another build on GitHub actions.

image

The build on GitHub actions took half the time of the build on Travis for the same PR, just 3m 41s .

Note, that I had not enabled cache. npm install normally takes a long time. It took almost 2 minutes to run npm install on GitHub infra.

image

Then I added two more commits. The first new commit was based on the actions docs for caching, using their npm example (without restore_keys, simply caching based on the package-lock.json hash). This commit took about the same time to build (1 second difference 3m 42s).

The second commit was to modify the badge, and also to verify how much faster it was after using caching. The build took 1m 37s 🎉 🎊 .

image

Finally, I pushed one more commit, to remove .travis.yml. Again, one second difference.

image

One downside is that GitHub actions is a newer product. I used it during the beta, and there were several features missing, the interface was also a bit buggy. But now after 2 months I think, there are lots of documentation. Apparently several users have adopted it already. It has pretty much the same functionality as Travis free for Open Source (not sure about $$$ plans). And also looks like their infrastructure is faster for builds, at least for builds of JS projects.

ps: the git clone in Travis took 1.01 seconds, and npm install 77.05 seconds. Same commands in GitHub actions took 2 seconds (weird, longer on GitHub? Or maybe that's because Travis does a --depth=50? Not sure what GitHub action does, we are using their default checkout action), and 19 seconds.

Pull requests welcome!

@kinow kinow self-assigned this Dec 1, 2019
@kinow kinow added this to the 0.2 milestone Dec 1, 2019
@kinow kinow mentioned this issue Dec 1, 2019
6 tasks
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 a pull request may close this issue.

1 participant