m1-t3: 未使用の @types/three を削除し ol / i18next 系を正本へ揃える(人間判断) #79
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: ['**'] | |
| pull_request: | |
| branches: ['**'] | |
| permissions: | |
| contents: read | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| test: | |
| name: Test (Node ${{ matrix.node-version }}) | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| node-version: [22, 24] | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v7 | |
| - name: Setup pnpm | |
| uses: pnpm/action-setup@v6 | |
| with: | |
| # ローカル開発と同じ pnpm 11 系にメジャー固定(m1-t1)。 | |
| # pnpm 11 は package.json の pnpm フィールドを読まないため、 | |
| # overrides は m1-t2 で不要と実測し撤去。allowBuilds は必要なため ci/pnpm-workspace.ci.yaml へ分離した | |
| version: 11 | |
| - name: Setup Node.js ${{ matrix.node-version }} | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version: ${{ matrix.node-version }} | |
| cache: 'pnpm' | |
| # pnpm 11 は allowBuilds を pnpm-workspace.yaml からしか読まない。ローカルでは同ファイルが | |
| # workspace ルート誤認を起こすためリポジトリ直下には置かず、CI でのみ展開する(m1-t2) | |
| - name: Apply CI-only pnpm config | |
| run: cp ci/pnpm-workspace.ci.yaml pnpm-workspace.yaml | |
| - name: Install dependencies | |
| run: pnpm install --frozen-lockfile | |
| - name: Run linter | |
| run: pnpm lint | |
| - name: Run type checker | |
| run: pnpm typecheck | |
| - name: Run tests | |
| run: pnpm exec vitest run | |
| - name: Build package | |
| run: pnpm build | |
| - name: Build demo | |
| run: pnpm build:demo | |
| e2e: | |
| name: E2E (Playwright) | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v7 | |
| - name: Setup pnpm | |
| uses: pnpm/action-setup@v6 | |
| with: | |
| # ローカル開発と同じ pnpm 11 系にメジャー固定(m1-t1)。 | |
| # pnpm 11 は package.json の pnpm フィールドを読まないため、 | |
| # overrides は m1-t2 で不要と実測し撤去。allowBuilds は必要なため ci/pnpm-workspace.ci.yaml へ分離した | |
| version: 11 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version: 24 | |
| cache: 'pnpm' | |
| # pnpm 11 は allowBuilds を pnpm-workspace.yaml からしか読まない。ローカルでは同ファイルが | |
| # workspace ルート誤認を起こすためリポジトリ直下には置かず、CI でのみ展開する(m1-t2) | |
| - name: Apply CI-only pnpm config | |
| run: cp ci/pnpm-workspace.ci.yaml pnpm-workspace.yaml | |
| - name: Install dependencies | |
| run: pnpm install --frozen-lockfile | |
| - name: Install Playwright browsers | |
| run: pnpm exec playwright install chromium --with-deps | |
| - name: Run E2E tests | |
| run: pnpm run test:e2e:ci | |
| - name: Upload test results on failure | |
| uses: actions/upload-artifact@v7 | |
| if: failure() | |
| with: | |
| name: playwright-report | |
| path: | | |
| playwright-report/ | |
| test-results/ |