66 lines
1.7 KiB
YAML
66 lines
1.7 KiB
YAML
name: "🧪 E2E Tests"
|
|
on:
|
|
workflow_call:
|
|
jobs:
|
|
e2e:
|
|
name: "🧪 E2E Tests"
|
|
runs-on: buildjet-4vcpu-ubuntu-2204
|
|
steps:
|
|
- name: 🐳 Login to Docker Hub
|
|
uses: docker/login-action@v2
|
|
with:
|
|
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
|
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
|
|
|
- name: ⬇️ Checkout repo
|
|
uses: actions/checkout@v3
|
|
with:
|
|
fetch-depth: 0
|
|
|
|
- name: ⎔ Setup pnpm
|
|
uses: pnpm/action-setup@v2.2.4
|
|
with:
|
|
version: 7.18
|
|
|
|
- name: ⎔ Setup node
|
|
uses: buildjet/setup-node@v3
|
|
with:
|
|
node-version: 18
|
|
cache: "pnpm"
|
|
|
|
- name: 📥 Download deps
|
|
run: pnpm install --frozen-lockfile
|
|
|
|
- name: Install Playwright Browsers
|
|
run: npx playwright install --with-deps
|
|
|
|
- name: Run Playwright tests
|
|
run: |
|
|
# Setup environment variables
|
|
cp ./.env.example ./.env
|
|
cp ./references/nextjs-test/.env.example ./references/nextjs-test/.env.local
|
|
|
|
# Build packages
|
|
pnpm run build --filter @references/nextjs-test^...
|
|
pnpm --filter @trigger.dev/database generate
|
|
|
|
# Move trigger-cli bin to correct place
|
|
pnpm install --frozen-lockfile
|
|
|
|
# Execute tests
|
|
pnpm run docker
|
|
pnpm run db:migrate
|
|
pnpm run db:seed
|
|
pnpm run test:e2e
|
|
|
|
# Cleanup
|
|
pnpm run docker:stop
|
|
|
|
- name: Upload Playwright report
|
|
uses: actions/upload-artifact@v3
|
|
if: always()
|
|
with:
|
|
name: playwright-report
|
|
path: playwright-report/
|
|
retention-days: 30
|