ci: migrate workflows from bun to npm as canonical package manager #10
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 | |
| # Test + type-check gate on every push/PR. Until now the 1100+ vitest suite | |
| # and tsc only ran locally — releases shipped to npm/GitHub/Homebrew without | |
| # CI ever executing them. This closes that gap; release-binaries.yml runs | |
| # the same suite again as a pre-publish gate. | |
| # | |
| # Uses npm (not bun) because npm is now the canonical package manager for | |
| # the project — package-lock.json is committed and other lockfiles are | |
| # .gitignored. See CONTRIBUTING.md. | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| branches: [main] | |
| concurrency: | |
| group: ci-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| test: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v5 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v5 | |
| with: | |
| node-version: '20' | |
| cache: 'npm' | |
| - name: Install dependencies | |
| run: npm ci | |
| - name: Type-check | |
| run: npx tsc --noEmit | |
| - name: Test (vitest) | |
| run: npm test |