name: MCP on: push: branches: - main - release-* pull_request: paths-ignore: - 'browser_patches/**' - 'docs/**' - 'packages/extension/**' - 'packages/playwright-core/src/server/bidi/**' - 'tests/bidi/**' - 'tests/extension/**' branches: - main - release-* concurrency: # For pull requests, cancel all currently-running jobs for this workflow # https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#concurrency group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} cancel-in-progress: true env: # Force terminal colors. @see https://www.npmjs.com/package/colors FORCE_COLOR: 1 ELECTRON_SKIP_BINARY_DOWNLOAD: 1 DEBUG: pw:mcp:error jobs: test_mcp: name: ${{ matrix.os }} - ${{ matrix.project }} # Used for authentication of flakiness upload environment: ${{ github.event_name == 'push' && 'allow-uploading-flakiness-results' || null }} strategy: fail-fast: false matrix: os: [ubuntu-latest, macos-latest] project: [chrome, chromium, firefox, webkit] include: - os: windows-latest project: chrome - os: windows-latest project: chromium - os: windows-latest project: firefox - os: windows-latest project: webkit - os: windows-latest project: msedge runs-on: ${{ matrix.os }} permissions: id-token: write # This is required for OIDC login (azure/login) to succeed contents: read # This is required for actions/checkout to succeed steps: - uses: actions/checkout@v6 - uses: ./.github/actions/run-test with: node-version: "22" command: npm run test-mcp -- --project=${{ matrix.project }} bot-name: "mcp-${{ matrix.os }}-${{ matrix.project }}" flakiness-client-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_CLIENT_ID }} flakiness-tenant-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_TENANT_ID }} flakiness-subscription-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_SUBSCRIPTION_ID }}