test(extension-link): guard non-link click selection with enableClick… #9052
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: Verify | |
| env: | |
| NODE_VERSION: 24 | |
| PNPM_VERSION: 11.2.2 | |
| PNPM_STORE_DIR: .pnpm-store | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| on: | |
| push: | |
| branches: | |
| - main | |
| - next | |
| - release/* | |
| pull_request: | |
| branches: | |
| - main | |
| - next | |
| - release/* | |
| jobs: | |
| install-node-dependencies: | |
| name: Install node dependencies | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 15 | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - uses: ./.github/actions/setup-env | |
| with: | |
| node-version: ${{ env.NODE_VERSION }} | |
| pnpm-version: ${{ env.PNPM_VERSION }} | |
| store-dir: ${{ env.PNPM_STORE_DIR }} | |
| - name: Install dependencies | |
| run: pnpm install --frozen-lockfile --strict-peer-dependencies | |
| - name: Pack dependency artifacts | |
| run: tar -czf /tmp/pnpm-store.tar.gz ${{ env.PNPM_STORE_DIR }} | |
| - name: Upload dependency artifacts | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: node-dependencies | |
| path: /tmp/pnpm-store.tar.gz | |
| retention-days: 1 | |
| build-packages: | |
| name: Build packages | |
| runs-on: ubuntu-latest | |
| needs: install-node-dependencies | |
| timeout-minutes: 20 | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - uses: ./.github/actions/setup-env | |
| with: | |
| node-version: ${{ env.NODE_VERSION }} | |
| pnpm-version: ${{ env.PNPM_VERSION }} | |
| store-dir: ${{ env.PNPM_STORE_DIR }} | |
| - uses: ./.github/actions/restore-dependencies | |
| - name: Build packages | |
| run: pnpm run build && pnpm run build:demos | |
| - name: Pack build artifacts | |
| run: tar -czf /tmp/build-output.tar.gz packages/*/dist packages-deprecated/*/dist demos/dist | |
| - name: Upload build artifacts | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: build-output | |
| path: /tmp/build-output.tar.gz | |
| retention-days: 1 | |
| check-linting-formatting: | |
| name: Check linting & formatting | |
| runs-on: ubuntu-latest | |
| needs: build-packages | |
| timeout-minutes: 15 | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - uses: ./.github/actions/setup-env | |
| with: | |
| node-version: ${{ env.NODE_VERSION }} | |
| pnpm-version: ${{ env.PNPM_VERSION }} | |
| store-dir: ${{ env.PNPM_STORE_DIR }} | |
| - uses: ./.github/actions/restore-dependencies | |
| - name: Run linting and formatting checks | |
| run: pnpm run lint | |
| run-unit-tests: | |
| name: Run unit tests | |
| runs-on: ubuntu-latest | |
| needs: build-packages | |
| timeout-minutes: 20 | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - uses: ./.github/actions/setup-env | |
| with: | |
| node-version: ${{ env.NODE_VERSION }} | |
| pnpm-version: ${{ env.PNPM_VERSION }} | |
| store-dir: ${{ env.PNPM_STORE_DIR }} | |
| - uses: ./.github/actions/restore-dependencies | |
| - uses: ./.github/actions/restore-build | |
| - name: Run unit tests | |
| run: pnpm run test:unit | |
| run-e2e-tests: | |
| name: Run e2e tests (shard ${{ matrix.shard }}/${{ matrix.total }}) | |
| runs-on: ubuntu-latest | |
| needs: build-packages | |
| timeout-minutes: 30 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| shard: [1, 2, 3, 4] | |
| total: [4] | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - uses: ./.github/actions/setup-env | |
| with: | |
| node-version: ${{ env.NODE_VERSION }} | |
| pnpm-version: ${{ env.PNPM_VERSION }} | |
| store-dir: ${{ env.PNPM_STORE_DIR }} | |
| - uses: ./.github/actions/restore-dependencies | |
| - uses: ./.github/actions/restore-build | |
| - uses: ./.github/actions/setup-playwright | |
| - name: Run Playwright tests | |
| run: pnpm exec playwright test --project=chromium --shard=${{ matrix.shard }}/${{ matrix.total }} | |
| - name: Upload blob report | |
| if: always() | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: e2e-blob-report-${{ matrix.shard }} | |
| path: blob-report | |
| retention-days: 7 | |
| merge-e2e-reports: | |
| name: Merge e2e reports | |
| runs-on: ubuntu-latest | |
| needs: run-e2e-tests | |
| if: always() | |
| timeout-minutes: 10 | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - uses: ./.github/actions/setup-env | |
| with: | |
| node-version: ${{ env.NODE_VERSION }} | |
| pnpm-version: ${{ env.PNPM_VERSION }} | |
| store-dir: ${{ env.PNPM_STORE_DIR }} | |
| - uses: ./.github/actions/restore-dependencies | |
| - name: Download blob reports | |
| uses: actions/download-artifact@v8 | |
| with: | |
| path: all-blob-reports | |
| pattern: e2e-blob-report-* | |
| merge-multiple: true | |
| - name: Merge into HTML report | |
| if: ${{ hashFiles('all-blob-reports/**') != '' }} | |
| run: pnpm exec playwright merge-reports --reporter html ./all-blob-reports | |
| - name: Upload merged HTML report | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: playwright-html-report | |
| path: playwright-report | |
| retention-days: 14 |