infra(stable): add chrome stable bot (#5768)

This commit is contained in:
Pavel Feldman 2021-03-09 19:19:21 -08:00 committed by GitHub
parent 13977301fd
commit 7fa59f6d94
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 34 additions and 0 deletions

View file

@ -258,3 +258,35 @@ jobs:
with:
name: android-test-results
path: test-results
chrome_stable:
name: "Chrome Stable"
strategy:
fail-fast: false
runs-on: ubuntu-18.04
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v1
with:
node-version: 10
- uses: microsoft/playwright-github-action@v1
- name: Install Chrome Stable
run: sudo apt install google-chrome-stable
- run: npm ci
- run: npm run build
- 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 && npx folio test/ --workers=1 --forbid-only --timeout=60000 --global-timeout=5400000 --retries=3 --reporter=dot,json -p video"
env:
BROWSER: "chromium"
CRPATH: "/opt/google/chrome/chrome"
FOLIO_JSON_OUTPUT_NAME: "test-results/report.json"
- uses: actions/upload-artifact@v1
if: ${{ always() }}
with:
name: chrome-stable-test-results
path: test-results

View file

@ -175,6 +175,7 @@ fixtures.build().it('focused input should produce the same screenshot', (test, {
test.fail(browserName === 'firefox' && platform === 'darwin', 'headless has thinner outline');
test.fail(browserName === 'firefox' && platform === 'linux', 'headless has no outline');
test.skip(browserName === 'webkit' && platform === 'linux', 'gtk vs wpe');
test.skip(process.env.CRPATH);
}, async ({browserType, browserOptions}) => {
const headful = await browserType.launch({...browserOptions, headless: false });
const headfulPage = await headful.newPage();

View file

@ -192,6 +192,7 @@ describe('page screenshot', (suite, { browserName, headful }) => {
it('should work with a mobile viewport and clip', (test, { browserName }) => {
test.skip(browserName === 'firefox');
test.skip(process.env.CRPATH); // Does not work in stable Chrome.
}, async ({browser, server}) => {
const context = await browser.newContext({viewport: { width: 320, height: 480 }, isMobile: true});
const page = await context.newPage();