From 9dae69ef3282aa7c3ebd5243b77199108ad595f9 Mon Sep 17 00:00:00 2001 From: Serghei Iakovlev Date: Sun, 7 Apr 2024 00:25:15 +0200 Subject: Add support of E2E tests using Playwright --- .github/workflows/playwright.yml | 62 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 .github/workflows/playwright.yml (limited to '.github') diff --git a/.github/workflows/playwright.yml b/.github/workflows/playwright.yml new file mode 100644 index 0000000..d5106f2 --- /dev/null +++ b/.github/workflows/playwright.yml @@ -0,0 +1,62 @@ +name: Playwright Tests + +on: + push: + branches: + - main + - 'feature/**' + - 'release/**' + - 'fix/**' + # The branches below must be a subset of the branches above + pull_request: + branches: + - main + +jobs: + test: + name: Run Playwright tests + runs-on: ubuntu-latest + + # The maximum number of minutes to let a workflow run + # before GitHub automatically cancels it. Default: 360 + timeout-minutes: 30 + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Set up Node 20.x + uses: actions/setup-node@v4 + with: + node-version: '20.x' + + - name: Setup npm cache + uses: actions/cache@v4 + with: + path: ~/.npm + key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} + restore-keys: | + ${{ runner.os }}-node- + + - name: Install npm dependencies + run: npm ci --ignore-scripts + + - name: Install Playwright Browsers + run: npx playwright install --with-deps + + - name: Setup Hugo + uses: peaceiris/actions-hugo@v3 + with: + hugo-version: '0.101.0' + extended: true + + - name: Run Playwright tests + run: npx playwright test + + - name: Upload tests artifact + uses: actions/upload-artifact@v4 + if: always() + with: + name: playwright-report + path: playwright-report/ + retention-days: 30 -- cgit v1.2.3