fix: e2e tests (#2806)

Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
This commit is contained in:
Anshuman Pandey
2024-06-26 15:35:01 +05:30
committed by GitHub
parent e00bdf2f79
commit b8efc442e3
124 changed files with 1215 additions and 999 deletions

View File

@@ -7,6 +7,20 @@ jobs:
name: Run E2E Tests
runs-on: ubuntu-latest
timeout-minutes: 60
services:
postgres:
image: postgres:latest
env:
POSTGRES_DB: postgres
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
ports:
- 5432:5432
options: >-
--health-cmd="pg_isready -U testuser"
--health-interval=10s
--health-timeout=5s
--health-retries=5
steps:
- uses: actions/checkout@v3
- uses: ./.github/actions/dangerous-git-checkout
@@ -16,44 +30,46 @@ jobs:
with:
e2e_testing_mode: "1"
- name: Check if pnpm is installed
id: pnpm-check
run: |
if pnpm --version; then
echo "pnpm is installed."
echo "PNPM_INSTALLED=true" >> $GITHUB_ENV
else
echo "pnpm is not installed."
echo "PNPM_INSTALLED=false" >> $GITHUB_ENV
fi
- name: Install pnpm
if: env.PNPM_INSTALLED == 'false'
uses: pnpm/action-setup@v2
- name: Install dependencies
if: env.PNPM_INSTALLED == 'false'
run: pnpm install
- name: Start PostgreSQL
- name: Apply Prisma Migrations
run: |
cd packages/database && pnpm db:up &
for attempt in {1..20}; do
if nc -zv localhost 5432; then
echo "Ready"
break
fi
echo "Waiting..."
sleep 5
done
pnpm db:migrate:dev
- name: Serve packages for lazy loading
run: |
cd packages/surveys && pnpm serve &
pnpm prisma migrate deploy
- name: Run App
run: |
NODE_ENV=test pnpm start --filter=@formbricks/web &
for attempt in {1..20}; do
sleep 10 # Optional: gives some buffer for the app to start
for attempt in {1..10}; do
if [ $(curl -o /dev/null -s -w "%{http_code}" http://localhost:3000/health) -eq 200 ]; then
echo "Ready"
echo "Application is ready."
break
fi
echo "Waiting..."
if [ $attempt -eq 10 ]; then
echo "Application failed to start in time."
exit 1
fi
echo "Still waiting for the application to be ready..."
sleep 10
done
- name: Test Serve endpoints
run: |
curl -s http://localhost:3003
- name: Cache Playwright
uses: actions/cache@v3
id: playwright-cache