Switch to new Chrome headless mode instead

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
This commit is contained in:
Michael Telatynski 2024-12-02 17:34:21 +00:00
parent be7d4f8b46
commit 4fd2eb376c
No known key found for this signature in database
GPG key ID: A2B008A5F49F5D0D
4 changed files with 6 additions and 11 deletions

View file

@ -128,15 +128,10 @@ jobs:
- name: Install Playwright browsers - name: Install Playwright browsers
if: steps.playwright-cache.outputs.cache-hit != 'true' if: steps.playwright-cache.outputs.cache-hit != 'true'
run: yarn playwright install --with-deps run: yarn playwright install --with-deps --no-shell chromium
- name: Run Playwright tests - name: Run Playwright tests
uses: coactions/setup-xvfb@6b00cf1889f4e1d5a48635647013c0508128ee1a run: yarn playwright test --shard ${{ matrix.runner }}/${{ strategy.job-total }}
timeout-minutes: 30
with:
run: "yarn playwright test --shard ${{ matrix.runner }}/${{ strategy.job-total }}"
env:
HEADED: 1
- name: Upload blob report to GitHub Actions Artifacts - name: Upload blob report to GitHub Actions Artifacts
if: always() if: always()

View file

@ -6,11 +6,12 @@ SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only
Please see LICENSE files in the repository root for full details. Please see LICENSE files in the repository root for full details.
*/ */
import { defineConfig } from "@playwright/test"; import { defineConfig, devices } from "@playwright/test";
const baseURL = process.env["BASE_URL"] ?? "http://localhost:8080"; const baseURL = process.env["BASE_URL"] ?? "http://localhost:8080";
export default defineConfig({ export default defineConfig({
projects: [{ name: "Chrome", use: { ...devices["Desktop Chrome"], channel: "chromium" } }],
use: { use: {
viewport: { width: 1280, height: 720 }, viewport: { width: 1280, height: 720 },
ignoreHTTPSErrors: true, ignoreHTTPSErrors: true,
@ -21,7 +22,6 @@ export default defineConfig({
args: ["--use-fake-ui-for-media-stream", "--use-fake-device-for-media-stream", "--mute-audio"], args: ["--use-fake-ui-for-media-stream", "--use-fake-device-for-media-stream", "--mute-audio"],
}, },
trace: "on-first-retry", trace: "on-first-retry",
headless: !!process.env.HEADED,
}, },
webServer: { webServer: {
command: process.env.CI ? "npx serve -p 8080 -L ./webapp" : "yarn start", command: process.env.CI ? "npx serve -p 8080 -L ./webapp" : "yarn start",

View file

@ -3,7 +3,7 @@ FROM mcr.microsoft.com/playwright:v1.49.0-jammy
WORKDIR /work WORKDIR /work
# fonts-dejavu is needed for the same RTL rendering as on CI # fonts-dejavu is needed for the same RTL rendering as on CI
RUN apt-get update && apt-get -y install docker.io fonts-dejavu xvfb RUN apt-get update && apt-get -y install docker.io fonts-dejavu
COPY docker-entrypoint.sh /opt/docker-entrypoint.sh COPY docker-entrypoint.sh /opt/docker-entrypoint.sh
ENTRYPOINT ["bash", "/opt/docker-entrypoint.sh"] ENTRYPOINT ["bash", "/opt/docker-entrypoint.sh"]

View file

@ -2,4 +2,4 @@
set -e set -e
HEADED=1 xvfb-run npx playwright test --update-snapshots --reporter line $@ npx playwright test --update-snapshots --reporter line $@