feat: add last-write-wins workspace policy (#32) #65
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: | |
| workflow_dispatch: | |
| concurrency: | |
| group: ci-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| check: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - uses: pnpm/setup@v2 | |
| with: | |
| install: false | |
| - uses: actions/setup-node@v7 | |
| with: { node-version: 24, cache: pnpm } | |
| - run: pnpm install --frozen-lockfile | |
| - run: pnpm run lint | |
| - run: pnpm run format:check | |
| - run: pnpm run typecheck | |
| build: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - uses: pnpm/setup@v2 | |
| with: | |
| install: false | |
| - uses: actions/setup-node@v7 | |
| with: { node-version: 24, cache: pnpm } | |
| - run: pnpm install --frozen-lockfile | |
| - run: pnpm run build | |
| - run: pnpm dlx publint --strict | |
| - run: pnpm dlx @arethetypeswrong/cli --pack . --profile esm-only | |
| - uses: actions/upload-artifact@v7 | |
| with: { name: dist, path: dist } | |
| test: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| node: [22, 24] | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - uses: pnpm/setup@v2 | |
| with: | |
| install: false | |
| - uses: actions/setup-node@v7 | |
| with: { node-version: '${{ matrix.node }}', cache: pnpm } | |
| - run: pnpm install --frozen-lockfile | |
| - run: pnpm run test | |
| env: { CI: 'true' } | |
| # Non-blocking early warning for changes in Nest's prerelease API. | |
| canary: | |
| runs-on: ubuntu-latest | |
| continue-on-error: true | |
| if: github.event_name != 'pull_request' | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - uses: pnpm/setup@v2 | |
| with: | |
| install: false | |
| - uses: actions/setup-node@v7 | |
| with: { node-version: 24, cache: pnpm } | |
| - run: pnpm install --no-frozen-lockfile | |
| - run: pnpm up "@nestjs/*@next" | |
| - run: pnpm run test | |
| npm-peer-smoke: | |
| runs-on: ubuntu-latest | |
| if: github.event_name != 'pull_request' | |
| steps: | |
| - uses: actions/setup-node@v7 | |
| with: { node-version: 24 } | |
| - run: | | |
| mkdir smoke && cd smoke && npm init -y > /dev/null | |
| if npm install @nestjs/common@next @nestjs/core@next @nestjs/platform-express@next reflect-metadata rxjs --no-audit --no-fund; then | |
| echo "::warning::Nest 12 alpha sibling peers appear fixed — review pnpm-workspace.yaml and README." | |
| else | |
| echo "npm ERESOLVE still present (expected while Nest 12 alphas declare stale sibling peers)." | |
| fi |