Skip to content

ci: split build and test jobs and modernize CI workflow#143

Merged
mmktomato merged 6 commits intonulab:masterfrom
lollipop-onl:ci/separate-build-and-test
Mar 23, 2026
Merged

ci: split build and test jobs and modernize CI workflow#143
mmktomato merged 6 commits intonulab:masterfrom
lollipop-onl:ci/separate-build-and-test

Conversation

@lollipop-onl
Copy link
Copy Markdown
Contributor

@lollipop-onl lollipop-onl commented Mar 23, 2026

Summary

  • Separate build and test into independent jobs so the Node.js version matrix only applies to tests
  • Add Node.js 24.x to the test matrix
  • Update all GitHub Actions to latest versions
  • Enable npm cache for faster installs
  • Run CI on pull requests in addition to pushes

Motivation

rolldown (used by tsdown) requires Node.js >= 20.12.0, so the build step is run once on Node.js 22 and only tests are run across the version matrix.

lollipop-onl and others added 5 commits March 23, 2026 12:38
Split the single test job into build and test jobs so that the Node.js
version matrix only applies to test execution. Build runs once on
Node.js 22.x and passes artifacts to the test matrix (18.x, 20.x, 22.x).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Use lts/* instead of a hardcoded version for the build job so it
automatically tracks the latest LTS release. Add Node.js 24.x to the
test matrix for early compatibility testing.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- actions/checkout v3 → v6
- actions/setup-node v3 → v6
- actions/upload-artifact v4 → v7
- actions/download-artifact v4 → v8

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@lollipop-onl lollipop-onl marked this pull request as draft March 23, 2026 03:53
@lollipop-onl lollipop-onl changed the title ci: separate build and test jobs and modernize CI workflow ci: split build and test jobs and modernize CI workflow Mar 23, 2026
Remove upload/download-artifact steps since tests run against source
directly, not built artifacts. Build uses Node.js 22 instead of lts/*.
Limit push trigger to master to avoid duplicate runs with pull_request.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@lollipop-onl lollipop-onl marked this pull request as ready for review March 23, 2026 04:03
@mmktomato mmktomato merged commit 75cd09a into nulab:master Mar 23, 2026
5 checks passed
@mmktomato
Copy link
Copy Markdown
Member

@lollipop-onl
LGTM!!!

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.

2 participants