refactor: now just a simple protocol #20
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: | |
| pull_request: | |
| push: | |
| branches: | |
| - main | |
| jobs: | |
| validate: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| node-version: [20, 22] | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| - name: Setup pnpm | |
| uses: pnpm/action-setup@v4 | |
| with: | |
| version: 9.15.4 | |
| - name: Setup Node | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: ${{ matrix.node-version }} | |
| cache: pnpm | |
| - name: Install | |
| run: pnpm install --frozen-lockfile | |
| - name: Changeset gate | |
| if: github.event_name == 'pull_request' | |
| run: | | |
| git fetch origin "${{ github.base_ref }}":"refs/remotes/origin/${{ github.base_ref }}" --depth=1 | |
| pnpm changeset:check -- "origin/${{ github.base_ref }}" | |
| - name: Markdown lint | |
| run: pnpm lint:md | |
| - name: Workspace lint (typecheck) | |
| run: pnpm -r lint | |
| - name: Test | |
| run: pnpm -r test | |
| - name: Build | |
| run: pnpm -r build | |
| - name: Runtime smoke (ESM) | |
| working-directory: packages/anya-ui | |
| run: | | |
| node --input-type=module -e "await import('./dist/index.js');" | |
| - name: publint | |
| run: npx -y publint@0.3.18 packages/anya-ui | |
| - name: arethetypeswrong | |
| working-directory: packages/anya-ui | |
| run: npx -y @arethetypeswrong/cli@0.18.2 --pack . --profile esm-only | |
| - name: pnpm audit (prod deps only) | |
| run: pnpm audit --prod | |
| - name: npm pack dry-run | |
| working-directory: packages/anya-ui | |
| run: npm pack --dry-run |