feat: add E2E testing support with docker-compose configuration

This commit is contained in:
Nawaz Dhandala 2025-10-09 11:39:30 +01:00
parent 64b6b99a21
commit feb872d05c
No known key found for this signature in database
GPG key ID: 96C5DCA24769DBCA
2 changed files with 28 additions and 6 deletions

View file

@ -2182,14 +2182,20 @@ jobs:
npm run status-check
- name: Wait for server to start
run: bash ./Tests/Scripts/status-check.sh http://localhost
- name: Pull E2E test image
run: |
set -euo pipefail
export $(grep -v '^#' config.env | xargs)
export APP_TAG=${{needs.read-version.outputs.major_minor}}.${{needs.generate-build-number.outputs.build_number}}
docker compose -f docker-compose.e2e.yml pull e2e
- name: Run E2E Tests. Run docker container e2e in docker compose file
run: |
set -euo pipefail
export $(grep -v '^#' config.env | xargs)
export APP_TAG=${{needs.read-version.outputs.major_minor}}.${{needs.generate-build-number.outputs.build_number}}
trap 'docker compose -f docker-compose.dev.yml down -v || true' EXIT
if ! docker compose -f docker-compose.dev.yml up --exit-code-from e2e --abort-on-container-exit e2e; then
docker compose -f docker-compose.dev.yml logs e2e
trap 'docker compose -f docker-compose.e2e.yml down -v || true' EXIT
if ! docker compose -f docker-compose.e2e.yml up --exit-code-from e2e --abort-on-container-exit e2e; then
docker compose -f docker-compose.e2e.yml logs e2e
exit 1
fi
- name: Upload test results
@ -2262,14 +2268,20 @@ jobs:
npm run status-check
- name: Wait for server to start
run: bash ./Tests/Scripts/status-check.sh http://localhost
- name: Pull E2E test image
run: |
set -euo pipefail
export $(grep -v '^#' config.env | xargs)
export APP_TAG=${{needs.read-version.outputs.major_minor}}.${{needs.generate-build-number.outputs.build_number}}
docker compose -f docker-compose.e2e.yml pull e2e
- name: Run E2E Tests. Run docker container e2e in docker compose file
run: |
set -euo pipefail
export $(grep -v '^#' config.env | xargs)
export APP_TAG=${{needs.read-version.outputs.major_minor}}.${{needs.generate-build-number.outputs.build_number}}
trap 'docker compose -f docker-compose.dev.yml down -v || true' EXIT
if ! docker compose -f docker-compose.dev.yml up --exit-code-from e2e --abort-on-container-exit e2e; then
docker compose -f docker-compose.dev.yml logs e2e
trap 'docker compose -f docker-compose.e2e.yml down -v || true' EXIT
if ! docker compose -f docker-compose.e2e.yml up --exit-code-from e2e --abort-on-container-exit e2e; then
docker compose -f docker-compose.e2e.yml logs e2e
exit 1
fi
- name: Upload test results

10
docker-compose.e2e.yml Normal file
View file

@ -0,0 +1,10 @@
services:
e2e:
extends:
file: ./docker-compose.base.yml
service: e2e
image: ghcr.io/oneuptime/e2e:${APP_TAG}
pull_policy: always
volumes:
- ./E2E/playwright-report:/usr/src/app/playwright-report
- ./E2E/test-results:/usr/src/app/test-results