From 3533a36cdc811c0e1dae218fbc2184f7c4bc3951 Mon Sep 17 00:00:00 2001 From: mahula Date: Thu, 16 Mar 2023 15:07:07 +0100 Subject: [PATCH 01/16] separate test workflows --- .github/workflows/test-backend.yml | 106 +++++++++ .github/workflows/test-e2e.yml | 41 ++++ .github/workflows/test-webapp.yml | 86 ++++++++ .github/workflows/test.yml | 344 ----------------------------- 4 files changed, 233 insertions(+), 344 deletions(-) create mode 100644 .github/workflows/test-backend.yml create mode 100644 .github/workflows/test-e2e.yml create mode 100644 .github/workflows/test-webapp.yml delete mode 100644 .github/workflows/test.yml diff --git a/.github/workflows/test-backend.yml b/.github/workflows/test-backend.yml new file mode 100644 index 000000000..608c16f27 --- /dev/null +++ b/.github/workflows/test-backend.yml @@ -0,0 +1,106 @@ +name: ocelot.social test CI + + +on: [push] + +jobs: + build_test_neo4j: + name: Docker Build Test - Neo4J + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: Neo4J | Build 'community' image + run: | + docker build --target community -t "ocelotsocialnetwork/neo4j-community:test" neo4j/ + docker save "ocelotsocialnetwork/neo4j-community:test" > /tmp/neo4j.tar + + - name: Upload Artifact + uses: actions/upload-artifact@v3 + with: + name: docker-neo4j-image + path: /tmp/neo4j.tar + + build_test_backend: + name: Docker Build Test - Backend + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: backend | Build 'test' image + run: | + docker build --target test -t "ocelotsocialnetwork/backend:test" backend/ + docker save "ocelotsocialnetwork/backend:test" > /tmp/backend.tar + + - name: Upload Artifact + uses: actions/upload-artifact@v3 + with: + name: docker-backend-test + path: /tmp/backend.tar + + lint_backend: + name: Lint backend + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: backend | Lint + run: cd backend && yarn && yarn run lint + + unit_test_backend: + name: Unit tests - backend + runs-on: ubuntu-latest + needs: [build_test_neo4j,build_test_backend] + permissions: + checks: write + steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: Download Docker Image (Neo4J) + uses: actions/download-artifact@v3 + with: + name: docker-neo4j-image + path: /tmp + + - name: Load Docker Image + run: docker load < /tmp/neo4j.tar + + - name: Download Docker Image (Backend) + uses: actions/download-artifact@v3 + with: + name: docker-backend-test + path: /tmp + + - name: Load Docker Image + run: docker load < /tmp/backend.tar + + # - name: backend | copy env files webapp + # run: cp webapp/.env.template webapp/.env + + - name: backend | copy env files backend + run: cp backend/.env.template backend/.env + + - name: backend | docker-compose + run: docker-compose -f docker-compose.yml -f docker-compose.test.yml up --detach --no-deps neo4j backend + + - name: backend | Initialize Database + run: docker-compose exec -T backend yarn db:migrate init + + - name: backend | Migrate Database Up + run: docker-compose exec -T backend yarn db:migrate up + + - name: backend | Unit test + run: docker-compose exec -T backend yarn test + + - name: backend | Coverage check + uses: webcraftmedia/coverage-check-action@master + with: + report_name: Coverage Backend + type: lcov + result_path: ./coverage/lcov.info + min_coverage: 57 + token: ${{ github.token }} diff --git a/.github/workflows/test-e2e.yml b/.github/workflows/test-e2e.yml new file mode 100644 index 000000000..d76ab129f --- /dev/null +++ b/.github/workflows/test-e2e.yml @@ -0,0 +1,41 @@ +name: ocelot.social end-to-end test CI +on: push + +jobs: + fullstack_tests: + name: Fullstack tests + runs-on: ubuntu-latest + env: + jobs: 8 + strategy: + matrix: + # run copies of the current job in parallel + job: [1, 2, 3, 4, 5, 6, 7, 8] + steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: webapp | copy env file + run: cp webapp/.env.template webapp/.env + + - name: backend | copy env file + run: cp backend/.env.template backend/.env + + - name: boot up test system | docker-compose + run: docker-compose -f docker-compose.yml -f docker-compose.test.yml up --detach --no-deps webapp neo4j backend + + - name: cypress | Fullstack tests + id: e2e-tests + run: | + yarn install + yarn run cypress:run --spec $(cypress/parallel-features.sh ${{ matrix.job }} ${{ env.jobs }} ) + + ########################################################################## + # UPLOAD SCREENSHOTS - IF TESTS FAIL ##################################### + ########################################################################## + - name: Full stack tests | if any test failed, upload screenshots + if: ${{ failure() && steps.e2e-tests.conclusion == 'failure' }} + uses: actions/upload-artifact@v3 + with: + name: cypress-screenshots + path: cypress/screenshots/ diff --git a/.github/workflows/test-webapp.yml b/.github/workflows/test-webapp.yml new file mode 100644 index 000000000..644544c06 --- /dev/null +++ b/.github/workflows/test-webapp.yml @@ -0,0 +1,86 @@ +name: ocelot.social webapp test CI + + +on: [push] + +jobs: + prepare: + name: Prepare + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: Check translation files + run: | + scripts/translations/sort.sh + scripts/translations/missing-keys.sh + + build_test_webapp: + name: Docker Build Test - WebApp + runs-on: ubuntu-latest + needs: [prepare] + steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: webapp | Build 'test' image + run: | + docker build --target test -t "ocelotsocialnetwork/webapp:test" webapp/ + docker save "ocelotsocialnetwork/webapp:test" > /tmp/webapp.tar + + - name: Upload Artifact + uses: actions/upload-artifact@v3 + with: + name: docker-webapp-test + path: /tmp/webapp.tar + + lint_webapp: + name: Lint webapp + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: webapp | Lint + run: cd webapp && yarn && yarn run lint + + unit_test_webapp: + name: Unit tests - webapp + runs-on: ubuntu-latest + needs: [build_test_webapp] + permissions: + checks: write + steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: Download Docker Image (Webapp) + uses: actions/download-artifact@v3 + with: + name: docker-webapp-test + path: /tmp + + - name: Load Docker Image + run: docker load < /tmp/webapp.tar + + - name: backend | copy env files webapp + run: cp webapp/.env.template webapp/.env + + - name: backend | copy env files backend + run: cp backend/.env.template backend/.env + + - name: backend | docker-compose + run: docker-compose -f docker-compose.yml -f docker-compose.test.yml up --detach --no-deps webapp + + - name: webapp | Unit tests + run: docker-compose exec -T webapp yarn test + + - name: webapp | Coverage check + uses: webcraftmedia/coverage-check-action@master + with: + report_name: Coverage Webapp + type: lcov + result_path: ./coverage/lcov.info + min_coverage: 83 + token: ${{ github.token }} diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml deleted file mode 100644 index 1740c09fe..000000000 --- a/.github/workflows/test.yml +++ /dev/null @@ -1,344 +0,0 @@ -name: ocelot.social test CI - - -on: [push] - -jobs: - ############################################################################## - # JOB: PREPARE ##################################################### - ############################################################################## - prepare: - name: Prepare - runs-on: ubuntu-latest - # needs: [nothing] - steps: - ########################################################################## - # CHECKOUT CODE ########################################################## - ########################################################################## - - name: Checkout code - uses: actions/checkout@v3 - ########################################################################## - # TODO: DO STUFF ??? ##################################################### - ########################################################################## - - name: Check translation files - run: | - scripts/translations/sort.sh - scripts/translations/missing-keys.sh - - ############################################################################## - # JOB: DOCKER BUILD TEST NEO4J ############################################### - ############################################################################## - build_test_neo4j: - name: Docker Build Test - Neo4J - runs-on: ubuntu-latest - needs: [prepare] - steps: - ########################################################################## - # CHECKOUT CODE ########################################################## - ########################################################################## - - name: Checkout code - uses: actions/checkout@v3 - ########################################################################## - # NEO4J ################################################################## - ########################################################################## - - name: Neo4J | Build `community` image - run: | - docker build --target community -t "ocelotsocialnetwork/neo4j-community:test" neo4j/ - docker save "ocelotsocialnetwork/neo4j-community:test" > /tmp/neo4j.tar - - name: Upload Artifact - uses: actions/upload-artifact@v3 - with: - name: docker-neo4j-image - path: /tmp/neo4j.tar - - ############################################################################## - # JOB: DOCKER BUILD TEST BACKEND ############################################# - ############################################################################## - build_test_backend: - name: Docker Build Test - Backend - runs-on: ubuntu-latest - needs: [prepare] - steps: - ########################################################################## - # CHECKOUT CODE ########################################################## - ########################################################################## - - name: Checkout code - uses: actions/checkout@v3 - ########################################################################## - # BUILD BACKEND DOCKER IMAGE (build) ##################################### - ########################################################################## - - name: backend | Build `test` image - run: | - docker build --target test -t "ocelotsocialnetwork/backend:test" backend/ - docker save "ocelotsocialnetwork/backend:test" > /tmp/backend.tar - - name: Upload Artifact - uses: actions/upload-artifact@v3 - with: - name: docker-backend-test - path: /tmp/backend.tar - - ############################################################################## - # JOB: DOCKER BUILD TEST WEBAPP ############################################## - ############################################################################## - build_test_webapp: - name: Docker Build Test - WebApp - runs-on: ubuntu-latest - needs: [prepare] - steps: - ########################################################################## - # CHECKOUT CODE ########################################################## - ########################################################################## - - name: Checkout code - uses: actions/checkout@v3 - ########################################################################## - # BUILD WEBAPP DOCKER IMAGE (build) ###################################### - ########################################################################## - - name: webapp | Build `test` image - run: | - docker build --target test -t "ocelotsocialnetwork/webapp:test" webapp/ - docker save "ocelotsocialnetwork/webapp:test" > /tmp/webapp.tar - - name: Upload Artifact - uses: actions/upload-artifact@v3 - with: - name: docker-webapp-test - path: /tmp/webapp.tar - - ############################################################################## - # JOB: LINT BACKEND ########################################################## - ############################################################################## - lint_backend: - name: Lint backend - runs-on: ubuntu-latest - needs: [build_test_backend] - steps: - ########################################################################## - # CHECKOUT CODE ########################################################## - ########################################################################## - - name: Checkout code - uses: actions/checkout@v3 - ########################################################################## - # DOWNLOAD DOCKER IMAGE ################################################## - ########################################################################## - - name: Download Docker Image (Backend) - uses: actions/download-artifact@v3 - with: - name: docker-backend-test - path: /tmp - - name: Load Docker Image - run: docker load < /tmp/backend.tar - ########################################################################## - # LINT BACKEND ########################################################### - ########################################################################## - - name: backend | Lint - run: docker run --rm ocelotsocialnetwork/backend:test yarn run lint - - ############################################################################## - # JOB: LINT WEBAPP ########################################################### - ############################################################################## - lint_webapp: - name: Lint webapp - runs-on: ubuntu-latest - needs: [build_test_webapp] - steps: - ########################################################################## - # CHECKOUT CODE ########################################################## - ########################################################################## - - name: Checkout code - uses: actions/checkout@v3 - ########################################################################## - # DOWNLOAD DOCKER IMAGE ################################################## - ########################################################################## - - name: Download Docker Image (Webapp) - uses: actions/download-artifact@v3 - with: - name: docker-webapp-test - path: /tmp - - name: Load Docker Image - run: docker load < /tmp/webapp.tar - ########################################################################## - # LINT WEBAPP ############################################################ - ########################################################################## - - name: webapp | Lint - run: docker run --rm ocelotsocialnetwork/webapp:test yarn run lint - - ############################################################################## - # JOB: UNIT TEST BACKEND ##################################################### - ############################################################################## - unit_test_backend: - name: Unit tests - backend - runs-on: ubuntu-latest - needs: [build_test_neo4j,build_test_backend] - permissions: - checks: write - steps: - ########################################################################## - # CHECKOUT CODE ########################################################## - ########################################################################## - - name: Checkout code - uses: actions/checkout@v3 - ########################################################################## - # DOWNLOAD DOCKER IMAGES ################################################# - ########################################################################## - - name: Download Docker Image (Neo4J) - uses: actions/download-artifact@v3 - with: - name: docker-neo4j-image - path: /tmp - - name: Load Docker Image - run: docker load < /tmp/neo4j.tar - - name: Download Docker Image (Backend) - uses: actions/download-artifact@v3 - with: - name: docker-backend-test - path: /tmp - - name: Load Docker Image - run: docker load < /tmp/backend.tar - ########################################################################## - # UNIT TESTS BACKEND ##################################################### - ########################################################################## - - name: backend | copy env files webapp - run: cp webapp/.env.template webapp/.env - - name: backend | copy env files backend - run: cp backend/.env.template backend/.env - - name: backend | docker-compose - run: docker-compose -f docker-compose.yml -f docker-compose.test.yml up --detach --no-deps neo4j backend - - name: backend | Initialize Database - run: docker-compose exec -T backend yarn db:migrate init - - name: backend | Migrate Database Up - run: docker-compose exec -T backend yarn db:migrate up - - name: backend | Unit test - run: docker-compose exec -T backend yarn test - ########################################################################## - # COVERAGE CHECK BACKEND ################################################# - ########################################################################## - - name: backend | Coverage check - uses: webcraftmedia/coverage-check-action@master - with: - report_name: Coverage Backend - type: lcov - result_path: ./coverage/lcov.info - min_coverage: 57 - token: ${{ github.token }} - - ############################################################################## - # JOB: UNIT TEST WEBAPP ###################################################### - ############################################################################## - unit_test_webapp: - name: Unit tests - webapp - runs-on: ubuntu-latest - needs: [build_test_webapp] - permissions: - checks: write - steps: - ########################################################################## - # CHECKOUT CODE ########################################################## - ########################################################################## - - name: Checkout code - uses: actions/checkout@v3 - ########################################################################## - # DOWNLOAD DOCKER IMAGES ################################################# - ########################################################################## - - name: Download Docker Image (Webapp) - uses: actions/download-artifact@v3 - with: - name: docker-webapp-test - path: /tmp - - name: Load Docker Image - run: docker load < /tmp/webapp.tar - ########################################################################## - # UNIT TESTS WEBAPP ###################################################### - ########################################################################## - - name: backend | copy env files webapp - run: cp webapp/.env.template webapp/.env - - name: backend | copy env files backend - run: cp backend/.env.template backend/.env - - name: backend | docker-compose - run: docker-compose -f docker-compose.yml -f docker-compose.test.yml up --detach --no-deps webapp - - name: webapp | Unit tests - run: docker-compose exec -T webapp yarn test - ########################################################################## - # COVERAGE REPORT FRONTEND ################################################ - ########################################################################## - #- name: frontend | Coverage report - # uses: romeovs/lcov-reporter-action@v0.2.21 - # with: - # github-token: ${{ secrets.GITHUB_TOKEN }} - # lcov-file: ./coverage/lcov.info - ########################################################################## - # COVERAGE CHECK WEBAPP ################################################## - ########################################################################## - - name: webapp | Coverage check - uses: webcraftmedia/coverage-check-action@master - with: - report_name: Coverage Webapp - type: lcov - result_path: ./coverage/lcov.info - min_coverage: 83 - token: ${{ github.token }} - - ############################################################################## - # JOB: FULLSTACK TESTS ####################################################### - ############################################################################## - fullstack_tests: - name: Fullstack tests - runs-on: ubuntu-latest - needs: [build_test_webapp, build_test_backend, build_test_neo4j] - env: - jobs: 8 - strategy: - matrix: - # run copies of the current job in parallel - job: [1, 2, 3, 4, 5, 6, 7, 8] - steps: - ########################################################################## - # CHECKOUT CODE ########################################################## - ########################################################################## - - name: Checkout code - uses: actions/checkout@v3 - ########################################################################## - # DOWNLOAD DOCKER IMAGES ################################################# - ########################################################################## - - name: Download Docker Image (Neo4J) - uses: actions/download-artifact@v3 - with: - name: docker-neo4j-image - path: /tmp - - name: Load Docker Image - run: docker load < /tmp/neo4j.tar - - name: Download Docker Image (Backend) - uses: actions/download-artifact@v3 - with: - name: docker-backend-test - path: /tmp - - name: Load Docker Image - run: docker load < /tmp/backend.tar - - name: Download Docker Image (Webapp) - uses: actions/download-artifact@v3 - with: - name: docker-webapp-test - path: /tmp - - name: Load Docker Image - run: docker load < /tmp/webapp.tar - ########################################################################## - # FULLSTACK TESTS CYPRESS ################################################ - ########################################################################## - - name: webapp | copy env files webapp - run: cp webapp/.env.template webapp/.env - - name: backend | copy env files backend - run: cp backend/.env.template backend/.env - - name: backend | docker-compose - run: docker-compose -f docker-compose.yml -f docker-compose.test.yml up --detach --no-deps webapp neo4j backend - - name: cypress | Fullstack tests - id: e2e-tests - run: | - yarn install - yarn run cypress:run --spec $(cypress/parallel-features.sh ${{ matrix.job }} ${{ env.jobs }} ) - ########################################################################## - # UPLOAD SCREENSHOTS - IF TESTS FAIL ##################################### - ########################################################################## - - name: Full stack tests | if any test failed, upload screenshots - if: ${{ failure() && steps.e2e-tests.conclusion == 'failure' }} - uses: actions/upload-artifact@v3 - with: - name: cypress-screenshots - path: cypress/screenshots/ From 556c63a86405f15bfc32838b9c31ba528b2d1165 Mon Sep 17 00:00:00 2001 From: mahula Date: Thu, 16 Mar 2023 17:23:56 +0100 Subject: [PATCH 02/16] set jest coverage check for webapp workflow --- .github/workflows/test-webapp.yml | 10 +--------- webapp/jest.config.js | 6 +++++- 2 files changed, 6 insertions(+), 10 deletions(-) diff --git a/.github/workflows/test-webapp.yml b/.github/workflows/test-webapp.yml index 644544c06..8f84fc34c 100644 --- a/.github/workflows/test-webapp.yml +++ b/.github/workflows/test-webapp.yml @@ -73,14 +73,6 @@ jobs: - name: backend | docker-compose run: docker-compose -f docker-compose.yml -f docker-compose.test.yml up --detach --no-deps webapp - - name: webapp | Unit tests + - name: webapp | Unit tests incl. coverage check run: docker-compose exec -T webapp yarn test - - name: webapp | Coverage check - uses: webcraftmedia/coverage-check-action@master - with: - report_name: Coverage Webapp - type: lcov - result_path: ./coverage/lcov.info - min_coverage: 83 - token: ${{ github.token }} diff --git a/webapp/jest.config.js b/webapp/jest.config.js index 538f72bc7..6b0f5e461 100644 --- a/webapp/jest.config.js +++ b/webapp/jest.config.js @@ -15,7 +15,11 @@ module.exports = { '!**/.prettierrc.js', '!**/nuxt.config.js', ], - coverageReporters: ['lcov', 'text'], + coverageThreshold: { + global: { + lines: 83, + }, + }, setupFiles: ['/test/registerContext.js', '/test/testSetup.js'], transform: { '.*\\.(vue)$': 'vue-jest', From 9c7fb3ae6067753394121a8bda6ec28973cfefaa Mon Sep 17 00:00:00 2001 From: mahula Date: Thu, 16 Mar 2023 17:48:28 +0100 Subject: [PATCH 03/16] set jest coverage check for backend workflow --- .github/workflows/test-backend.yml | 14 +------------- backend/jest.config.js | 6 +++++- 2 files changed, 6 insertions(+), 14 deletions(-) diff --git a/.github/workflows/test-backend.yml b/.github/workflows/test-backend.yml index 608c16f27..2f30aa812 100644 --- a/.github/workflows/test-backend.yml +++ b/.github/workflows/test-backend.yml @@ -78,9 +78,6 @@ jobs: - name: Load Docker Image run: docker load < /tmp/backend.tar - # - name: backend | copy env files webapp - # run: cp webapp/.env.template webapp/.env - - name: backend | copy env files backend run: cp backend/.env.template backend/.env @@ -93,14 +90,5 @@ jobs: - name: backend | Migrate Database Up run: docker-compose exec -T backend yarn db:migrate up - - name: backend | Unit test + - name: backend | Unit test incl. coverage check run: docker-compose exec -T backend yarn test - - - name: backend | Coverage check - uses: webcraftmedia/coverage-check-action@master - with: - report_name: Coverage Backend - type: lcov - result_path: ./coverage/lcov.info - min_coverage: 57 - token: ${{ github.token }} diff --git a/backend/jest.config.js b/backend/jest.config.js index aabb59083..0f8017fb1 100644 --- a/backend/jest.config.js +++ b/backend/jest.config.js @@ -8,7 +8,11 @@ module.exports = { '!**/dist/**', '!**/src/**/?(*.)+(spec|test).js?(x)' ], - coverageReporters: ['lcov', 'text'], + coverageThreshold: { + global: { + lines: 57, + }, + }, testMatch: ['**/src/**/?(*.)+(spec|test).js?(x)'], setupFilesAfterEnv: ['/test/setup.js'] } From 85b9750e004a73a23faa973c70292713d338d815 Mon Sep 17 00:00:00 2001 From: mahula Date: Thu, 16 Mar 2023 17:52:01 +0100 Subject: [PATCH 04/16] set name for backend test workflow --- .github/workflows/test-backend.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test-backend.yml b/.github/workflows/test-backend.yml index 2f30aa812..6c98063d1 100644 --- a/.github/workflows/test-backend.yml +++ b/.github/workflows/test-backend.yml @@ -1,4 +1,4 @@ -name: ocelot.social test CI +name: ocelot.social backend test CI on: [push] From e3fba4f0a80ad4e8733bcb13cd7d1b602b722f45 Mon Sep 17 00:00:00 2001 From: mahula Date: Fri, 17 Mar 2023 11:52:09 +0100 Subject: [PATCH 05/16] reintroduce webapp env copytobackend unit test job --- .github/workflows/test-backend.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/test-backend.yml b/.github/workflows/test-backend.yml index 6c98063d1..a65e23469 100644 --- a/.github/workflows/test-backend.yml +++ b/.github/workflows/test-backend.yml @@ -78,6 +78,8 @@ jobs: - name: Load Docker Image run: docker load < /tmp/backend.tar + - name: backend | copy env files webapp + run: cp webapp/.env.template webapp/.env - name: backend | copy env files backend run: cp backend/.env.template backend/.env From bcae47f1405da4162acbe8d63626b668c2b20910 Mon Sep 17 00:00:00 2001 From: mahula Date: Fri, 17 Mar 2023 13:29:02 +0100 Subject: [PATCH 06/16] add file filters for test workflows --- .github/file-filters.yml | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 .github/file-filters.yml diff --git a/.github/file-filters.yml b/.github/file-filters.yml new file mode 100644 index 000000000..d7f9cb6c0 --- /dev/null +++ b/.github/file-filters.yml @@ -0,0 +1,9 @@ +backend: &backend + - 'backend/**/*' + - 'neo4j/**/*' + +docker: &docker + - 'docker-compose.*' + +webapp: &webapp + - 'webapp/**/*' From d7fce771ac4944f0a3615ba44e9498cb929b4c65 Mon Sep 17 00:00:00 2001 From: mahula Date: Fri, 17 Mar 2023 13:30:31 +0100 Subject: [PATCH 07/16] utilize file filters in backend test workflows --- .github/workflows/test-backend.yml | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/.github/workflows/test-backend.yml b/.github/workflows/test-backend.yml index a65e23469..885e69f78 100644 --- a/.github/workflows/test-backend.yml +++ b/.github/workflows/test-backend.yml @@ -4,8 +4,27 @@ name: ocelot.social backend test CI on: [push] jobs: + files-changed: + name: Detect File Changes - Backend + runs-on: ubuntu-latest + outputs: + backend: ${{ steps.changes.outputs.backend }} + docker: ${{ steps.changes.outputs.docker }} + steps: + - uses: actions/checkout@v3.3.0 + + - name: Check for frontend file changes + uses: dorny/paths-filter@v2.11.1 + id: changes + with: + token: ${{ github.token }} + filters: .github/file-filters.yml + list-files: shell + build_test_neo4j: name: Docker Build Test - Neo4J + if: needs.files-changed.outputs.backend == 'true' || needs.files-changed.outputs.docker == 'true' + needs: files-changed runs-on: ubuntu-latest steps: - name: Checkout code @@ -24,6 +43,8 @@ jobs: build_test_backend: name: Docker Build Test - Backend + if: needs.files-changed.outputs.backend == 'true' || needs.files-changed.outputs.docker == 'true' + needs: files-changed runs-on: ubuntu-latest steps: - name: Checkout code @@ -42,6 +63,8 @@ jobs: lint_backend: name: Lint backend + if: needs.files-changed.outputs.backend == 'true' + needs: files-changed runs-on: ubuntu-latest steps: - name: Checkout code @@ -52,6 +75,8 @@ jobs: unit_test_backend: name: Unit tests - backend + if: needs.files-changed.outputs.backend == 'true' || needs.files-changed.outputs.docker == 'true' + needs: files-changed runs-on: ubuntu-latest needs: [build_test_neo4j,build_test_backend] permissions: From 9c59c604890224cade6381d14cb9dda781f24890 Mon Sep 17 00:00:00 2001 From: mahula Date: Fri, 17 Mar 2023 13:30:31 +0100 Subject: [PATCH 08/16] utilize file filters in backend test workflows --- .github/workflows/test-backend.yml | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test-backend.yml b/.github/workflows/test-backend.yml index 885e69f78..e5e3dd418 100644 --- a/.github/workflows/test-backend.yml +++ b/.github/workflows/test-backend.yml @@ -21,6 +21,23 @@ jobs: filters: .github/file-filters.yml list-files: shell + files-changed: + name: Detect File Changes - Backend + runs-on: ubuntu-latest + outputs: + backend: ${{ steps.changes.outputs.backend }} + docker: ${{ steps.changes.outputs.docker }} + steps: + - uses: actions/checkout@v3.3.0 + + - name: Check for frontend file changes + uses: dorny/paths-filter@v2.11.1 + id: changes + with: + token: ${{ github.token }} + filters: .github/file-filters.yml + list-files: shell + build_test_neo4j: name: Docker Build Test - Neo4J if: needs.files-changed.outputs.backend == 'true' || needs.files-changed.outputs.docker == 'true' @@ -76,9 +93,8 @@ jobs: unit_test_backend: name: Unit tests - backend if: needs.files-changed.outputs.backend == 'true' || needs.files-changed.outputs.docker == 'true' - needs: files-changed + needs: [files-changed, build_test_neo4j, build_test_backend] runs-on: ubuntu-latest - needs: [build_test_neo4j,build_test_backend] permissions: checks: write steps: From f9c1315ab3246c8d526109f8c9690ebbc301b7fd Mon Sep 17 00:00:00 2001 From: mahula Date: Fri, 17 Mar 2023 13:43:24 +0100 Subject: [PATCH 09/16] clean up backend test workflow --- .github/workflows/test-backend.yml | 17 ----------------- 1 file changed, 17 deletions(-) diff --git a/.github/workflows/test-backend.yml b/.github/workflows/test-backend.yml index e5e3dd418..ae15775e0 100644 --- a/.github/workflows/test-backend.yml +++ b/.github/workflows/test-backend.yml @@ -21,23 +21,6 @@ jobs: filters: .github/file-filters.yml list-files: shell - files-changed: - name: Detect File Changes - Backend - runs-on: ubuntu-latest - outputs: - backend: ${{ steps.changes.outputs.backend }} - docker: ${{ steps.changes.outputs.docker }} - steps: - - uses: actions/checkout@v3.3.0 - - - name: Check for frontend file changes - uses: dorny/paths-filter@v2.11.1 - id: changes - with: - token: ${{ github.token }} - filters: .github/file-filters.yml - list-files: shell - build_test_neo4j: name: Docker Build Test - Neo4J if: needs.files-changed.outputs.backend == 'true' || needs.files-changed.outputs.docker == 'true' From 70d75600ee8ad6a42cd550fb3d0c6f47cbec6bb9 Mon Sep 17 00:00:00 2001 From: mahula Date: Fri, 17 Mar 2023 13:57:49 +0100 Subject: [PATCH 10/16] utilize file filters in webapp test workflows --- .github/workflows/test-webapp.yml | 27 +++++++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test-webapp.yml b/.github/workflows/test-webapp.yml index 8f84fc34c..bdb75f222 100644 --- a/.github/workflows/test-webapp.yml +++ b/.github/workflows/test-webapp.yml @@ -4,8 +4,27 @@ name: ocelot.social webapp test CI on: [push] jobs: + files-changed: + name: Detect File Changes - Backend + runs-on: ubuntu-latest + outputs: + docker: ${{ steps.changes.outputs.docker }} + webbapp: ${{ steps.changes.outputs.webbapp }} + steps: + - uses: actions/checkout@v3.3.0 + + - name: Check for frontend file changes + uses: dorny/paths-filter@v2.11.1 + id: changes + with: + token: ${{ github.token }} + filters: .github/file-filters.yml + list-files: shell + prepare: name: Prepare + if: needs.files-changed.outputs.webbapp + needs: files-changed runs-on: ubuntu-latest steps: - name: Checkout code @@ -18,8 +37,9 @@ jobs: build_test_webapp: name: Docker Build Test - WebApp + if: needs.files-changed.outputs.docker == 'true' || needs.files-changed.outputs.webbapp + needs: [files-changed, prepare] runs-on: ubuntu-latest - needs: [prepare] steps: - name: Checkout code uses: actions/checkout@v3 @@ -37,6 +57,8 @@ jobs: lint_webapp: name: Lint webapp + if: needs.files-changed.outputs.webbapp + needs: files-changed runs-on: ubuntu-latest steps: - name: Checkout code @@ -47,8 +69,9 @@ jobs: unit_test_webapp: name: Unit tests - webapp + if: needs.files-changed.outputs.docker == 'true' || needs.files-changed.outputs.webbapp + needs: [files-changed, build_test_webapp] runs-on: ubuntu-latest - needs: [build_test_webapp] permissions: checks: write steps: From 717a9f9fc7787802e3b543768473f6fd962d19c9 Mon Sep 17 00:00:00 2001 From: mahula Date: Fri, 17 Mar 2023 13:57:49 +0100 Subject: [PATCH 11/16] utilize file filters in webapp test workflows --- .github/workflows/test-webapp.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test-webapp.yml b/.github/workflows/test-webapp.yml index bdb75f222..2eaa40670 100644 --- a/.github/workflows/test-webapp.yml +++ b/.github/workflows/test-webapp.yml @@ -5,7 +5,7 @@ on: [push] jobs: files-changed: - name: Detect File Changes - Backend + name: Detect File Changes - Wepapp runs-on: ubuntu-latest outputs: docker: ${{ steps.changes.outputs.docker }} From 511007795d6adf555f8ba88d7e6f63059a3d9a55 Mon Sep 17 00:00:00 2001 From: mahula Date: Fri, 17 Mar 2023 14:20:20 +0100 Subject: [PATCH 12/16] fix typos --- .github/workflows/test-webapp.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/test-webapp.yml b/.github/workflows/test-webapp.yml index 2eaa40670..31e640092 100644 --- a/.github/workflows/test-webapp.yml +++ b/.github/workflows/test-webapp.yml @@ -5,11 +5,11 @@ on: [push] jobs: files-changed: - name: Detect File Changes - Wepapp + name: Detect File Changes - Webapp runs-on: ubuntu-latest outputs: docker: ${{ steps.changes.outputs.docker }} - webbapp: ${{ steps.changes.outputs.webbapp }} + webapp: ${{ steps.changes.outputs.webapp }} steps: - uses: actions/checkout@v3.3.0 @@ -23,7 +23,7 @@ jobs: prepare: name: Prepare - if: needs.files-changed.outputs.webbapp + if: needs.files-changed.outputs.webapp needs: files-changed runs-on: ubuntu-latest steps: @@ -36,8 +36,8 @@ jobs: scripts/translations/missing-keys.sh build_test_webapp: - name: Docker Build Test - WebApp - if: needs.files-changed.outputs.docker == 'true' || needs.files-changed.outputs.webbapp + name: Docker Build Test - Webapp + if: needs.files-changed.outputs.docker == 'true' || needs.files-changed.outputs.webapp needs: [files-changed, prepare] runs-on: ubuntu-latest steps: @@ -57,7 +57,7 @@ jobs: lint_webapp: name: Lint webapp - if: needs.files-changed.outputs.webbapp + if: needs.files-changed.outputs.webapp needs: files-changed runs-on: ubuntu-latest steps: @@ -69,7 +69,7 @@ jobs: unit_test_webapp: name: Unit tests - webapp - if: needs.files-changed.outputs.docker == 'true' || needs.files-changed.outputs.webbapp + if: needs.files-changed.outputs.docker == 'true' || needs.files-changed.outputs.webapp needs: [files-changed, build_test_webapp] runs-on: ubuntu-latest permissions: From aaa932302cc0b1ae63d9cb7195ad25fbd5f6e56e Mon Sep 17 00:00:00 2001 From: mahula Date: Fri, 17 Mar 2023 14:28:34 +0100 Subject: [PATCH 13/16] correct job names --- .github/workflows/test-backend.yml | 4 ++-- .github/workflows/test-webapp.yml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/test-backend.yml b/.github/workflows/test-backend.yml index ae15775e0..84d87c770 100644 --- a/.github/workflows/test-backend.yml +++ b/.github/workflows/test-backend.yml @@ -62,7 +62,7 @@ jobs: path: /tmp/backend.tar lint_backend: - name: Lint backend + name: Lint Backend if: needs.files-changed.outputs.backend == 'true' needs: files-changed runs-on: ubuntu-latest @@ -74,7 +74,7 @@ jobs: run: cd backend && yarn && yarn run lint unit_test_backend: - name: Unit tests - backend + name: Unit tests - Backend if: needs.files-changed.outputs.backend == 'true' || needs.files-changed.outputs.docker == 'true' needs: [files-changed, build_test_neo4j, build_test_backend] runs-on: ubuntu-latest diff --git a/.github/workflows/test-webapp.yml b/.github/workflows/test-webapp.yml index 31e640092..9ca3023cc 100644 --- a/.github/workflows/test-webapp.yml +++ b/.github/workflows/test-webapp.yml @@ -56,7 +56,7 @@ jobs: path: /tmp/webapp.tar lint_webapp: - name: Lint webapp + name: Lint Webapp if: needs.files-changed.outputs.webapp needs: files-changed runs-on: ubuntu-latest @@ -68,7 +68,7 @@ jobs: run: cd webapp && yarn && yarn run lint unit_test_webapp: - name: Unit tests - webapp + name: Unit Tests - Webapp if: needs.files-changed.outputs.docker == 'true' || needs.files-changed.outputs.webapp needs: [files-changed, build_test_webapp] runs-on: ubuntu-latest From 5e089ddb0dafa980a72174c09afd688d3077b268 Mon Sep 17 00:00:00 2001 From: Ulf Gebhardt Date: Tue, 18 Apr 2023 12:31:29 +0200 Subject: [PATCH 14/16] removed some artifact from branded-images.build script --- deployment/scripts/branded-images.build.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/deployment/scripts/branded-images.build.sh b/deployment/scripts/branded-images.build.sh index e33c9a546..fa9da67d1 100755 --- a/deployment/scripts/branded-images.build.sh +++ b/deployment/scripts/branded-images.build.sh @@ -25,7 +25,6 @@ echo "Using DOCKERHUB_BRAND_VARRIANT=${DOCKERHUB_BRAND_VARRIANT}" # configuration DOCKERHUB_ORGANISATION=${DOCKERHUB_ORGANISATION:-"ocelotsocialnetwork"} -=${DOCKERHUB_BRAND_VARRIANT:-"stage-ocelot-social"} OCELOT_VERSION=${OCELOT_VERSION:-$(node -p -e "require('${SCRIPT_DIR}/../../package.json').version")} OCELOT_GITHUB_RUN_NUMBER=${OCELOT_GITHUB_RUN_NUMBER:-master} OCELOT_VERSION_BUILD=${OCELOT_VERSION_BUILD:-${OCELOT_VERSION}-${OCELOT_GITHUB_RUN_NUMBER}} From c1bd50e3b55f08e1348e5293d4fd8b319afab378 Mon Sep 17 00:00:00 2001 From: Ulf Gebhardt Date: Tue, 18 Apr 2023 12:32:02 +0200 Subject: [PATCH 15/16] updated stage occelot reference --- deployment/configurations/stage.ocelot.social | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deployment/configurations/stage.ocelot.social b/deployment/configurations/stage.ocelot.social index 69885510c..be3ac7ad2 160000 --- a/deployment/configurations/stage.ocelot.social +++ b/deployment/configurations/stage.ocelot.social @@ -1 +1 @@ -Subproject commit 69885510ce32dc12f4ce581287e5aecdaa948ecc +Subproject commit be3ac7ad29f37d6a00fb3203db302cd91cebb9fa From aceb422e7635f95d8e9202de96cb164698143678 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 20 Apr 2023 13:23:06 +0000 Subject: [PATCH 16/16] Bump metascraper-soundcloud from 5.33.5 to 5.34.2 in /backend Bumps [metascraper-soundcloud](https://github.com/microlinkhq/metascraper/tree/HEAD/packages/metascraper-soundcloud) from 5.33.5 to 5.34.2. - [Release notes](https://github.com/microlinkhq/metascraper/releases) - [Changelog](https://github.com/microlinkhq/metascraper/blob/master/packages/metascraper-soundcloud/CHANGELOG.md) - [Commits](https://github.com/microlinkhq/metascraper/commits/v5.34.2/packages/metascraper-soundcloud) --- updated-dependencies: - dependency-name: metascraper-soundcloud dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- backend/package.json | 2 +- backend/yarn.lock | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/backend/package.json b/backend/package.json index 13681df2b..f32881357 100644 --- a/backend/package.json +++ b/backend/package.json @@ -76,7 +76,7 @@ "metascraper-lang-detector": "^4.10.2", "metascraper-logo": "^5.33.5", "metascraper-publisher": "^5.33.5", - "metascraper-soundcloud": "^5.33.5", + "metascraper-soundcloud": "^5.34.2", "metascraper-title": "^5.33.5", "metascraper-url": "^5.34.2", "metascraper-video": "^5.33.5", diff --git a/backend/yarn.lock b/backend/yarn.lock index 461682a29..293e189dc 100644 --- a/backend/yarn.lock +++ b/backend/yarn.lock @@ -7614,12 +7614,12 @@ metascraper-publisher@^5.33.5: dependencies: "@metascraper/helpers" "^5.33.5" -metascraper-soundcloud@^5.33.5: - version "5.33.5" - resolved "https://registry.yarnpkg.com/metascraper-soundcloud/-/metascraper-soundcloud-5.33.5.tgz#9cd39e7ff432e715f8ecdca5256e7ea67f485557" - integrity sha512-hkDhRfTKEUugIN9Gxh/l9HuWlkNAOKEBXov/9fYKbIMgaj7e2UU7bkNYjaDOXzMikCRWEIrrGP3UzwwIcs6Gjg== +metascraper-soundcloud@^5.34.2: + version "5.34.2" + resolved "https://registry.yarnpkg.com/metascraper-soundcloud/-/metascraper-soundcloud-5.34.2.tgz#ee1077b4836321ccfb22bcab4bfae7360dd571a3" + integrity sha512-1VafeFnlzJaYUlq8XbppQauz0i9xM8QycJU8k4ONftZwRtikQBIjRe5BMXr/s5n32831vBooRz8ksz0CXkjVlQ== dependencies: - "@metascraper/helpers" "^5.33.5" + "@metascraper/helpers" "^5.34.2" metascraper-title@^5.33.5: version "5.33.5"