name: Auto browser roll on: schedule: - cron: '0 1 * * *' jobs: roll: strategy: fail-fast: false matrix: browser: [firefox, webkit] runs-on: ubuntu-18.04 name: ${{ matrix.browser }} steps: - uses: microsoft/playwright-github-action@v1 - uses: actions/checkout@v2 - uses: actions/setup-node@v1 with: node-version: 10 - run: npm ci - run: npm run build - name: Build ${{ matrix.browser }} id: build-browser run: bash .github/workflows/auto_roll.sh ${{ matrix.browser }} - run: mkdir -p coredumps # Set core dump file name pattern - run: sudo bash -c 'echo "$(pwd -P)/coredumps/core-pid_%p.dump" > /proc/sys/kernel/core_pattern' # XVFB-RUN merges both STDOUT and STDERR, whereas we need only STDERR # Wrap `npm run` in a subshell to redirect STDERR to file. # Enable core dumps in the subshell. - run: xvfb-run --auto-servernum --server-args="-screen 0 1280x960x24" -- bash -c "ulimit -c unlimited && node test-runner/cli test/ --jobs=1 --forbid-only --timeout=30000" env: BROWSER: ${{ matrix.browser }} DEBUG: "pw:*,-pw:wrapped*,-pw:test*" DEBUG_FILE: "testrun.log" FFPATH: ${{ steps.build-browser.outputs.FFPATH }} WKPATH: ${{ steps.build-browser.outputs.WKPATH }} - uses: actions/upload-artifact@v1 if: failure() with: name: ${{ matrix.browser }}-output path: test/output-${{ matrix.browser }} - uses: actions/upload-artifact@v1 if: ${{ always() }} with: name: ${{ matrix.browser }}-testrun.log path: testrun.log