diff --git a/.github/workflows/test_backend.yml b/.github/workflows/test_backend.yml index 8d1a8e2c4..4461940b3 100644 --- a/.github/workflows/test_backend.yml +++ b/.github/workflows/test_backend.yml @@ -43,18 +43,20 @@ jobs: - name: Checkout code uses: actions/checkout@v3 - - name: Backend | docker-compose mariadb + - name: docker-compose mariadb run: docker compose -f docker-compose.yml -f docker-compose.test.yml up --detach --no-deps mariadb + + - name: Backend | install and build + run: cd database && yarn && yarn build && cd ../config && yarn && cd ../backend && yarn && yarn build - - name: Sleep for 30 seconds - run: sleep 30s - shell: bash + - name: wait for database to be ready + run: docker run --rm --network gradido_internal-net busybox sh -c 'until nc -z mariadb 3306; do echo waiting for db; sleep 1; done;' - - name: Backend | docker-compose database - run: docker compose -f docker-compose.yml -f docker-compose.test.yml up --detach --no-deps database + - name: Backend | prepare database + run: cd database && yarn up:backend_test - - name: Backend | Unit tests - run: cd database && yarn && yarn build && cd ../config && yarn install && cd ../backend && yarn && yarn test + - name: Backend | Unit tests + run: cd backend && yarn test lint: if: needs.files-changed.outputs.backend == 'true' @@ -66,7 +68,7 @@ jobs: uses: actions/checkout@v3 - name: Backend | Lint - run: cd database && yarn && cd ../config && yarn install && cd ../backend && yarn && yarn run lint + run: cd backend && yarn && yarn run lint locales: if: needs.files-changed.outputs.backend == 'true' diff --git a/.github/workflows/test_database.yml b/.github/workflows/test_database.yml index 6f0c1d760..aa02edf87 100644 --- a/.github/workflows/test_database.yml +++ b/.github/workflows/test_database.yml @@ -42,7 +42,7 @@ jobs: - name: Checkout code uses: actions/checkout@v3 - - name: Database | docker-compose + - name: docker-compose mariadb run: docker compose -f docker-compose.yml -f docker-compose.test.yml up --detach mariadb - name: Database | up diff --git a/.github/workflows/test_dht_node.yml b/.github/workflows/test_dht_node.yml index 4cb50a093..0fed7b2ea 100644 --- a/.github/workflows/test_dht_node.yml +++ b/.github/workflows/test_dht_node.yml @@ -31,15 +31,7 @@ jobs: uses: actions/checkout@v3 - name: Build 'test' image - run: | - docker build --target test -t "gradido/dht-node:test" -f dht-node/Dockerfile . - docker save "gradido/dht-node:test" > /tmp/dht-node.tar - - - name: Upload Artifact - uses: actions/upload-artifact@v4 - with: - name: docker-dht-node-test - path: /tmp/dht-node.tar + run: docker build --target test -t "gradido/dht-node:test" -f dht-node/Dockerfile . lint: name: Lint - DHT Node @@ -50,8 +42,8 @@ jobs: - name: Checkout code uses: actions/checkout@v3 - - name: Lint - run: cd database && yarn && cd ../config && yarn install && cd ../dht-node && yarn && yarn run lint + - name: DHT-Node | Lint + run: cd dht-node && yarn && yarn run lint unit_test: name: Unit Tests - DHT Node @@ -62,30 +54,18 @@ jobs: - name: Checkout code uses: actions/checkout@v3 - - name: Download Docker Image - uses: actions/download-artifact@v4 - with: - name: docker-dht-node-test - path: /tmp - - - name: Load Docker Image - run: docker load < /tmp/dht-node.tar - - name: docker-compose mariadb run: docker compose -f docker-compose.yml -f docker-compose.test.yml up --detach --no-deps mariadb - - name: Sleep for 30 seconds - run: sleep 30s - shell: bash + - name: DHT-Node | install and build + run: cd database && yarn && yarn build && cd ../config && yarn && cd ../dht-node && yarn && yarn build - - name: docker-compose database - run: docker compose -f docker-compose.yml -f docker-compose.test.yml up --detach --no-deps database + - name: wait for database to be ready + run: docker run --rm --network gradido_internal-net busybox sh -c 'until nc -z mariadb 3306; do echo waiting for db; sleep 1; done;' - - name: Sleep for 30 seconds - run: sleep 30s - shell: bash + - name: DHT-Node | prepare database + run: cd database && yarn up:dht_test + + - name: DHT-Node | Unit tests + run: cd dht-node && yarn test - - name: Unit tests - run: cd database && yarn && yarn build && cd ../config && yarn install && cd ../dht-node && yarn && yarn test - #- name: Unit tests - # run: docker run --env NODE_ENV=test --env DB_HOST=mariadb --network gradido_internal-net --rm gradido/dht-node:test yarn run test diff --git a/.github/workflows/test_e2e.yml b/.github/workflows/test_e2e.yml index 3fb92562c..6dbc31704 100644 --- a/.github/workflows/test_e2e.yml +++ b/.github/workflows/test_e2e.yml @@ -13,25 +13,10 @@ jobs: - name: Boot up test system | docker-compose mariadb run: docker compose -f docker-compose.yml -f docker-compose.test.yml up --detach mariadb - - name: Sleep for 10 seconds - run: sleep 10s - - - name: Boot up test system | seed backend - run: | - sudo chown runner:docker -R * - cd database - yarn && yarn dev_reset - cd ../config - yarn install - cd ../backend - yarn && yarn seed - - - name: Boot up test system | docker-compose backend, frontend, admin, nginx, mailserver - run: | - cd backend - cp .env.test_e2e .env - cd .. - docker compose -f docker-compose.yml -f docker-compose.test.yml up --detach --no-deps backend frontend admin nginx mailserver + - name: Prepare test system + run: sudo chown runner:docker -R * + cd database && yarn + cd ../backend && yarn - name: End-to-end tests | prepare run: | @@ -41,6 +26,21 @@ jobs: cd e2e-tests/ yarn + - name: wait for database to be ready + run: docker run --rm --network gradido_internal-net busybox sh -c 'until nc -z mariadb 3306; do echo waiting for db; sleep 1; done;' + + - name: Boot up test system | seed backend + run: | + cd database && yarn dev_reset + cd ../backend && yarn seed + + - name: Boot up test system | docker-compose backend, frontend, admin, nginx, mailserver + run: | + cd backend + cp .env.test_e2e .env + cd .. + docker compose -f docker-compose.yml -f docker-compose.test.yml up --detach --no-deps backend frontend admin nginx mailserver + - name: End-to-end tests | run tests id: e2e-tests run: | diff --git a/.github/workflows/test_federation.yml b/.github/workflows/test_federation.yml index 8f5acb344..8e912d41a 100644 --- a/.github/workflows/test_federation.yml +++ b/.github/workflows/test_federation.yml @@ -72,20 +72,15 @@ jobs: - name: docker-compose mariadb run: docker compose -f docker-compose.yml -f docker-compose.test.yml up --detach --no-deps mariadb - - - name: Sleep for 30 seconds - run: sleep 30s - shell: bash - - name: docker-compose database - run: docker compose -f docker-compose.yml -f docker-compose.test.yml up --detach --no-deps database + - name: Federation | install and build + run: cd database && yarn && yarn build && cd ../config && yarn && cd ../federation && yarn && yarn build - - name: Sleep for 30 seconds - run: sleep 30s - shell: bash + - name: wait for database to be ready + run: docker run --rm --network gradido_internal-net busybox sh -c 'until nc -z mariadb 3306; do echo waiting for db; sleep 1; done;' - #- name: Unit tests - # run: cd database && yarn && yarn build && cd ../dht-node && yarn && yarn test - - name: Unit tests - run: | - docker run --env NODE_ENV=test --env DB_HOST=mariadb --network gradido_internal-net --rm gradido/federation:test yarn run test + - name: Federation | prepare database + run: cd database && yarn up:federation_test + + - name: Federation | Unit tests + run: docker run --env NODE_ENV=test --env DB_HOST=mariadb --network gradido_internal-net --rm gradido/federation:test yarn run test