diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index c1e5586..bf88b9e 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -1,11 +1,11 @@ -# Deploy sites in firebase.json - -name: Deploy pages +name: Build, Test, and Deploy on: - workflow_run: - workflows: ["Test"] - types: - - completed + push: + branches: + - master +concurrency: + group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} + cancel-in-progress: true jobs: deploy: if: ${{ github.repository_owner == 'developomp' }} @@ -25,12 +25,38 @@ jobs: node-version: 18 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 tests + run: pnpm test:e2e + + - uses: actions/upload-artifact@v3 + with: + name: test-results + path: | + apps/*/test-results + - name: Deploy to Firebase uses: w9jds/firebase-action@master with: diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml deleted file mode 100644 index f56c88f..0000000 --- a/.github/workflows/test.yml +++ /dev/null @@ -1,55 +0,0 @@ -name: Test -on: - push: - branches: - - master -concurrency: - group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} - cancel-in-progress: true -jobs: - test: - if: ${{ github.repository_owner == 'developomp' }} - 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: 18 - 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: Run tests - run: pnpm test:e2e - - - uses: actions/upload-artifact@v3 - with: - name: test-results - path: | - apps/*/test-results