Initial scaffold (Stage 1a) #1
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CI | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| branches: [main] | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| node-version: ['20.x', '22.x'] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Use Node.js ${{ matrix.node-version }} | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: ${{ matrix.node-version }} | |
| # Why `npm install` not `npm ci`: Stage 1 uses file: cross-repo | |
| # dependencies (e.g. polygraph at file:../polygraph). npm ci is | |
| # strict about package-lock.json and intolerant of non-registry | |
| # sources; npm install handles file: refs correctly. CI is swapped | |
| # to npm ci in Stage 7 once dependencies are published. | |
| - name: Install dependencies | |
| run: npm install | |
| - name: Lint | |
| run: npm run lint | |
| - name: Typecheck | |
| run: npm run typecheck | |
| - name: Test | |
| run: npm run test:coverage | |
| - name: Build | |
| run: npm run build |