Skip to content

Playwright Tests

Playwright Tests #6

Workflow file for this run

name: Playwright Tests
on:
deployment_status:
defaults:
run:
working-directory: ./
permissions:
contents: read # for checkout repository
jobs:
run-e2es:
if: github.event_name == 'deployment_status' && github.event.deployment_status.state == 'success' && github.ref != 'refs/heads/main'
runs-on: ubuntu-latest
name: Run E2E tests
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install Playwright dependencies
run: pnpm exec playwright install-deps
- name: Install Playwright
run: pnpm exec playwright install
- name: Create PandaDoc Webhook
id: pandadoc-webhook
run: |
RESPONSE=$(curl -X POST "https://api.pandadoc.com/public/v1/webhooks" \
-H "Authorization: Bearer ${{ env.PANDADOC_API_KEY }}" \
-H "Content-Type: application/json" \
-d '{
"name": "drpcrd-staging",
"url": "${{ github.event.deployment_status.environment_url }}/api/webhook/pandadoc",
"event_types": [
"document.creation_failed",
"document.deleted",
"document.section_added",
"document.state_changed",
"document.updated",
"document.completed",
"pdf.completed",
"recipient.completed_document"
]
}')
SHARED_KEY=$(echo "$RESPONSE" | jq -r '.shared_key')
echo "PANDADOC_WEBHOOK_SHARED_KEY=$SHARED_KEY" >> $GITHUB_ENV
- name: Run E2E tests
env:
NEXT_PUBLIC_URL: ${{ github.event.deployment_status.environment_url }}
run: pnpm test:e2e
- name: Upload Playwright Report
uses: actions/upload-artifact@v4
with:
name: reports
path: playwright/reports/
retention-days: 7
- name: GitHub Notification
if: failure()
uses: actions/github-script@v6
with:
script: |
github.rest.issues.createComment({
issue_number: 1,
owner: context.repo.owner,
repo: context.repo.repo,
body: "🚨 Playwright tests failed after deployment!"
});