penpotqa/.github/workflows/playwright_pre.yml
2024-06-04 13:05:25 +03:00

98 lines
3.2 KiB
YAML

name: Penpot Regression Tests on PRE env
on:
schedule: ## run tests each Thursday at 6:00am UTC
- cron: '00 6 * * 4'
workflow_dispatch:
jobs:
tests_chromium:
environment: PRE
runs-on: windows-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 18
- name: Install dependencies
run: npm ci
- name: Install Playwright Browsers
run: npx playwright install --with-deps
- name: Run regression tests for chromium
env:
BASE_URL: ${{ secrets.BASE_URL }}
LOGIN_EMAIL: ${{ secrets.LOGIN_EMAIL }}
LOGIN_PWD: ${{ secrets.LOGIN_PWD }}
REFRESH_TOKEN: ${{ secrets.REFRESH_TOKEN }}
CLIENT_ID: ${{ secrets.CLIENT_ID }}
CLIENT_SECRET: ${{ secrets.CLIENT_SECRET }}
GMAIL_NAME: ${{ secrets.GMAIL_NAME }}
run: npx playwright test --project=chrome -gv 'PERF'
- name: Upload Playwright Report
uses: actions/upload-artifact@v3
if: always()
with:
name: playwright-report-chromium
path: playwright-report/
retention-days: 30
tests_firefox:
if: ${{ always() }}
needs: [tests_chromium]
environment: PRE
runs-on: windows-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 18
- name: Install dependencies
run: npm ci
- name: Install Playwright Browsers
run: npx playwright install --with-deps
- name: Run regression tests for firefox
env:
BASE_URL: ${{ secrets.BASE_URL }}
LOGIN_EMAIL: ${{ secrets.LOGIN_EMAIL }}
LOGIN_PWD: ${{ secrets.LOGIN_PWD }}
REFRESH_TOKEN: ${{ secrets.REFRESH_TOKEN }}
CLIENT_ID: ${{ secrets.CLIENT_ID }}
CLIENT_SECRET: ${{ secrets.CLIENT_SECRET }}
GMAIL_NAME: ${{ secrets.GMAIL_NAME }}
run: npx playwright test --project=firefox -gv 'PERF'
- name: Upload Playwright Report
uses: actions/upload-artifact@v3
if: always()
with:
name: playwright-report-firefox
path: playwright-report/
retention-days: 30
tests_webkit:
if: ${{ always() }}
needs: [tests_chromium, tests_firefox]
environment: PRE
runs-on: windows-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 18
- name: Install dependencies
run: npm ci
- name: Install Playwright Browsers
run: npx playwright install --with-deps
- name: Run regression tests for webkit
env:
BASE_URL: ${{ secrets.BASE_URL }}
LOGIN_EMAIL: ${{ secrets.LOGIN_EMAIL }}
LOGIN_PWD: ${{ secrets.LOGIN_PWD }}
REFRESH_TOKEN: ${{ secrets.REFRESH_TOKEN }}
CLIENT_ID: ${{ secrets.CLIENT_ID }}
CLIENT_SECRET: ${{ secrets.CLIENT_SECRET }}
GMAIL_NAME: ${{ secrets.GMAIL_NAME }}
run: npx playwright test --project=webkit -gv 'PERF'
- name: Upload Playwright Report
uses: actions/upload-artifact@v3
if: always()
with:
name: playwright-report-webkit
path: playwright-report/
retention-days: 30