forked from crowetic/commerce
50 lines
1.7 KiB
YAML
50 lines
1.7 KiB
YAML
|
name: e2e
|
||
|
on:
|
||
|
schedule:
|
||
|
# Runs "at 09:00 and 15:00, Monday through Friday" (see https://crontab.guru)
|
||
|
- cron: '0 9,15 * * 1-5'
|
||
|
jobs:
|
||
|
e2e:
|
||
|
runs-on: ubuntu-latest
|
||
|
steps:
|
||
|
- name: Cancel running workflows
|
||
|
uses: styfle/cancel-workflow-action@0.11.0
|
||
|
with:
|
||
|
access_token: ${{ github.token }}
|
||
|
- name: Checkout repo
|
||
|
uses: actions/checkout@v3
|
||
|
- name: Set node version
|
||
|
uses: actions/setup-node@v3
|
||
|
with:
|
||
|
node-version-file: '.nvmrc'
|
||
|
- name: Set pnpm version
|
||
|
uses: pnpm/action-setup@v2
|
||
|
with:
|
||
|
run_install: false
|
||
|
version: 7
|
||
|
- name: Cache node_modules
|
||
|
id: node-modules-cache
|
||
|
uses: actions/cache@v3
|
||
|
with:
|
||
|
path: '**/node_modules'
|
||
|
key: node-modules-cache-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||
|
- name: Install dependencies
|
||
|
if: steps.node-modules-cache.outputs.cache-hit != 'true'
|
||
|
run: pnpm install
|
||
|
- name: Get playwright version
|
||
|
run: echo "PLAYWRIGHT_VERSION=$(node -e "console.log(require('./node_modules/@playwright/test/package.json').version)")" >> $GITHUB_ENV
|
||
|
- name: Cache playwright
|
||
|
uses: actions/cache@v3
|
||
|
id: playwright-cache
|
||
|
with:
|
||
|
path: '~/.cache/ms-playwright'
|
||
|
key: playwright-cache-${{ env.PLAYWRIGHT_VERSION }}
|
||
|
- name: Install playwright browsers
|
||
|
if: steps.playwright-cache.outputs.cache-hit != 'true'
|
||
|
run: npx playwright install --with-deps
|
||
|
- name: Install playwright browser dependencies
|
||
|
if: steps.playwright-cache.outputs.cache-hit == 'true'
|
||
|
run: npx playwright install-deps
|
||
|
- name: Run tests
|
||
|
run: pnpm test:e2e
|