diff options
Diffstat (limited to '.github/workflows')
| -rw-r--r-- | .github/workflows/playwright.yml | 62 |
1 files changed, 62 insertions, 0 deletions
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 |
