name: Playwright Tests on: pull_request: paths: - 'frontend/src/**' - 'frontend/*.json' - 'frontend/*.js' - 'frontend/*.ts' jobs: test: timeout-minutes: 60 runs-on: ubuntu-latest env: DEV_PASSWORD: ${{ secrets.DEV_PASSWORD }} API_BASE_URL: ${{ secrets.API_BASE_URL }} working-directory: ./frontend steps: - name: Checkout uses: actions/checkout@v3 - name: Setup Node uses: actions/setup-node@v3 with: node-version: '16' cache: 'yarn' cache-dependency-path: frontend/yarn.lock - name: Install dependencies working-directory: frontend run: yarn install --frozen-lockfile - name: Install Playwright Browsers run: yarn add playwright@1.32.1 && yarn playwright install --with-deps working-directory: ./frontend - name: Create env file run: | cd frontend touch .env echo DEV_PASSWORD="${{ secrets.DEV_PASSWORD }}" >> .env echo API_BASE_URL=${{ secrets.API_BASE_URL }} >> .env cat .env - name: Build frontend run: cd frontend && yarn build id: build-frontend - name: Run Playwright tests run: cd frontend && yarn playwright test - uses: actions/upload-artifact@v2 if: always() with: name: playwright-report path: frontend/playwright-report/ retention-days: 30