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

Use separate jobs for each task #180

Merged
merged 3 commits into from
Aug 26, 2024
Merged

Use separate jobs for each task #180

merged 3 commits into from
Aug 26, 2024

Conversation

remcohaszing
Copy link
Member

Now the CI workflow runs on every pull request and every push to the main branch. This runs ESLint, Prettier, tsd, and Vitest, all in their own job.

The Integration tests workflow runs on the main branch. It runs all tests, publishes a coverage badge, and sends a Slack notification on failure.

Now the CI workflow runs on every pull request and every push to the
main branch. This runs ESLint, Prettier, tsd, and Vitest, all in their
own job.

The Integration tests workflow runs on the main branch. It runs all
tests, publishes a coverage badge, and sends a Slack notification on
failure.
Copy link
Collaborator

@mifi mifi left a comment

Choose a reason for hiding this comment

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

I guess the advantage of having each command running as a separate job would be that they can be parallelised (and therefore faster)? a drawback could be that running more stuff in parallel is more expensive (because stuff like checkout/setup-node, yarn install all needs to be run 4 times). But because node-sdk is an open source project we have unlimited free action minutes so it doesn't matter.

.github/workflows/integration.yml Outdated Show resolved Hide resolved
.github/workflows/integration.yml Show resolved Hide resolved
@remcohaszing
Copy link
Member Author

The advantage is that now each tool has their own visual elements in various places in the GitHub UI, such as this PR. I.e. it’s immediately clear what failed from the overview at the bottom of this PR. Also it’s possible to re-run failed tasks only. Also, while it’s true that setup-node and yarn install need to be run more often now, ESLint, Prettier, and TypeScript now only need to run once, while tests can be run for multiple Node.js versions.

@mifi
Copy link
Collaborator

mifi commented Aug 26, 2024

other than that lgtm!

@kvz kvz merged commit e1e690a into main Aug 26, 2024
6 checks passed
@kvz kvz deleted the split-ci branch August 26, 2024 12:33
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.

3 participants