The PR now targets develop, which was branched from main. The workflow only triggered on push and pull_request against main, so nothing would have run on develop or on any future PR into it. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SAcqrz3FcadkYr3xG32CjK
42 lines
1.1 KiB
YAML
42 lines
1.1 KiB
YAML
name: CI
|
|
|
|
on:
|
|
push:
|
|
branches: [ main, develop ]
|
|
pull_request:
|
|
branches: [ main, develop ]
|
|
|
|
jobs:
|
|
verify:
|
|
name: Node ${{ matrix.node-version }}
|
|
runs-on: ubuntu-latest
|
|
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
node-version: [20.x, 22.x, 24.x]
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Use Node.js ${{ matrix.node-version }}
|
|
uses: actions/setup-node@v4
|
|
with:
|
|
node-version: ${{ matrix.node-version }}
|
|
cache: 'npm'
|
|
- name: Install dependencies
|
|
run: npm ci
|
|
- name: Type Check
|
|
run: npm run type-check
|
|
- name: Lint
|
|
run: npm run lint
|
|
- name: Test
|
|
run: npm run test:coverage
|
|
- name: Build
|
|
run: npm run build
|
|
- name: Verify published entry points load
|
|
run: |
|
|
node --input-type=module -e "import * as m from './dist/esm/index.js'; if (typeof m.toInstance !== 'function') throw new Error('ESM entry point broken');"
|
|
node --input-type=commonjs -e "const m = require('./dist/cjs/index.js'); if (typeof m.toInstance !== 'function') throw new Error('CJS entry point broken');"
|
|
- name: Run Demo
|
|
run: npm run demo
|