name: Test on: push: branches: - master jobs: test: name: Test runs-on: ubuntu-latest steps: - name: Checkout Repo uses: actions/checkout@master - uses: pnpm/action-setup@v2 with: version: 8 - name: Setup Node uses: actions/setup-node@v3 with: node-version: 20 cache: pnpm - name: Store Playwright's Version run: | PLAYWRIGHT_VERSION=$(npm ls @playwright/test | grep @playwright | sed 's/.*@//') echo "Playwright's Version: $PLAYWRIGHT_VERSION" echo "PLAYWRIGHT_VERSION=$PLAYWRIGHT_VERSION" >> $GITHUB_ENV - name: Cache Playwright Browsers for Playwright's Version id: cache-playwright-browsers uses: actions/cache@v3 with: path: ~/.cache/ms-playwright key: playwright-browsers-${{ env.PLAYWRIGHT_VERSION }} - name: Install dependencies run: pnpm install - name: Install playwright browsers if: steps.cache-playwright-browsers.outputs.cache-hit != 'true' run: npx playwright install --with-deps - name: Build run: pnpm build - name: Run unit tests run: pnpm test:unit - name: Run E2E tests run: pnpm test:e2e - uses: actions/upload-artifact@v3 with: name: test-results path: | apps/*/test-results