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

Restructure CI workflow #12002

Merged
merged 5 commits into from Aug 26, 2020
Merged

Restructure CI workflow #12002

merged 5 commits into from Aug 26, 2020

Conversation

JLHwung
Copy link
Contributor

@JLHwung JLHwung commented Aug 24, 2020

Q                       A
License MIT

This PR restructured current CI workflow and move linux node unit tests to GitHub workflows.

In GitHub workflows we shared built babel artifacts across multiple unit test executors, thus we can reduce the overall build time in our CI. The new CI now always build Babel on latest node.js versions. If node.js latest incurs any regression, we can always pin the node version of the build step.

A comparison of CI time between main and this PR.

Item main This PR CI Speed Improvments
Travis CI 13 min 21 sec 8 min 40 sec 54%
GitHub CI 8 min 20 sec 10 min 9 sec -22%
max(Travis CI, GitHub CI) 13 min 21 sec 10 min 9 sec 30%
Data Source

main:
Travis CI: https://travis-ci.com/github/babel/babel/builds/181136937
GitHub CI: https://github.com/babel/babel/actions/runs/222502540

This PR:
Travis CI: https://travis-ci.com/github/JLHwung/babel/builds/181140151
GitHub CI: https://github.com/JLHwung/babel/actions/runs/222540002

This PR includes commits from #11781 , I will rebase later. You can review the actual changes on https://github.com/babel/babel/pull/12002/files/b9904078208917d338292ccad5ec544e7e53ae44..38d0ea99f83d5ec07b94a3bd0e2ddc2647c0bfdd

@JLHwung JLHwung added the PR: Internal 🏠 A type of pull request used for our changelog categories label Aug 24, 2020
@babel-bot
Copy link
Collaborator

babel-bot commented Aug 24, 2020

Build successful! You can test your changes in the REPL here: https://babeljs.io/repl/build/27934/

@codesandbox-ci
Copy link

codesandbox-ci bot commented Aug 24, 2020

This pull request is automatically built and testable in CodeSandbox.

To see build info of the built libraries, click here or the icon next to each commit SHA.

Latest deployment of this branch, based on commit f9c82f9:

Sandbox Source
babel-repl-custom-plugin Configuration
babel-plugin-multi-config Configuration

@JLHwung JLHwung force-pushed the ci-orchestration branch 3 times, most recently from e0ea750 to 303ec4a Compare August 25, 2020 17:34
run: |
BABEL_ENV=test-legacy make -j bootstrap
make build-plugin-transform-runtime-dist
Copy link
Contributor Author

@JLHwung JLHwung Aug 25, 2020

Choose a reason for hiding this comment

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

This step is moved to test executor (instead of the Build job) because it is IO-intensive (1000 files), caching and restoring are slower than generating.

.travis.yml Outdated Show resolved Hide resolved
.travis.yml Outdated Show resolved Hide resolved
@JLHwung JLHwung merged commit 97075c9 into babel:main Aug 26, 2020
@JLHwung JLHwung deleted the ci-orchestration branch August 26, 2020 17:14
@github-actions github-actions bot added the outdated A closed issue/PR that is archived due to age. Recommended to make a new issue label Nov 26, 2020
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Nov 26, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
outdated A closed issue/PR that is archived due to age. Recommended to make a new issue PR: Internal 🏠 A type of pull request used for our changelog categories
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants