name: "Test Runner" on: push: branches: - main - release-* paths: - ".github/workflows/test_test_runner.yml" - "tests/playwright-test/**/*" - "packages/playwright-test/**/*" - "package.json" pull_request: branches: - main - release-* paths: - ".github/workflows/test_test_runner.yml" - "tests/playwright-test/**/*" - "packages/playwright-test/**/*" - "package.json" workflow_dispatch: env: # Force terminal colors. @see https://www.npmjs.com/package/colors FORCE_COLOR: 1 FLAKINESS_CONNECTION_STRING: ${{ secrets.FLAKINESS_CONNECTION_STRING }} jobs: test: name: Test strategy: fail-fast: false matrix: os: [ubuntu-latest, windows-latest, macos-latest] node-version: [12, 16] runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v2 - uses: actions/setup-node@v2 with: node-version: ${{matrix.node-version}} - run: npm i -g npm@8.3 - run: npm ci env: DEBUG: pw:install - run: npm run build - run: npx playwright install --with-deps - run: npm run ttest if: matrix.os != 'ubuntu-latest' - run: xvfb-run npm run ttest if: matrix.os == 'ubuntu-latest' - run: ./utils/upload_flakiness_dashboard.sh ./test-results/report.json if: always()