From 9d01155d919b109540a55c97862dc2dc9d7ed74e Mon Sep 17 00:00:00 2001 From: mahula Date: Tue, 1 Nov 2022 10:16:30 +0100 Subject: [PATCH 1/6] github test workflow: add e2e testing job --- .github/workflows/test.yml | 67 +++++++++++++++++++++++++++++++++++++- 1 file changed, 66 insertions(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 34ebeff11..d89de5d7f 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -1,6 +1,9 @@ name: gradido test CI -on: [push] +on: + push: + branches: + - 2283-feature-implement-fullstack-tests-as-github-workflow jobs: ############################################################################## @@ -553,3 +556,65 @@ jobs: run: docker-compose -f docker-compose.yml run -T database yarn up - name: database | reset run: docker-compose -f docker-compose.yml run -T database yarn reset + + ############################################################################## + # JOB: END-TO-END TESTS ##################################################### + ############################################################################## + end-to-end-tests: + name: End-to-End Tests + runs-on: ubuntu-latest + # needs: [build_test_mariadb, build_test_database_up, build_test_backend, build_test_admin, build_test_frontend, build_test_nginx] + steps: + ########################################################################## + # CHECKOUT CODE ########################################################## + ########################################################################## + - name: Checkout code + uses: actions/checkout@v3 + ########################################################################## + # BOOT UP THE TEST SYSTEM ################################################ + ########################################################################## + - name: Boot up test system | docker-compose mariadb + run: docker-compose up --detach mariadb + + - name: Sleep for 30 seconds + run: sleep 30s + + - name: Boot up test system | docker-compose database + run: docker-compose up --detach --no-deps database + + - name: Boot up test system | docker-compose backend + run: docker-compose up --detach --no-deps backend + + - name: Sleep for 90 seconds + run: sleep 90s + + - name: Boot up test system | seed backend + run: | + sudo chown runner:docker -R * + cd database + yarn && yarn dev_reset + cd ../backend + yarn && yarn seed + cd .. + + - name: Boot up test system | docker-compose frontends + run: docker-compose up --detach --no-deps frontend admin nginx + + - name: Sleep for 2.5 minutes + run: sleep 150s + + ########################################################################## + # END-TO-END TESTS ####################################################### + ########################################################################## + - name: End-to-end tests | run tests + id: e2e-tests + run: | + cd e2e-tests/cypress/tests/ + yarn + yarn run cypress run --spec cypress/e2e/User.Authentication.feature + - name: End-to-end tests | if tests failed, upload screenshots + if: steps.e2e-tests.outcome == 'failure' + uses: actions/upload-artifact@v3 + with: + name: cypress-screenshots + path: /home/runner/work/gradido/gradido/e2e-tests/cypress/tests/cypress/screenshots/ From 1be1339992456377b9afc0ea4c0d0e78a3d83eb8 Mon Sep 17 00:00:00 2001 From: mahula Date: Tue, 1 Nov 2022 10:32:28 +0100 Subject: [PATCH 2/6] github test workflow: rename branch for triggering --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index d89de5d7f..9afee6075 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -3,7 +3,7 @@ name: gradido test CI on: push: branches: - - 2283-feature-implement-fullstack-tests-as-github-workflow + - 2283-feature-fullstack-tests-as-github-workflow jobs: ############################################################################## From 720c064c4d78efd55ef3106d43cebbbc658b5f10 Mon Sep 17 00:00:00 2001 From: mahula Date: Tue, 1 Nov 2022 10:56:15 +0100 Subject: [PATCH 3/6] github test workflow: add job dependencies to e2e tests job --- .github/workflows/test.yml | 47 +++++++++++++++++++++++++++++++++++++- 1 file changed, 46 insertions(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 9afee6075..a971eee4e 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -563,7 +563,7 @@ jobs: end-to-end-tests: name: End-to-End Tests runs-on: ubuntu-latest - # needs: [build_test_mariadb, build_test_database_up, build_test_backend, build_test_admin, build_test_frontend, build_test_nginx] + needs: [build_test_mariadb, build_test_database_up, build_test_backend, build_test_admin, build_test_frontend, build_test_nginx] steps: ########################################################################## # CHECKOUT CODE ########################################################## @@ -571,6 +571,51 @@ jobs: - name: Checkout code uses: actions/checkout@v3 ########################################################################## + # DOWNLOAD DOCKER IMAGES ################################################# + ########################################################################## + - name: Download Docker Image (Mariadb) + uses: actions/download-artifact@v3 + with: + name: docker-mariadb-test + path: /tmp + - name: Load Docker Image (Mariadb) + run: docker load < /tmp/mariadb.tar + - name: Download Docker Image (Database Up) + uses: actions/download-artifact@v3 + with: + name: docker-database-test_up + path: /tmp + - name: Load Docker Image (Database Up) + run: docker load < /tmp/database_up.tar + - name: Download Docker Image (Backend) + uses: actions/download-artifact@v3 + with: + name: docker-backend-test + path: /tmp + - name: Load Docker Image (Backend) + run: docker load < /tmp/backend.tar + - name: Download Docker Image (Frontend) + uses: actions/download-artifact@v3 + with: + name: docker-frontend-test + path: /tmp + - name: Load Docker Image (Frontend) + run: docker load < /tmp/frontend.tar + - name: Download Docker Image (Admin Interface) + uses: actions/download-artifact@v3 + with: + name: docker-admin-test + path: /tmp + - name: Load Docker Image (Admin Interface) + run: docker load < /tmp/nginx.tar + - name: Download Docker Image (Nginx) + uses: actions/download-artifact@v3 + with: + name: docker-nginx-test + path: /tmp + - name: Load Docker Image (Nginx) + run: docker load < /tmp/nginx.tar + ########################################################################## # BOOT UP THE TEST SYSTEM ################################################ ########################################################################## - name: Boot up test system | docker-compose mariadb From 9cd0f450594acce14cf7939fd1e357b1cd162626 Mon Sep 17 00:00:00 2001 From: mahula Date: Tue, 1 Nov 2022 11:08:06 +0100 Subject: [PATCH 4/6] github test workflow: fix typos --- .github/workflows/test.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index a971eee4e..96d0ce9a1 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -311,7 +311,7 @@ jobs: # JOB: LOCALES ADMIN ######################################################### ############################################################################## locales_admin: - name: Locales - Admin + name: Locales - Admin Interface runs-on: ubuntu-latest needs: [build_test_admin] steps: @@ -607,7 +607,7 @@ jobs: name: docker-admin-test path: /tmp - name: Load Docker Image (Admin Interface) - run: docker load < /tmp/nginx.tar + run: docker load < /tmp/admin.tar - name: Download Docker Image (Nginx) uses: actions/download-artifact@v3 with: From 7f565078bd7cbce43ace7e05797a6a50eb12605c Mon Sep 17 00:00:00 2001 From: mahula Date: Tue, 1 Nov 2022 11:28:19 +0100 Subject: [PATCH 5/6] github test workflow: ountcomment container dependencies --- .github/workflows/test.yml | 86 +++++++++++++++++++------------------- 1 file changed, 43 insertions(+), 43 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 96d0ce9a1..15bdc8c50 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -563,7 +563,7 @@ jobs: end-to-end-tests: name: End-to-End Tests runs-on: ubuntu-latest - needs: [build_test_mariadb, build_test_database_up, build_test_backend, build_test_admin, build_test_frontend, build_test_nginx] + # needs: [build_test_mariadb, build_test_database_up, build_test_backend, build_test_admin, build_test_frontend, build_test_nginx] steps: ########################################################################## # CHECKOUT CODE ########################################################## @@ -573,48 +573,48 @@ jobs: ########################################################################## # DOWNLOAD DOCKER IMAGES ################################################# ########################################################################## - - name: Download Docker Image (Mariadb) - uses: actions/download-artifact@v3 - with: - name: docker-mariadb-test - path: /tmp - - name: Load Docker Image (Mariadb) - run: docker load < /tmp/mariadb.tar - - name: Download Docker Image (Database Up) - uses: actions/download-artifact@v3 - with: - name: docker-database-test_up - path: /tmp - - name: Load Docker Image (Database Up) - run: docker load < /tmp/database_up.tar - - name: Download Docker Image (Backend) - uses: actions/download-artifact@v3 - with: - name: docker-backend-test - path: /tmp - - name: Load Docker Image (Backend) - run: docker load < /tmp/backend.tar - - name: Download Docker Image (Frontend) - uses: actions/download-artifact@v3 - with: - name: docker-frontend-test - path: /tmp - - name: Load Docker Image (Frontend) - run: docker load < /tmp/frontend.tar - - name: Download Docker Image (Admin Interface) - uses: actions/download-artifact@v3 - with: - name: docker-admin-test - path: /tmp - - name: Load Docker Image (Admin Interface) - run: docker load < /tmp/admin.tar - - name: Download Docker Image (Nginx) - uses: actions/download-artifact@v3 - with: - name: docker-nginx-test - path: /tmp - - name: Load Docker Image (Nginx) - run: docker load < /tmp/nginx.tar + # - name: Download Docker Image (Mariadb) + # uses: actions/download-artifact@v3 + # with: + # name: docker-mariadb-test + # path: /tmp + # - name: Load Docker Image (Mariadb) + # run: docker load < /tmp/mariadb.tar + # - name: Download Docker Image (Database Up) + # uses: actions/download-artifact@v3 + # with: + # name: docker-database-test_up + # path: /tmp + # - name: Load Docker Image (Database Up) + # run: docker load < /tmp/database_up.tar + # - name: Download Docker Image (Backend) + # uses: actions/download-artifact@v3 + # with: + # name: docker-backend-test + # path: /tmp + # - name: Load Docker Image (Backend) + # run: docker load < /tmp/backend.tar + # - name: Download Docker Image (Frontend) + # uses: actions/download-artifact@v3 + # with: + # name: docker-frontend-test + # path: /tmp + # - name: Load Docker Image (Frontend) + # run: docker load < /tmp/frontend.tar + # - name: Download Docker Image (Admin Interface) + # uses: actions/download-artifact@v3 + # with: + # name: docker-admin-test + # path: /tmp + # - name: Load Docker Image (Admin Interface) + # run: docker load < /tmp/admin.tar + # - name: Download Docker Image (Nginx) + # uses: actions/download-artifact@v3 + # with: + # name: docker-nginx-test + # path: /tmp + # - name: Load Docker Image (Nginx) + # run: docker load < /tmp/nginx.tar ########################################################################## # BOOT UP THE TEST SYSTEM ################################################ ########################################################################## From 63c0bf8e520bd0376859d27737c7c03fbfaf1fb5 Mon Sep 17 00:00:00 2001 From: mahula Date: Tue, 1 Nov 2022 11:30:00 +0100 Subject: [PATCH 6/6] github test workflow: remove branch from trigger info --- .github/workflows/test.yml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 15bdc8c50..dc9e1d513 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -1,9 +1,6 @@ name: gradido test CI -on: - push: - branches: - - 2283-feature-fullstack-tests-as-github-workflow +on: push jobs: ##############################################################################