cicd: validate Linux Homebrew release asset #457
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, release/*] | |
| pull_request: | |
| jobs: | |
| test: | |
| runs-on: ${{ matrix.os }} | |
| # Run each command in parallel with the same setup steps. | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: | |
| - ubuntu-latest | |
| config: | |
| # Specify names so that the GitHub branch protection settings for | |
| # required checks don't need to change if we ever change the commands used. | |
| - name: lint | |
| command: | | |
| # lint steps | |
| set -x | |
| yarn license-check | |
| yarn run tsc --noEmit # typecheck files that are not included by webpack or package builds | |
| - name: packages | |
| command: echo complete | |
| - name: web | |
| command: yarn run web:build:prod | |
| - name: build benchmark | |
| command: yarn run benchmark:build:prod | |
| - name: test | |
| command: yarn run test --maxWorkers=50% | |
| name: ${{ matrix.config.name }} (${{ matrix.os }}) | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - uses: actions/setup-node@v7 | |
| with: | |
| node-version: 22 | |
| package-manager-cache: false | |
| - run: corepack enable yarn | |
| - name: Restore cache | |
| uses: actions/cache@v6 | |
| with: | |
| path: | | |
| .yarn/cache | |
| key: v5-${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} | |
| restore-keys: v5-${{ runner.os }}-yarn- | |
| - run: yarn install --immutable | |
| - run: ${{ matrix.config.command }} | |
| integration: | |
| runs-on: ubuntu-latest | |
| name: integration (ubuntu-latest) | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - uses: actions/setup-node@v7 | |
| with: | |
| node-version: 22 | |
| package-manager-cache: false | |
| - run: corepack enable yarn | |
| - name: Restore cache | |
| uses: actions/cache@v6 | |
| with: | |
| path: | | |
| .yarn/cache | |
| key: v5-${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} | |
| restore-keys: v5-${{ runner.os }}-yarn- | |
| - run: yarn install --immutable | |
| - name: Apply AppArmor Fix (Ubuntu) | |
| # Required for Playwright on Ubuntu to work properly | |
| # See: https://github.com/microsoft/playwright/issues/34251 | |
| run: sudo sysctl -w kernel.apparmor_restrict_unprivileged_userns=0 | |
| - name: test:integration (ubuntu-latest) | |
| uses: coactions/setup-xvfb@v1 | |
| with: | |
| working-directory: ./ | |
| run: yarn run test:integration | |
| # New version of playwright requires to install new browsers | |
| - name: Install Playwright browsers | |
| run: | | |
| cd web | |
| yarn playwright install | |
| - name: test:web-integration | |
| run: yarn run test:web-integration | |
| - name: test:integration | |
| if: matrix.os != 'ubuntu-24.04' | |
| run: yarn run test:integration |