refactor: remove unnecessary comment #23
Workflow file for this run
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: | |
| concurrency: | |
| group: ci-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| setup: | |
| name: Setup (install + build) | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v7 | |
| - name: Use Node.js | |
| uses: actions/setup-node@v7 | |
| with: | |
| node-version-file: '.node-version' | |
| - name: Cache node_modules | |
| id: node-modules-cache | |
| uses: actions/cache@v6 | |
| with: | |
| path: '**/node_modules' | |
| key: node-modules-${{ runner.os }}-${{ hashFiles('package-lock.json') }} | |
| - name: Install dependencies | |
| if: steps.node-modules-cache.outputs.cache-hit != 'true' | |
| run: npm ci | |
| - name: Build packages | |
| run: npm run build | |
| - name: Package dist | |
| run: tar -czf dist.tar.gz packages/*/dist | |
| - name: Upload dist | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: dist | |
| path: dist.tar.gz | |
| retention-days: 1 | |
| test: | |
| name: Test | |
| needs: setup | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v7 | |
| - name: Use Node.js | |
| uses: actions/setup-node@v7 | |
| with: | |
| node-version-file: '.node-version' | |
| - name: Restore node_modules | |
| id: node-modules-cache | |
| uses: actions/cache@v6 | |
| with: | |
| path: '**/node_modules' | |
| key: node-modules-${{ runner.os }}-${{ hashFiles('package-lock.json') }} | |
| - name: Install dependencies (cache miss fallback) | |
| if: steps.node-modules-cache.outputs.cache-hit != 'true' | |
| run: npm ci | |
| - name: Download dist | |
| uses: actions/download-artifact@v7 | |
| with: | |
| name: dist | |
| - name: Unpack dist | |
| run: tar -xzf dist.tar.gz | |
| - name: Run tests | |
| run: npm run test:ci | |
| typescript: | |
| name: TypeScript | |
| needs: setup | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v7 | |
| - name: Use Node.js | |
| uses: actions/setup-node@v7 | |
| with: | |
| node-version-file: '.node-version' | |
| - name: Restore node_modules | |
| id: node-modules-cache | |
| uses: actions/cache@v6 | |
| with: | |
| path: '**/node_modules' | |
| key: node-modules-${{ runner.os }}-${{ hashFiles('package-lock.json') }} | |
| - name: Install dependencies (cache miss fallback) | |
| if: steps.node-modules-cache.outputs.cache-hit != 'true' | |
| run: npm ci | |
| - name: Download dist | |
| uses: actions/download-artifact@v7 | |
| with: | |
| name: dist | |
| - name: Unpack dist | |
| run: tar -xzf dist.tar.gz | |
| - name: Run TypeScript | |
| run: npm run typescript | |
| - name: Typecheck e2e harness | |
| run: npm run typecheck:e2e | |
| e2e: | |
| name: E2E | |
| needs: setup | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v7 | |
| - name: Use Node.js | |
| uses: actions/setup-node@v7 | |
| with: | |
| node-version-file: '.node-version' | |
| - name: Restore node_modules | |
| id: node-modules-cache | |
| uses: actions/cache@v6 | |
| with: | |
| path: '**/node_modules' | |
| key: node-modules-${{ runner.os }}-${{ hashFiles('package-lock.json') }} | |
| - name: Install dependencies (cache miss fallback) | |
| if: steps.node-modules-cache.outputs.cache-hit != 'true' | |
| run: npm ci | |
| - name: Download dist | |
| uses: actions/download-artifact@v7 | |
| with: | |
| name: dist | |
| - name: Unpack dist | |
| run: tar -xzf dist.tar.gz | |
| - name: Get Playwright version | |
| id: playwright-version | |
| run: | | |
| version=$(node -p "require('@playwright/test/package.json').version") | |
| echo "version=$version" >> "$GITHUB_OUTPUT" | |
| - name: Cache Playwright browsers | |
| id: playwright-cache | |
| uses: actions/cache@v6 | |
| with: | |
| path: ~/.cache/ms-playwright | |
| key: playwright-${{ runner.os }}-${{ steps.playwright-version.outputs.version }} | |
| - name: Install Playwright browsers | |
| if: steps.playwright-cache.outputs.cache-hit != 'true' | |
| run: npx playwright install chromium --with-deps | |
| - name: Install Playwright system deps | |
| if: steps.playwright-cache.outputs.cache-hit == 'true' | |
| run: npx playwright install-deps chromium | |
| - name: Run E2E tests | |
| run: npm run test:e2e | |
| - name: Run node-framework E2E tests | |
| run: npm run test:e2e:node | |
| - name: Upload Playwright HTML report | |
| if: ${{ !cancelled() }} | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: playwright-report | |
| path: playwright-report/ | |
| retention-days: 7 | |
| - name: Upload Playwright traces and results | |
| if: failure() | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: playwright-test-results | |
| path: test-results/ | |
| retention-days: 7 |