End to end tests #17
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: End to end tests | |
on: | |
workflow_dispatch: | |
jobs: | |
test: | |
timeout-minutes: 60 | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: lts/* | |
- name: Install dependencies | |
run: npm ci | |
- name: Install Playwright Browsers | |
run: npx playwright install --with-deps | |
- name: Create environment file | |
run: cp .env.dev .env | |
- name: Build application for production | |
run: npm run build | |
- name: Ensure pm2 is installed | |
run: npm install pm2 -g | |
- name: Start app in background | |
run: pm2 start npm --name=app -- run start | |
- name: Check app logs | |
run: pm2 logs app --nostream | |
- name: Run Playwright tests | |
run: npx playwright test | |
- name: Stop app | |
run: pm2 stop app | |
- uses: actions/upload-artifact@v4 | |
if: always() | |
with: | |
name: playwright-report | |
path: playwright-report/ | |
retention-days: 30 | |
- uses: actions/upload-artifact@v4 | |
if: always() | |
with: | |
name: app-logs | |
path: /home/runner/.pm2/logs/ | |
retention-days: 30 |