[BREAKING] Begin node typescript migration #976
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
| # - Same-repo PRs: `pull_request` runs the workflow from the PR branch (so CI works | |
| # before merge). Secrets are available for same-repo PRs. | |
| # - Fork PRs: `pull_request_target` runs in base-repo context so ARGOS_TOKEN works; | |
| # the workflow file is read from master — merge workflow changes there first. | |
| # - Fork runs use `visual-fork` environment (Settings → Environments → required reviewers). | |
| name: Visual regression (Argos) | |
| on: | |
| push: | |
| branches: | |
| - master | |
| pull_request: | |
| branches: | |
| - master | |
| pull_request_target: | |
| branches: | |
| - master | |
| jobs: | |
| visual: | |
| name: Visual tests (Playwright + Argos) | |
| if: github.event_name == 'push' || (github.event_name == 'pull_request' && !github.event.pull_request.head.repo.fork) | |
| runs-on: ubuntu-24.04 | |
| container: | |
| image: mcr.microsoft.com/playwright:v1.62.1-noble | |
| options: --ipc=host | |
| permissions: | |
| contents: read | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v7 | |
| with: | |
| allow-unsafe-pr-checkout: true | |
| ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version: "24" | |
| cache: npm | |
| - name: Install dependencies | |
| run: npm ci --ignore-scripts | |
| - name: Install Linux System Fonts | |
| run: | | |
| apt-get update | |
| apt-get install -y \ | |
| fonts-liberation \ | |
| fonts-noto-color-emoji \ | |
| fonts-noto-cjk \ | |
| fonts-wqy-zenhei \ | |
| fonts-dejavu \ | |
| fonts-freefont-ttf | |
| - name: Run visual tests | |
| run: npm run test:visual | |
| env: | |
| ARGOS_TOKEN: ${{ secrets.ARGOS_TOKEN }} | |
| CI: true | |
| visual-fork: | |
| name: Visual tests (Playwright + Argos) — fork | |
| if: github.event_name == 'pull_request_target' && github.event.pull_request.head.repo.fork | |
| runs-on: ubuntu-latest | |
| environment: visual-fork | |
| permissions: | |
| contents: read | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v7 | |
| with: | |
| allow-unsafe-pr-checkout: true | |
| ref: ${{ github.event.pull_request.head.sha }} | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version: "24" | |
| cache: npm | |
| - name: Install dependencies | |
| run: npm ci --ignore-scripts | |
| - name: Install Playwright Chromium | |
| run: npx playwright install --with-deps chromium | |
| - name: Run visual tests | |
| run: npm run test:visual | |
| env: | |
| ARGOS_TOKEN: ${{ secrets.ARGOS_TOKEN }} | |
| CI: true |