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