chore(master): release 1.0.1 #2489
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: Test | |
| on: | |
| push: | |
| branches: [master] | |
| pull_request: | |
| concurrency: | |
| group: test-${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| permissions: | |
| contents: read | |
| env: | |
| PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: 1 | |
| jobs: | |
| test: | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| node: [lts/*, current] | |
| os: [macos-latest, ubuntu-latest, windows-latest] | |
| runs-on: ${{ matrix.os }} | |
| # Lint, typecheck, build, and unit/integration tests finish within a few | |
| # minutes. Cap well above that so a stalled step fails fast instead of | |
| # riding the default 6h limit. | |
| timeout-minutes: 15 | |
| steps: | |
| - name: Checkout Repository | |
| uses: actions/checkout@v6.0.2 | |
| - name: Set up pnpm | |
| uses: pnpm/action-setup@0e279bb959325dab635dd2c09392533439d90093 # v6.0.8 | |
| with: | |
| run_install: false | |
| - name: Use Node.js ${{ matrix.node }} | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version: ${{ matrix.node }} | |
| cache: pnpm | |
| cache-dependency-path: pnpm-lock.yaml | |
| - name: Install Dependencies | |
| run: pnpm install --frozen-lockfile | |
| - name: Configure pnpm script shell | |
| if: runner.os == 'Windows' | |
| run: pnpm config set script-shell bash | |
| - name: Run Lint | |
| if: runner.os == 'Linux' | |
| run: pnpm run lint | |
| - name: Check TypeScript | |
| if: runner.os == 'Linux' | |
| run: | | |
| pnpm run typecheck | |
| pnpm --dir upload-action run typecheck | |
| - name: Build | |
| run: pnpm run build | |
| - name: Run Unit Tests | |
| run: pnpm run test:unit | |
| - name: Run Integration Tests | |
| run: pnpm run test:integration | |
| browser-test: | |
| runs-on: ubuntu-latest | |
| # Browser tests finish in under a minute once the cached Chromium is in | |
| # place. Cap with headroom for a cold browser download so a stalled step | |
| # fails fast instead of riding the default 6h limit. | |
| timeout-minutes: 10 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| node: [lts/*, current] | |
| steps: | |
| - name: Checkout Repository | |
| uses: actions/checkout@v6.0.2 | |
| - name: Set up pnpm | |
| uses: pnpm/action-setup@0e279bb959325dab635dd2c09392533439d90093 # v6.0.8 | |
| with: | |
| run_install: false | |
| - name: Use Node.js ${{ matrix.node }} | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version: ${{ matrix.node }} | |
| cache: pnpm | |
| cache-dependency-path: pnpm-lock.yaml | |
| - name: Install Dependencies | |
| run: pnpm install --frozen-lockfile | |
| - name: Build | |
| run: pnpm run build | |
| - name: Cache Playwright browsers | |
| uses: actions/cache@v5 | |
| with: | |
| path: ~/.cache/ms-playwright | |
| key: playwright-${{ runner.os }}-${{ hashFiles('pnpm-lock.yaml') }} | |
| - name: Install Playwright browsers | |
| run: pnpm exec playwright install chromium | |
| - name: Run Browser Tests | |
| run: pnpm run test:browser |