diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index de7ed6ee6..8012987c5 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -29,6 +29,32 @@ jobs: name: docker-frontend-test path: /tmp/frontend.tar + ############################################################################## + # JOB: DOCKER BUILD TEST ADMIN INTERFACE ##################################### + ############################################################################## + build_test_admin: + name: Docker Build Test - Admin Interface + runs-on: ubuntu-latest + #needs: [nothing] + steps: + ########################################################################## + # CHECKOUT CODE ########################################################## + ########################################################################## + - name: Checkout code + uses: actions/checkout@v2 + ########################################################################## + # ADMIN INTERFACE ######################################################## + ########################################################################## + - name: Admin | Build `test` image + run: | + docker build --target test -t "gradido/admin:test" admin/ + docker save "gradido/admin:test" > /tmp/admin.tar + - name: Upload Artifact + uses: actions/upload-artifact@v2 + with: + name: docker-admin-test + path: /tmp/admin.tar + ############################################################################## # JOB: DOCKER BUILD TEST BACKEND ############################################# ############################################################################## @@ -240,7 +266,36 @@ jobs: run: docker run --rm gradido/frontend:test yarn run lint ############################################################################## - # JOB: LINT BACKEND ######################################################### + # JOB: LINT ADMIN INTERFACE ################################################## + ############################################################################## + lint_admin: + name: Lint - Admin Interface + runs-on: ubuntu-latest + needs: [build_test_admin] + steps: + ########################################################################## + # CHECKOUT CODE ########################################################## + ########################################################################## + - name: Checkout code + uses: actions/checkout@v2 + ########################################################################## + # DOWNLOAD DOCKER IMAGE ################################################## + ########################################################################## + - name: Download Docker Image (Admin Interface) + uses: actions/download-artifact@v2 + with: + name: docker-admin-test + path: /tmp + - name: Load Docker Image + run: docker load < /tmp/admin.tar + ########################################################################## + # LINT ADMIN INTERFACE ################################################### + ########################################################################## + - name: Admin Interface | Lint + run: docker run --rm gradido/admin:test yarn run lint + + ############################################################################## + # JOB: LINT BACKEND ########################################################## ############################################################################## lint_backend: name: Lint - Backend @@ -347,6 +402,48 @@ jobs: min_coverage: 83 token: ${{ github.token }} + ############################################################################## + # JOB: UNIT TEST ADMIN INTERFACE ############################################# + ############################################################################## + unit_test_admin: + name: Unit tests - Admin Interface + runs-on: ubuntu-latest + needs: [build_test_admin] + steps: + ########################################################################## + # CHECKOUT CODE ########################################################## + ########################################################################## + - name: Checkout code + uses: actions/checkout@v2 + ########################################################################## + # DOWNLOAD DOCKER IMAGES ################################################# + ########################################################################## + - name: Download Docker Image (Admin Interface) + uses: actions/download-artifact@v2 + with: + name: docker-admin-test + path: /tmp + - name: Load Docker Image + run: docker load < /tmp/admin.tar + ########################################################################## + # UNIT TESTS FRONTEND #################################################### + ########################################################################## + - name: Admin Interface | Unit tests + run: | + docker run -v ~/coverage:/app/coverage --rm gradido/admin:test yarn run test + cp -r ~/coverage ./coverage + ########################################################################## + # COVERAGE CHECK ADMIN INTERFACE########################################## + ########################################################################## + - name: Admin Interface | Coverage check + uses: webcraftmedia/coverage-check-action@master + with: + report_name: Coverage Admin Interface + type: lcov + result_path: ./coverage/lcov.info + min_coverage: 82 + token: ${{ github.token }} + ############################################################################## # JOB: UNIT TEST BACKEND #################################################### ##############################################################################