diff --git a/.github/workflows/tests_chrome_beta.yml b/.github/workflows/tests_chrome_beta.yml deleted file mode 100644 index ecee744999..0000000000 --- a/.github/workflows/tests_chrome_beta.yml +++ /dev/null @@ -1,97 +0,0 @@ -name: tests Chrome Beta - -on: - push: - branches: - - master - - release-* - pull_request: - branches: - - master - - release-* - -env: - # Force terminal colors. @see https://www.npmjs.com/package/colors - FORCE_COLOR: 1 - FLAKINESS_CONNECTION_STRING: ${{ secrets.FLAKINESS_CONNECTION_STRING }} - -jobs: - chrome_beta_linux: - name: "Chrome Beta (Linux)" - runs-on: ubuntu-20.04 - steps: - - uses: actions/checkout@v2 - - run: ./utils/install-chrome-beta/reinstall_linux.sh - - uses: actions/setup-node@v2 - with: - node-version: 12 - - run: npm ci - env: - PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: 1 - - run: npm run build - - run: node lib/cli/cli install-deps chromium - - run: node lib/cli/cli install ffmpeg - # XVFB-RUN merges both STDOUT and STDERR, whereas we need only STDERR - # Wrap `npm run` in a subshell to redirect STDERR to file. - - run: xvfb-run --auto-servernum --server-args="-screen 0 1280x960x24" -- bash -c "npm run ctest -- --channel=chrome-beta" - - run: ./utils/upload_flakiness_dashboard.sh ./test-results/report.json - if: always() - - uses: actions/upload-artifact@v1 - if: ${{ always() }} - with: - name: chrome-beta-linux-test-results - path: test-results - - chrome_beta_win: - name: "Chrome Beta (Win)" - runs-on: windows-latest - steps: - - name: Install Media Pack - shell: powershell - run: Install-WindowsFeature Server-Media-Foundation - - name: Install Chrome Beta - shell: powershell - run: choco install -y googlechromebeta --pre --force - - uses: actions/checkout@v2 - - uses: actions/setup-node@v2 - with: - node-version: 12 - - run: npm ci - env: - PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: 1 - - run: npm run build - - run: node lib/cli/cli install ffmpeg - - run: npm run ctest -- --channel=chrome-beta - shell: bash - - run: ./utils/upload_flakiness_dashboard.sh ./test-results/report.json - if: always() - shell: bash - - uses: actions/upload-artifact@v1 - if: ${{ always() }} - with: - name: chrome-beta-win-test-results - path: test-results - - chrome_beta_mac: - name: "Chrome Beta (Mac)" - runs-on: macos-10.15 - steps: - - uses: actions/checkout@v2 - - run: ./utils/install-chrome-beta/reinstall_mac.sh - - uses: actions/setup-node@v2 - with: - node-version: 12 - - run: npm ci - env: - PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: 1 - - run: npm run build - - run: node lib/cli/cli install ffmpeg - - run: npm run ctest -- --channel=chrome-beta - - run: ./utils/upload_flakiness_dashboard.sh ./test-results/report.json - if: always() - - uses: actions/upload-artifact@v1 - if: ${{ always() }} - with: - name: chrome-beta-mac-test-results - path: test-results - diff --git a/.github/workflows/tests_primary.yml b/.github/workflows/tests_primary.yml new file mode 100644 index 0000000000..13ae919d0a --- /dev/null +++ b/.github/workflows/tests_primary.yml @@ -0,0 +1,46 @@ +name: primary tests + +on: + push: + branches: + - master + - release-* + pull_request: + branches: + - master + - release-* + +env: + # Force terminal colors. @see https://www.npmjs.com/package/colors + FORCE_COLOR: 1 + FLAKINESS_CONNECTION_STRING: ${{ secrets.FLAKINESS_CONNECTION_STRING }} + +jobs: + test_linux: + name: ${{ matrix.os }} (${{ matrix.browser }}) + strategy: + fail-fast: false + matrix: + browser: [chromium, firefox, webkit] + os: [ubuntu-20.04] + runs-on: ${{ matrix.os }} + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-node@v2 + with: + node-version: 12 + - run: npm ci + - run: npm run build + - run: node lib/cli/cli install-deps ${{ matrix.browser }} chromium + # XVFB-RUN merges both STDOUT and STDERR, whereas we need only STDERR + # Wrap `npm run` in a subshell to redirect STDERR to file. + - run: xvfb-run --auto-servernum --server-args="-screen 0 1280x960x24" -- bash -c "npm run test -- --project=${{ matrix.browser }}" + - run: node tests/config/checkCoverage.js ${{ matrix.browser }} + - run: ./utils/upload_flakiness_dashboard.sh ./test-results/report.json + if: always() + - uses: actions/upload-artifact@v1 + if: always() + with: + name: ${{ matrix.browser }}-${{ matrix.os }}-test-results + path: test-results + diff --git a/.github/workflows/tests.yml b/.github/workflows/tests_secondary.yml similarity index 84% rename from .github/workflows/tests.yml rename to .github/workflows/tests_secondary.yml index 942c5dbcf4..9fee0c910e 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests_secondary.yml @@ -1,4 +1,4 @@ -name: tests +name: secondary tests on: push: @@ -6,6 +6,7 @@ on: - master - release-* pull_request: + types: [ labeled ] branches: - master - release-* @@ -22,7 +23,7 @@ jobs: fail-fast: false matrix: browser: [chromium, firefox, webkit] - os: [ubuntu-18.04, ubuntu-20.04] + os: [ubuntu-18.04] runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v2 @@ -431,3 +432,83 @@ jobs: with: name: electron-linux-test-results path: test-results + + chrome_beta_linux: + name: "Chrome Beta (Linux)" + runs-on: ubuntu-20.04 + steps: + - uses: actions/checkout@v2 + - run: ./utils/install-chrome-beta/reinstall_linux.sh + - uses: actions/setup-node@v2 + with: + node-version: 12 + - run: npm ci + env: + PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: 1 + - run: npm run build + - run: node lib/cli/cli install-deps chromium + - run: node lib/cli/cli install ffmpeg + # XVFB-RUN merges both STDOUT and STDERR, whereas we need only STDERR + # Wrap `npm run` in a subshell to redirect STDERR to file. + - run: xvfb-run --auto-servernum --server-args="-screen 0 1280x960x24" -- bash -c "npm run ctest -- --channel=chrome-beta" + - run: ./utils/upload_flakiness_dashboard.sh ./test-results/report.json + if: always() + - uses: actions/upload-artifact@v1 + if: ${{ always() }} + with: + name: chrome-beta-linux-test-results + path: test-results + + chrome_beta_win: + name: "Chrome Beta (Win)" + runs-on: windows-latest + steps: + - name: Install Media Pack + shell: powershell + run: Install-WindowsFeature Server-Media-Foundation + - name: Install Chrome Beta + shell: powershell + run: choco install -y googlechromebeta --pre --force + - uses: actions/checkout@v2 + - uses: actions/setup-node@v2 + with: + node-version: 12 + - run: npm ci + env: + PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: 1 + - run: npm run build + - run: node lib/cli/cli install ffmpeg + - run: npm run ctest -- --channel=chrome-beta + shell: bash + - run: ./utils/upload_flakiness_dashboard.sh ./test-results/report.json + if: always() + shell: bash + - uses: actions/upload-artifact@v1 + if: ${{ always() }} + with: + name: chrome-beta-win-test-results + path: test-results + + chrome_beta_mac: + name: "Chrome Beta (Mac)" + runs-on: macos-10.15 + steps: + - uses: actions/checkout@v2 + - run: ./utils/install-chrome-beta/reinstall_mac.sh + - uses: actions/setup-node@v2 + with: + node-version: 12 + - run: npm ci + env: + PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: 1 + - run: npm run build + - run: node lib/cli/cli install ffmpeg + - run: npm run ctest -- --channel=chrome-beta + - run: ./utils/upload_flakiness_dashboard.sh ./test-results/report.json + if: always() + - uses: actions/upload-artifact@v1 + if: ${{ always() }} + with: + name: chrome-beta-mac-test-results + path: test-results +