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

chore(ci): run lint and build in parallel #2528

Merged
2 commits merged into from Jan 11, 2022
Merged

chore(ci): run lint and build in parallel #2528

2 commits merged into from Jan 11, 2022

Conversation

ghost
Copy link

@ghost ghost commented Jan 6, 2022

By moving the linter to its own job, we don't need to block test runs on minor linter errors. This lets contributors first get their work done without needing to polish and fix linter errors constantly throughout.

Running the linter in parallel also saves 30s to 3 minutes (linter time varies).

I've kept the linter requirement for dev-release as it should mirror prod-release as much as possible. And of course the linter (and every other job) should pass before we run a prod-release.

Example: https://app.circleci.com/pipelines/github/snyk/snyk/8914/workflows/ed13ac3a-92ec-4aa6-91e7-c2e593354770

@ghost ghost requested review from a team as code owners January 6, 2022 18:49
@ghost ghost requested review from muscar, hadasgo and jan-stehlik January 6, 2022 18:49
@github-actions
Copy link
Contributor

github-actions bot commented Jan 6, 2022

Messages
📖

This PR will not trigger a new version. It doesn't include any commit message with feat or fix.

Generated by 🚫 dangerJS against 897ad08

Jahed Ahmed added 2 commits January 6, 2022 19:02
By moving the linter to its own job, we don't need to block test runs on minor linter errors. This lets contributors first get their work done without needing to polish and fix linter errors constantly throughout.

Running the linter in parallel also saves 30s to 3 minutes (linter time varies).

I've kept the linter requirement for dev-release as it should mirror prod-release as much as possible. And of course the linter (and every other job) should pass before we run a prod-release.
So that we can see all linter errors at once and fix them together.

Changing npm-run-all to serial adds 10 seconds, but prevents linters from competing for resources. It also provides better progress output without needing to aggregate.
@ghost ghost mentioned this pull request Jan 6, 2022
9 tasks
package.json Show resolved Hide resolved
@JackuB
Copy link
Contributor

JackuB commented Jan 11, 2022

If linter fails (quickly) - it will stop only the dev release, right?
Screen Shot 2022-01-11 at 17 04 16

@ghost
Copy link
Author

ghost commented Jan 11, 2022

If linter fails (quickly) - it will stop only the dev release, right?

Yes, I kept the dependency there as it mirrors prod release. We shouldn't have linter errors at prod release, so dev release does the same check to make sure that flow works.

This pull request was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
1 participant