From cfc17fa07f0b1ad168426b66f97d8871bb266c60 Mon Sep 17 00:00:00 2001 From: Ben Vargas Date: Thu, 11 Jun 2026 02:41:14 -0600 Subject: [PATCH 1/3] ci: add GitHub Actions workflow for PRs and pushes to main Runs typecheck, lint, tests, and build on Node 20 and 22. format:check is deliberately omitted until existing prettier failures are fixed. --- .github/workflows/ci.yml | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 .github/workflows/ci.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..964c983 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,39 @@ +name: CI + +on: + push: + branches: [main] + pull_request: + +permissions: + contents: read + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + ci: + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + node-version: [20, 22] + name: Node ${{ matrix.node-version }} + steps: + - uses: actions/checkout@v4 + + - uses: actions/setup-node@v4 + with: + node-version: ${{ matrix.node-version }} + cache: npm + + - run: npm ci + + # typecheck + lint + test + - run: npm run ci + + - run: npm run build + + # TODO: add `npm run format:check` once existing prettier failures are + # fixed (run `npm run format` repo-wide first). From 3436db7a3192c2ccae33bd7b7344affabacfaa85 Mon Sep 17 00:00:00 2001 From: Ben Vargas Date: Thu, 11 Jun 2026 02:46:30 -0600 Subject: [PATCH 2/3] ci: add format:check step The prettier failures are fixed in #25, which should merge first. --- .github/workflows/ci.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 964c983..aa66b32 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -30,10 +30,9 @@ jobs: - run: npm ci + - run: npm run format:check + # typecheck + lint + test - run: npm run ci - run: npm run build - - # TODO: add `npm run format:check` once existing prettier failures are - # fixed (run `npm run format` repo-wide first). From fe911c61921e9371d54d751b0b587e4b0398dde4 Mon Sep 17 00:00:00 2001 From: Ben Vargas Date: Thu, 11 Jun 2026 02:58:06 -0600 Subject: [PATCH 3/3] ci: test Node 18 to cover minimum supported engine package.json declares engines.node >=18, and all runtime and dev dependencies support 18, so CI should exercise it. --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index aa66b32..ff5fd6f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -18,7 +18,7 @@ jobs: strategy: fail-fast: false matrix: - node-version: [20, 22] + node-version: [18, 20, 22] name: Node ${{ matrix.node-version }} steps: - uses: actions/checkout@v4