add java test ci

This commit is contained in:
einhornimmond 2025-06-28 15:27:55 +02:00
parent 2819047dca
commit 779c28e725

View File

@ -176,3 +176,80 @@ jobs:
run: |
cd e2e-tests/playwright/typescript
bun run test
end-to-end-tests-playwright-java:
name: End-to-End Tests Playwright java
runs-on: ubuntu-22.04
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set Node.js version
uses: actions/setup-node@v4
with:
node-version: '18.20.7'
- uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: '17'
- name: install bun
uses: oven-sh/setup-bun@v2
- name: Boot up test system | docker-compose mariadb mailserver
run: docker compose -f docker-compose.yml -f docker-compose.test.yml up --detach mariadb mailserver
- name: Prepare test system
run: |
sudo chown runner:docker -R *
bun install
sudo cp ./nginx/e2e-test.conf /etc/nginx/sites-available/default
- name: Boot up test system | seed backend
run: bun turbo seed
- name: Moving logs after seeding
run: |
mkdir -p /home/runner/work/gradido/gradido/logs/backend/seed
mv /home/runner/work/gradido/gradido/logs/backend/*.log /home/runner/work/gradido/gradido/logs/backend/seed/
- name: Boot up test system | docker-compose backend, frontend
run: |
cd backend
cp .env.test_e2e .env
cd ..
bun turbo backend#build
bun turbo frontend#build
bun turbo backend#start frontend#start --env-mode=loose &
- name: End-to-end tests | prepare
run: |
cd e2e-tests/playwright/typescript
bun install
- name: Install Playwright Browsers
run: npx playwright install --with-deps
- name: wait for frontend and backend to be ready
run: |
until nc -z 127.0.0.1 3000; do echo waiting for frontend; sleep 1; done;
until nc -z 127.0.0.1 4000; do echo waiting for backend; sleep 1; done;
- name: Start local nginx webserver
run: |
sudo nginx -t
sudo systemctl start nginx
- name: wait for nginx and mailserver to be ready
run: |
until nc -z 127.0.0.1 80; do echo waiting for nginx; sleep 1; done;
until nc -z 127.0.0.1 1025; do echo waiting for mailserver; sleep 1; done;
- name: End-to-end tests | run tests
id: e2e-tests
run: |
cd e2e-tests/playwright/java
mvn -B install -D skipTests --no-transfer-progress
mvn exec:java -e -D exec.mainClass=com.microsoft.playwright.CLI -D exec.args="install --with-deps"
mvn test