diff --git a/.github/workflows/playwright.yml b/.github/workflows/playwright.yml new file mode 100644 index 00000000..9b3796a8 --- /dev/null +++ b/.github/workflows/playwright.yml @@ -0,0 +1,34 @@ +name: Playwright Tests +on: + push: + branches: [main, dev] + pull_request: + branches: [main, dev] + workflow_dispatch: + +jobs: + test: + timeout-minutes: 60 + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-node@master + with: + node-version: 18 + - name: Install dependencies + run: npm install + - name: Install Playwright Browsers + run: npx playwright install --with-deps + - name: Build + run: npm run build + - name: Run Playwright tests + run: xvfb-run --auto-servernum --server-args="-screen 0 1280x960x24" -- npm run test:playwright + # if: matrix.os == 'ubuntu-latest' + # - run: npm run test + # if: matrix.os != 'ubuntu-latest' + - uses: actions/upload-artifact@v4 + if: always() + with: + name: test-output + path: test-output/ + retention-days: 30 diff --git a/playwright.config.ts b/playwright.config.ts new file mode 100644 index 00000000..dbe73119 --- /dev/null +++ b/playwright.config.ts @@ -0,0 +1,7 @@ +import { defineConfig } from "@playwright/test" + +export default defineConfig({ + // 'github' for GitHub Actions CI to generate annotations, plus a concise 'dot' + // default 'line' when running locally + reporter: [[process.env.CI ? "html" : "line", { outputFolder: "test-output/playwright-report" }]], +})