From 7334131118e8732831c16869ddb3c748d932ff2b Mon Sep 17 00:00:00 2001 From: Martijn Dirkse Date: Wed, 27 Nov 2024 14:55:25 +0100 Subject: [PATCH 01/17] Move tests outside a folder to folder misc --- cypress/e2e/{ => misc}/copying.cy.ts | 0 cypress/e2e/{ => misc}/keep_state.cy.ts | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename cypress/e2e/{ => misc}/copying.cy.ts (100%) rename cypress/e2e/{ => misc}/keep_state.cy.ts (100%) diff --git a/cypress/e2e/copying.cy.ts b/cypress/e2e/misc/copying.cy.ts similarity index 100% rename from cypress/e2e/copying.cy.ts rename to cypress/e2e/misc/copying.cy.ts diff --git a/cypress/e2e/keep_state.cy.ts b/cypress/e2e/misc/keep_state.cy.ts similarity index 100% rename from cypress/e2e/keep_state.cy.ts rename to cypress/e2e/misc/keep_state.cy.ts From e0862f95175acf541a05b1a874c128136dcd9488 Mon Sep 17 00:00:00 2001 From: Martijn Dirkse Date: Wed, 27 Nov 2024 15:28:45 +0100 Subject: [PATCH 02/17] Have tests for profile storage.xml --- cypress/e2e/1-first.spec.ts | 20 +++++++++++++++++++ .../1-pre-existing-report.spec.ts | 14 +++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 cypress/e2e/1-first.spec.ts create mode 100644 cypress/e2e/1-profile-storage-xml/1-pre-existing-report.spec.ts diff --git a/cypress/e2e/1-first.spec.ts b/cypress/e2e/1-first.spec.ts new file mode 100644 index 00000000..20dccfd7 --- /dev/null +++ b/cypress/e2e/1-first.spec.ts @@ -0,0 +1,20 @@ + +// This test should be run as the first. Other tests +// have to delete all reports from the test tab and +// would remove pre-existing reports. +// +// We test here that there are no predefined reports +// +describe('Test that should be done before all other tests', () => { + beforeEach(() => { + cy.initializeApp(); + cy.navigateToTestTabAndInterceptApiCall(); + }) + + it('Report in src/test/testtool should not be shown', () => { + // We cannot search for 'Pre existing report' within the + // test rows when there are not table rows at all. + cy.getTestTableRows().should('not.exist') + }) +}) + \ No newline at end of file diff --git a/cypress/e2e/1-profile-storage-xml/1-pre-existing-report.spec.ts b/cypress/e2e/1-profile-storage-xml/1-pre-existing-report.spec.ts new file mode 100644 index 00000000..83b8176d --- /dev/null +++ b/cypress/e2e/1-profile-storage-xml/1-pre-existing-report.spec.ts @@ -0,0 +1,14 @@ +// This test should be run as the first. Other tests +// have to delete all reports from the test tab and +// would remove pre-existing reports. +// +describe('Pre existing report', () => { + beforeEach(() => { + cy.initializeApp(); + cy.navigateToTestTabAndInterceptApiCall(); + }) + + it('Report present in src/test/testtool should be shown', () => { + cy.getTestTableRows().contains('Pre existing report').should('have.length', 1) + }) +}) \ No newline at end of file From 331c123e26f4a240e7a18cac1543d68d4c0c48c3 Mon Sep 17 00:00:00 2001 From: Martijn Dirkse Date: Wed, 27 Nov 2024 15:51:28 +0100 Subject: [PATCH 03/17] Update the GitHub actions test to use different profiles --- .github/workflows/testing.js.yml | 54 +++++++++++++++++++++++++------- 1 file changed, 43 insertions(+), 11 deletions(-) diff --git a/.github/workflows/testing.js.yml b/.github/workflows/testing.js.yml index 8863b2b9..b3d0ab7f 100644 --- a/.github/workflows/testing.js.yml +++ b/.github/workflows/testing.js.yml @@ -25,6 +25,12 @@ on: jobs: testing: + strategy: + matrix: + selection: [ + 'default', + 'xml-storage' + ] name: Unit tests runs-on: ubuntu-latest @@ -118,6 +124,9 @@ jobs: run: echo "maven.skip.javadoc=true" >> frank-runner/specials/ladybug/build.properties - name: Set property to skip checking licenses run: echo "maven.skip.copyright=true" >> frank-runner/specials/ladybug/build.properties + - name: Choose Spring profile storage.xml if matrix.selection is 'xml-storage' + run: echo "spring.profiles.active=storage.xml" >> frank-runner/specials/ladybug/build.properties + if: ${{ matrix.selection == 'xml-storage' }} - name: Set port where ladybug-test-webapp is served run: echo "tomcat.connector.port=8090" > frank-runner/build.properties - name: Prevent Java exception about binding port 443 (for https) @@ -184,7 +193,7 @@ jobs: run: ./restart.sh -Dupdate.strategy=none > serverStartLog.log working-directory: frank-runner/specials/ladybug - - name: Run cypress with chrome browser (bypass ladybug-frontend within backend) + - name: Run cypress with chrome browser (bypass ladybug-frontend within backend) - no Spring profile uses: cypress-io/github-action@v6.6.0 if: ${{ github.event.inputs.useRealFrontend != 'true' }} with: @@ -193,16 +202,39 @@ jobs: pnpm ng serve --proxy-config src/proxy.cicd.conf.json --host 0.0.0.0 wait-on: "http://0.0.0.0:8090, http://0.0.0.0:4200" wait-on-timeout: 1000 + config: --spec "cypress/e2e/debug/**,cypress/e2e/misc/**,cypress/e2e/test/**" browser: chrome - - name: Run cypress with chrome browser (production frontend that is included in backend) + - name: Run cypress with chrome browser (production frontend that is included in backend) - no Spring profile uses: cypress-io/github-action@v6.6.0 if: ${{ github.event.inputs.useRealFrontend == 'true' }} with: working-directory: ladybug-frontend wait-on: "http://0.0.0.0:8090" wait-on-timeout: 1000 - config: baseUrl=http://localhost:8090/ladybug + config: baseUrl=http://localhost:8090/ladybug --spec "cypress/e2e/debug/**,cypress/e2e/misc/**,cypress/e2e/test/**" browser: chrome + + - name: Run cypress with chrome browser (bypass ladybug-frontend within backend) - Spring profile storage.xml + uses: cypress-io/github-action@v6.6.0 + if: ${{ github.event.inputs.useRealFrontend != 'true' }} + with: + working-directory: ladybug-frontend + start: | + pnpm ng serve --proxy-config src/proxy.cicd.conf.json --host 0.0.0.0 + wait-on: "http://0.0.0.0:8090, http://0.0.0.0:4200" + wait-on-timeout: 1000 + config: --spec "cypress/e2e/1-profile-storage-xml/**" + browser: chrome + - name: Run cypress with chrome browser (production frontend that is included in backend) - Spring profile storage.xml + uses: cypress-io/github-action@v6.6.0 + if: ${{ github.event.inputs.useRealFrontend == 'true' }} + with: + working-directory: ladybug-frontend + wait-on: "http://0.0.0.0:8090" + wait-on-timeout: 1000 + config: baseUrl=http://localhost:8090/ladybug --spec "cypress/e2e/1-profile-storage-xml/**" + browser: chrome + - name: Show files run: tree -d -L 5 . if: always() @@ -211,47 +243,47 @@ jobs: uses: actions/upload-artifact@v4 if: always() with: - name: installFrankRunnerEnv.log + name: installFrankRunnerEnv.log ${{ matrix.selection }} path: frank-runner/installFrankRunnerEnv.log - name: Store log of starting the server with the Frank!Runner uses: actions/upload-artifact@v4 if: always() with: - name: serverStartLog.log + name: serverStartLog.log ${{ matrix.selection }} path: frank-runner/specials/ladybug/serverStartLog.log - name: Store build.properties uses: actions/upload-artifact@v4 if: always() with: - name: specials_build.properties + name: specials_build.properties ${{ matrix.selection }} path: frank-runner/specials/ladybug/build.properties - name: Store Apache Tomcat log uses: actions/upload-artifact@v4 if: always() with: - name: logs + name: logs ${{ matrix.selection }} path: frank-runner/build/*/logs/* - name: Store Cypress screenshots uses: actions/upload-artifact@v4 if: always() with: - name: screenshots + name: screenshots ${{ matrix.selection }} path: ladybug-frontend/cypress/screenshots/ - name: Store Cypress videos uses: actions/upload-artifact@v4 if: always() with: - name: videos + name: videos ${{ matrix.selection }} path: ladybug-frontend/cypress/videos/ - name: Store Cypress screenshots for Firefox uses: actions/upload-artifact@v4 if: always() with: - name: Firefix screenshots + name: Firefix screenshots ${{ matrix.selection }} path: ladybug-frontend/cypress/firefox/screenshots/ - name: Store Cypress videos for Firefox uses: actions/upload-artifact@v4 if: always() with: - name: Firefox videos + name: Firefox videos ${{ matrix.selection }} path: ladybug-frontend/cypress/firefox/videos/ From da0b468c2a32c06089368db03997d8cc652e57e1 Mon Sep 17 00:00:00 2001 From: Martijn Dirkse Date: Wed, 27 Nov 2024 16:02:38 +0100 Subject: [PATCH 04/17] Add proper if-clauses with running Cypress tests --- .github/workflows/testing.js.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/testing.js.yml b/.github/workflows/testing.js.yml index b3d0ab7f..1c1d5842 100644 --- a/.github/workflows/testing.js.yml +++ b/.github/workflows/testing.js.yml @@ -195,7 +195,7 @@ jobs: - name: Run cypress with chrome browser (bypass ladybug-frontend within backend) - no Spring profile uses: cypress-io/github-action@v6.6.0 - if: ${{ github.event.inputs.useRealFrontend != 'true' }} + if: ${{ github.event.inputs.useRealFrontend != 'true' && matrix.selection == 'default' }} with: working-directory: ladybug-frontend start: | @@ -206,7 +206,7 @@ jobs: browser: chrome - name: Run cypress with chrome browser (production frontend that is included in backend) - no Spring profile uses: cypress-io/github-action@v6.6.0 - if: ${{ github.event.inputs.useRealFrontend == 'true' }} + if: ${{ github.event.inputs.useRealFrontend == 'true' && matrix.selection == 'default' }} with: working-directory: ladybug-frontend wait-on: "http://0.0.0.0:8090" @@ -216,7 +216,7 @@ jobs: - name: Run cypress with chrome browser (bypass ladybug-frontend within backend) - Spring profile storage.xml uses: cypress-io/github-action@v6.6.0 - if: ${{ github.event.inputs.useRealFrontend != 'true' }} + if: ${{ github.event.inputs.useRealFrontend != 'true' && matrix.selection == 'xml-storage' }} with: working-directory: ladybug-frontend start: | @@ -227,7 +227,7 @@ jobs: browser: chrome - name: Run cypress with chrome browser (production frontend that is included in backend) - Spring profile storage.xml uses: cypress-io/github-action@v6.6.0 - if: ${{ github.event.inputs.useRealFrontend == 'true' }} + if: ${{ github.event.inputs.useRealFrontend == 'true' && matrix.selection == 'xml-storage' }} with: working-directory: ladybug-frontend wait-on: "http://0.0.0.0:8090" From c8e9d0004d5a336de79de5b1464a448ef9be46fc Mon Sep 17 00:00:00 2001 From: Martijn Dirkse Date: Wed, 27 Nov 2024 16:12:01 +0100 Subject: [PATCH 05/17] Fix previous commit --- .github/workflows/testing.js.yml | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/.github/workflows/testing.js.yml b/.github/workflows/testing.js.yml index 1c1d5842..7b0ca860 100644 --- a/.github/workflows/testing.js.yml +++ b/.github/workflows/testing.js.yml @@ -202,7 +202,7 @@ jobs: pnpm ng serve --proxy-config src/proxy.cicd.conf.json --host 0.0.0.0 wait-on: "http://0.0.0.0:8090, http://0.0.0.0:4200" wait-on-timeout: 1000 - config: --spec "cypress/e2e/debug/**,cypress/e2e/misc/**,cypress/e2e/test/**" + spec: cypress/e2e/debug/**,cypress/e2e/misc/**,cypress/e2e/test/** browser: chrome - name: Run cypress with chrome browser (production frontend that is included in backend) - no Spring profile uses: cypress-io/github-action@v6.6.0 @@ -211,7 +211,8 @@ jobs: working-directory: ladybug-frontend wait-on: "http://0.0.0.0:8090" wait-on-timeout: 1000 - config: baseUrl=http://localhost:8090/ladybug --spec "cypress/e2e/debug/**,cypress/e2e/misc/**,cypress/e2e/test/**" + spec: cypress/e2e/debug/**,cypress/e2e/misc/**,cypress/e2e/test/** + config: baseUrl=http://localhost:8090/ladybug browser: chrome - name: Run cypress with chrome browser (bypass ladybug-frontend within backend) - Spring profile storage.xml @@ -223,7 +224,7 @@ jobs: pnpm ng serve --proxy-config src/proxy.cicd.conf.json --host 0.0.0.0 wait-on: "http://0.0.0.0:8090, http://0.0.0.0:4200" wait-on-timeout: 1000 - config: --spec "cypress/e2e/1-profile-storage-xml/**" + spec: cypress/e2e/1-profile-storage-xml/** browser: chrome - name: Run cypress with chrome browser (production frontend that is included in backend) - Spring profile storage.xml uses: cypress-io/github-action@v6.6.0 @@ -232,7 +233,8 @@ jobs: working-directory: ladybug-frontend wait-on: "http://0.0.0.0:8090" wait-on-timeout: 1000 - config: baseUrl=http://localhost:8090/ladybug --spec "cypress/e2e/1-profile-storage-xml/**" + spec: cypress/e2e/1-profile-storage-xml/** + config: baseUrl=http://localhost:8090/ladybug browser: chrome - name: Show files From e4ca1db0a4446f2c43ac647fdfb76440b18cab1f Mon Sep 17 00:00:00 2001 From: Martijn Dirkse Date: Wed, 27 Nov 2024 17:06:26 +0100 Subject: [PATCH 06/17] Fix tests --- cypress/e2e/test/testtab.cy.ts | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/cypress/e2e/test/testtab.cy.ts b/cypress/e2e/test/testtab.cy.ts index 8dfdb4ba..909a0f02 100644 --- a/cypress/e2e/test/testtab.cy.ts +++ b/cypress/e2e/test/testtab.cy.ts @@ -1,9 +1,8 @@ describe('Test the Test tab', () => { - before(() => { - cy.resetApp(); - }); - beforeEach(() => { + // Added in beforeEach() to ensure that there is an API + // call to intercept when you enter the test tab. + cy.resetApp(); cy.createReport(); cy.createOtherReport(); cy.initializeApp(); From dd738232564c272e66a3410b02c56bc2b98024e3 Mon Sep 17 00:00:00 2001 From: Martijn Dirkse Date: Wed, 27 Nov 2024 17:33:11 +0100 Subject: [PATCH 07/17] Revert "Fix tests" This reverts commit e4ca1db0a4446f2c43ac647fdfb76440b18cab1f. --- cypress/e2e/test/testtab.cy.ts | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/cypress/e2e/test/testtab.cy.ts b/cypress/e2e/test/testtab.cy.ts index 909a0f02..8dfdb4ba 100644 --- a/cypress/e2e/test/testtab.cy.ts +++ b/cypress/e2e/test/testtab.cy.ts @@ -1,8 +1,9 @@ describe('Test the Test tab', () => { - beforeEach(() => { - // Added in beforeEach() to ensure that there is an API - // call to intercept when you enter the test tab. + before(() => { cy.resetApp(); + }); + + beforeEach(() => { cy.createReport(); cy.createOtherReport(); cy.initializeApp(); From 12da3ab18e5158fe90752b592d24d1c2bccd5b86 Mon Sep 17 00:00:00 2001 From: Martijn Dirkse Date: Thu, 28 Nov 2024 10:27:45 +0100 Subject: [PATCH 08/17] Logic to search a table, not applied yet --- .github/workflows/extractColumn.sh | 6 ++++++ .github/workflows/profiles-and-specs.txt | 11 +++++++++++ .github/workflows/testing.js.yml | 10 ++++++++++ 3 files changed, 27 insertions(+) create mode 100755 .github/workflows/extractColumn.sh create mode 100644 .github/workflows/profiles-and-specs.txt diff --git a/.github/workflows/extractColumn.sh b/.github/workflows/extractColumn.sh new file mode 100755 index 00000000..946fb11b --- /dev/null +++ b/.github/workflows/extractColumn.sh @@ -0,0 +1,6 @@ +#!/bin/bash +# +# Usage: +# extractColumn.sh +# +grep -v -E "^#" $1 | grep "^$2" | sed 's|\s\s*| |g' | cut -d" " -f$3 \ No newline at end of file diff --git a/.github/workflows/profiles-and-specs.txt b/.github/workflows/profiles-and-specs.txt new file mode 100644 index 00000000..d948f1a9 --- /dev/null +++ b/.github/workflows/profiles-and-specs.txt @@ -0,0 +1,11 @@ +# This file lists for each selection name what Spring +# profile to use for the backend and what specs to +# execute. It is spaces-delimited, because the specs field +# includes commas. +# +# Spring profile "none" is a magic value. For that +# value nu Spring profile is specified when the +# backend is run. +# +default none cypress/e2e/debug/**,cypress/e2e/misc/**,cypress/e2e/test/** +xml-storage storage.xml cypress/e2e/1-profile-storage-xml/** diff --git a/.github/workflows/testing.js.yml b/.github/workflows/testing.js.yml index 7b0ca860..f25b058a 100644 --- a/.github/workflows/testing.js.yml +++ b/.github/workflows/testing.js.yml @@ -37,6 +37,16 @@ jobs: steps: - name: Echo inputs run: echo "useRealFrontend=${{ github.event.inputs.useRealFrontend}}, mergeMasterToBranch=${{ github.event.inputs.mergeMasterToBranch}}, frontendCommitToCheckout=${{ github.event.inputs.frontendCommitToCheckout}}, backendCommitToCheckout=${{ github.event.inputs.backendCommitToCheckout }}" + - name: Choose profile to use backend with + id: backend-profile + run: echo "backend-profile=$(./extractColumn.sh profiles-and-specs.txt ${{ matrix.selection }} 2) >> $GITHUB_OUTPUT + working-directory: ladybug-frontend/.github/workflows + - name: Choose specs to run + id: chosen-specs + run: echo "chosen-specs=$(./extractColumn.sh profiles-and-specs.txt ${{ matrix.selection }} 3) >> $GITHUB_OUTPUT + working-directory: ladybug-frontend/.github/workflows + - name: Show chosen Spring profile for backend and chosen specs to run + run: echo "Start backend with Spring profile ${{ steps.backend-profile.outputs.backend-profile }} and run specs ${{ steps.chosen-specs.outputs.chosen-specs }}" - name: Checkout repository uses: actions/checkout@v2 with: From c7fd6583f3a86601fbe32753f9e67322080000b1 Mon Sep 17 00:00:00 2001 From: Martijn Dirkse Date: Thu, 28 Nov 2024 10:36:09 +0100 Subject: [PATCH 09/17] Fix previous commit --- .github/workflows/testing.js.yml | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/.github/workflows/testing.js.yml b/.github/workflows/testing.js.yml index f25b058a..4992c8c2 100644 --- a/.github/workflows/testing.js.yml +++ b/.github/workflows/testing.js.yml @@ -37,16 +37,6 @@ jobs: steps: - name: Echo inputs run: echo "useRealFrontend=${{ github.event.inputs.useRealFrontend}}, mergeMasterToBranch=${{ github.event.inputs.mergeMasterToBranch}}, frontendCommitToCheckout=${{ github.event.inputs.frontendCommitToCheckout}}, backendCommitToCheckout=${{ github.event.inputs.backendCommitToCheckout }}" - - name: Choose profile to use backend with - id: backend-profile - run: echo "backend-profile=$(./extractColumn.sh profiles-and-specs.txt ${{ matrix.selection }} 2) >> $GITHUB_OUTPUT - working-directory: ladybug-frontend/.github/workflows - - name: Choose specs to run - id: chosen-specs - run: echo "chosen-specs=$(./extractColumn.sh profiles-and-specs.txt ${{ matrix.selection }} 3) >> $GITHUB_OUTPUT - working-directory: ladybug-frontend/.github/workflows - - name: Show chosen Spring profile for backend and chosen specs to run - run: echo "Start backend with Spring profile ${{ steps.backend-profile.outputs.backend-profile }} and run specs ${{ steps.chosen-specs.outputs.chosen-specs }}" - name: Checkout repository uses: actions/checkout@v2 with: @@ -59,6 +49,16 @@ jobs: if: ${{ github.event.inputs.frontendCommitToCheckout }} run: git checkout ${{ github.event.inputs.frontendCommitToCheckout }} working-directory: "ladybug-frontend" + - name: Choose profile to use backend with + id: backend-profile + run: echo "backend-profile=$(./extractColumn.sh profiles-and-specs.txt ${{ matrix.selection }} 2) >> $GITHUB_OUTPUT + working-directory: ladybug-frontend/.github/workflows + - name: Choose specs to run + id: chosen-specs + run: echo "chosen-specs=$(./extractColumn.sh profiles-and-specs.txt ${{ matrix.selection }} 3) >> $GITHUB_OUTPUT + working-directory: ladybug-frontend/.github/workflows + - name: Show chosen Spring profile for backend and chosen specs to run + run: echo "Start backend with Spring profile ${{ steps.backend-profile.outputs.backend-profile }} and run specs ${{ steps.chosen-specs.outputs.chosen-specs }}" - uses: pnpm/action-setup@v4 name: Install pnpm From 90bf6432a331434278f8c9c0e2be936ea21b6a76 Mon Sep 17 00:00:00 2001 From: Martijn Dirkse Date: Thu, 28 Nov 2024 10:40:02 +0100 Subject: [PATCH 10/17] Fix previous commit --- .github/workflows/testing.js.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/testing.js.yml b/.github/workflows/testing.js.yml index 4992c8c2..920f8999 100644 --- a/.github/workflows/testing.js.yml +++ b/.github/workflows/testing.js.yml @@ -51,11 +51,11 @@ jobs: working-directory: "ladybug-frontend" - name: Choose profile to use backend with id: backend-profile - run: echo "backend-profile=$(./extractColumn.sh profiles-and-specs.txt ${{ matrix.selection }} 2) >> $GITHUB_OUTPUT + run: echo "backend-profile=$(./extractColumn.sh profiles-and-specs.txt ${{ matrix.selection }} 2)" >> $GITHUB_OUTPUT working-directory: ladybug-frontend/.github/workflows - name: Choose specs to run id: chosen-specs - run: echo "chosen-specs=$(./extractColumn.sh profiles-and-specs.txt ${{ matrix.selection }} 3) >> $GITHUB_OUTPUT + run: echo "chosen-specs=$(./extractColumn.sh profiles-and-specs.txt ${{ matrix.selection }} 3)" >> $GITHUB_OUTPUT working-directory: ladybug-frontend/.github/workflows - name: Show chosen Spring profile for backend and chosen specs to run run: echo "Start backend with Spring profile ${{ steps.backend-profile.outputs.backend-profile }} and run specs ${{ steps.chosen-specs.outputs.chosen-specs }}" From 0e3b01adc1f955fa1994475717f338c8a00bc7de Mon Sep 17 00:00:00 2001 From: Martijn Dirkse Date: Thu, 28 Nov 2024 10:49:28 +0100 Subject: [PATCH 11/17] Apply lookup when running the tests --- .github/workflows/testing.js.yml | 34 ++++++-------------------------- 1 file changed, 6 insertions(+), 28 deletions(-) diff --git a/.github/workflows/testing.js.yml b/.github/workflows/testing.js.yml index 920f8999..f9a1a132 100644 --- a/.github/workflows/testing.js.yml +++ b/.github/workflows/testing.js.yml @@ -135,8 +135,8 @@ jobs: - name: Set property to skip checking licenses run: echo "maven.skip.copyright=true" >> frank-runner/specials/ladybug/build.properties - name: Choose Spring profile storage.xml if matrix.selection is 'xml-storage' - run: echo "spring.profiles.active=storage.xml" >> frank-runner/specials/ladybug/build.properties - if: ${{ matrix.selection == 'xml-storage' }} + run: echo "spring.profiles.active=${{ steps.backend-profile.outputs.backend-profile }}" >> frank-runner/specials/ladybug/build.properties + if: ${{ steps.backend-profile.outputs.backend-profile != 'none' }} - name: Set port where ladybug-test-webapp is served run: echo "tomcat.connector.port=8090" > frank-runner/build.properties - name: Prevent Java exception about binding port 443 (for https) @@ -203,7 +203,7 @@ jobs: run: ./restart.sh -Dupdate.strategy=none > serverStartLog.log working-directory: frank-runner/specials/ladybug - - name: Run cypress with chrome browser (bypass ladybug-frontend within backend) - no Spring profile + - name: Run cypress with chrome browser (bypass ladybug-frontend within backend) uses: cypress-io/github-action@v6.6.0 if: ${{ github.event.inputs.useRealFrontend != 'true' && matrix.selection == 'default' }} with: @@ -212,38 +212,16 @@ jobs: pnpm ng serve --proxy-config src/proxy.cicd.conf.json --host 0.0.0.0 wait-on: "http://0.0.0.0:8090, http://0.0.0.0:4200" wait-on-timeout: 1000 - spec: cypress/e2e/debug/**,cypress/e2e/misc/**,cypress/e2e/test/** + spec: ${{ steps.chosen-specs.outputs.chosen-specs }} browser: chrome - - name: Run cypress with chrome browser (production frontend that is included in backend) - no Spring profile + - name: Run cypress with chrome browser (production frontend that is included in backend) uses: cypress-io/github-action@v6.6.0 if: ${{ github.event.inputs.useRealFrontend == 'true' && matrix.selection == 'default' }} with: working-directory: ladybug-frontend wait-on: "http://0.0.0.0:8090" wait-on-timeout: 1000 - spec: cypress/e2e/debug/**,cypress/e2e/misc/**,cypress/e2e/test/** - config: baseUrl=http://localhost:8090/ladybug - browser: chrome - - - name: Run cypress with chrome browser (bypass ladybug-frontend within backend) - Spring profile storage.xml - uses: cypress-io/github-action@v6.6.0 - if: ${{ github.event.inputs.useRealFrontend != 'true' && matrix.selection == 'xml-storage' }} - with: - working-directory: ladybug-frontend - start: | - pnpm ng serve --proxy-config src/proxy.cicd.conf.json --host 0.0.0.0 - wait-on: "http://0.0.0.0:8090, http://0.0.0.0:4200" - wait-on-timeout: 1000 - spec: cypress/e2e/1-profile-storage-xml/** - browser: chrome - - name: Run cypress with chrome browser (production frontend that is included in backend) - Spring profile storage.xml - uses: cypress-io/github-action@v6.6.0 - if: ${{ github.event.inputs.useRealFrontend == 'true' && matrix.selection == 'xml-storage' }} - with: - working-directory: ladybug-frontend - wait-on: "http://0.0.0.0:8090" - wait-on-timeout: 1000 - spec: cypress/e2e/1-profile-storage-xml/** + spec: ${{ steps.chosen-specs.outputs.chosen-specs }} config: baseUrl=http://localhost:8090/ladybug browser: chrome From a65b4279f57d7c02a982928562fb97ea56168f13 Mon Sep 17 00:00:00 2001 From: Martijn Dirkse Date: Thu, 28 Nov 2024 10:58:42 +0100 Subject: [PATCH 12/17] Improve name of step that selects the chosen profile --- .github/workflows/testing.js.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/testing.js.yml b/.github/workflows/testing.js.yml index f9a1a132..4b2173d2 100644 --- a/.github/workflows/testing.js.yml +++ b/.github/workflows/testing.js.yml @@ -134,7 +134,7 @@ jobs: run: echo "maven.skip.javadoc=true" >> frank-runner/specials/ladybug/build.properties - name: Set property to skip checking licenses run: echo "maven.skip.copyright=true" >> frank-runner/specials/ladybug/build.properties - - name: Choose Spring profile storage.xml if matrix.selection is 'xml-storage' + - name: Choose Spring profile for backend if it is not "none" run: echo "spring.profiles.active=${{ steps.backend-profile.outputs.backend-profile }}" >> frank-runner/specials/ladybug/build.properties if: ${{ steps.backend-profile.outputs.backend-profile != 'none' }} - name: Set port where ladybug-test-webapp is served From a17d7b773457b0c7708ca901ee08a3b031c3b026 Mon Sep 17 00:00:00 2001 From: Martijn Dirkse Date: Thu, 28 Nov 2024 11:04:06 +0100 Subject: [PATCH 13/17] Fix previous commit --- .github/workflows/testing.js.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/testing.js.yml b/.github/workflows/testing.js.yml index 4b2173d2..925abb09 100644 --- a/.github/workflows/testing.js.yml +++ b/.github/workflows/testing.js.yml @@ -205,7 +205,7 @@ jobs: - name: Run cypress with chrome browser (bypass ladybug-frontend within backend) uses: cypress-io/github-action@v6.6.0 - if: ${{ github.event.inputs.useRealFrontend != 'true' && matrix.selection == 'default' }} + if: ${{ github.event.inputs.useRealFrontend != 'true' }} with: working-directory: ladybug-frontend start: | @@ -216,7 +216,7 @@ jobs: browser: chrome - name: Run cypress with chrome browser (production frontend that is included in backend) uses: cypress-io/github-action@v6.6.0 - if: ${{ github.event.inputs.useRealFrontend == 'true' && matrix.selection == 'default' }} + if: ${{ github.event.inputs.useRealFrontend == 'true' }} with: working-directory: ladybug-frontend wait-on: "http://0.0.0.0:8090" From 457161d87fed37e417a42131ed7b3ac4130251a8 Mon Sep 17 00:00:00 2001 From: Martijn Dirkse Date: Thu, 28 Nov 2024 12:02:11 +0100 Subject: [PATCH 14/17] Move some files to .github/workflows --- .../workflows/cypress.env.json.cicd | 0 {src => .github/workflows}/proxy.cicd.conf.json | 0 .github/workflows/testing.js.yml | 4 ++-- 3 files changed, 2 insertions(+), 2 deletions(-) rename cypress.env.json.cicd => .github/workflows/cypress.env.json.cicd (100%) rename {src => .github/workflows}/proxy.cicd.conf.json (100%) diff --git a/cypress.env.json.cicd b/.github/workflows/cypress.env.json.cicd similarity index 100% rename from cypress.env.json.cicd rename to .github/workflows/cypress.env.json.cicd diff --git a/src/proxy.cicd.conf.json b/.github/workflows/proxy.cicd.conf.json similarity index 100% rename from src/proxy.cicd.conf.json rename to .github/workflows/proxy.cicd.conf.json diff --git a/.github/workflows/testing.js.yml b/.github/workflows/testing.js.yml index 925abb09..7251be91 100644 --- a/.github/workflows/testing.js.yml +++ b/.github/workflows/testing.js.yml @@ -104,7 +104,7 @@ jobs: ${{ runner.os }}-cypress- - name: Set Cypress environment variables - run: cp cypress.env.json.cicd cypress.env.json + run: cp .github/workflows/cypress.env.json.cicd cypress.env.json working-directory: ladybug-frontend - name: Run linter @@ -209,7 +209,7 @@ jobs: with: working-directory: ladybug-frontend start: | - pnpm ng serve --proxy-config src/proxy.cicd.conf.json --host 0.0.0.0 + pnpm ng serve --proxy-config .github/workflows/proxy.cicd.conf.json --host 0.0.0.0 wait-on: "http://0.0.0.0:8090, http://0.0.0.0:4200" wait-on-timeout: 1000 spec: ${{ steps.chosen-specs.outputs.chosen-specs }} From e0df33e44a407e69018c730cd7df5bda7b789ba8 Mon Sep 17 00:00:00 2001 From: Martijn Dirkse Date: Thu, 28 Nov 2024 12:12:55 +0100 Subject: [PATCH 15/17] Forgot a spec to run, corrected --- .github/workflows/profiles-and-specs.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/profiles-and-specs.txt b/.github/workflows/profiles-and-specs.txt index d948f1a9..9741d2d7 100644 --- a/.github/workflows/profiles-and-specs.txt +++ b/.github/workflows/profiles-and-specs.txt @@ -7,5 +7,5 @@ # value nu Spring profile is specified when the # backend is run. # -default none cypress/e2e/debug/**,cypress/e2e/misc/**,cypress/e2e/test/** +default none cypress/e2e/1-first.spec.ts,cypress/e2e/debug/**,cypress/e2e/misc/**,cypress/e2e/test/** xml-storage storage.xml cypress/e2e/1-profile-storage-xml/** From a348df29a0da62e7bd8bc23096b6b9201717493c Mon Sep 17 00:00:00 2001 From: Martijn Dirkse Date: Fri, 29 Nov 2024 18:09:52 +0100 Subject: [PATCH 16/17] Sort tests by Spring profile --- .github/workflows/profiles-and-specs.txt | 4 ++-- cypress/e2e/{ => no-profile}/1-first.spec.ts | 0 cypress/e2e/{misc => no-profile}/copying.cy.ts | 0 cypress/e2e/{ => no-profile}/debug/aboutOpenedReports.cy.ts | 0 .../{ => no-profile}/debug/clickingInTableOpensReport.cy.ts | 0 cypress/e2e/{ => no-profile}/debug/custom-editor.cy.ts | 0 cypress/e2e/{ => no-profile}/debug/deleteReports.cy.ts | 0 cypress/e2e/{ => no-profile}/debug/fileupload.cy.ts | 0 cypress/e2e/{ => no-profile}/debug/filterTable.cy.ts | 0 cypress/e2e/{ => no-profile}/debug/labels.cy.ts | 0 cypress/e2e/{ => no-profile}/debug/refresh.cy.ts | 0 cypress/e2e/{ => no-profile}/debug/reportGenerator.cy.ts | 0 cypress/e2e/{ => no-profile}/debug/runningReports.cy.ts | 0 cypress/e2e/{ => no-profile}/debug/settings-component.cy.ts | 0 .../e2e/{ => no-profile}/debug/show-warnings-and-errors.cy.ts | 0 cypress/e2e/{ => no-profile}/debug/table.cy.ts | 0 cypress/e2e/{ => no-profile}/debug/toast.cy.ts | 0 cypress/e2e/{ => no-profile}/debug/transformation.cy.ts | 0 cypress/e2e/{misc => no-profile}/keep_state.cy.ts | 0 cypress/e2e/{ => no-profile}/test/testtab.cy.ts | 0 .../1-pre-existing-report.spec.ts | 0 21 files changed, 2 insertions(+), 2 deletions(-) rename cypress/e2e/{ => no-profile}/1-first.spec.ts (100%) rename cypress/e2e/{misc => no-profile}/copying.cy.ts (100%) rename cypress/e2e/{ => no-profile}/debug/aboutOpenedReports.cy.ts (100%) rename cypress/e2e/{ => no-profile}/debug/clickingInTableOpensReport.cy.ts (100%) rename cypress/e2e/{ => no-profile}/debug/custom-editor.cy.ts (100%) rename cypress/e2e/{ => no-profile}/debug/deleteReports.cy.ts (100%) rename cypress/e2e/{ => no-profile}/debug/fileupload.cy.ts (100%) rename cypress/e2e/{ => no-profile}/debug/filterTable.cy.ts (100%) rename cypress/e2e/{ => no-profile}/debug/labels.cy.ts (100%) rename cypress/e2e/{ => no-profile}/debug/refresh.cy.ts (100%) rename cypress/e2e/{ => no-profile}/debug/reportGenerator.cy.ts (100%) rename cypress/e2e/{ => no-profile}/debug/runningReports.cy.ts (100%) rename cypress/e2e/{ => no-profile}/debug/settings-component.cy.ts (100%) rename cypress/e2e/{ => no-profile}/debug/show-warnings-and-errors.cy.ts (100%) rename cypress/e2e/{ => no-profile}/debug/table.cy.ts (100%) rename cypress/e2e/{ => no-profile}/debug/toast.cy.ts (100%) rename cypress/e2e/{ => no-profile}/debug/transformation.cy.ts (100%) rename cypress/e2e/{misc => no-profile}/keep_state.cy.ts (100%) rename cypress/e2e/{ => no-profile}/test/testtab.cy.ts (100%) rename cypress/e2e/{1-profile-storage-xml => storage-xml}/1-pre-existing-report.spec.ts (100%) diff --git a/.github/workflows/profiles-and-specs.txt b/.github/workflows/profiles-and-specs.txt index 9741d2d7..5a4a4891 100644 --- a/.github/workflows/profiles-and-specs.txt +++ b/.github/workflows/profiles-and-specs.txt @@ -7,5 +7,5 @@ # value nu Spring profile is specified when the # backend is run. # -default none cypress/e2e/1-first.spec.ts,cypress/e2e/debug/**,cypress/e2e/misc/**,cypress/e2e/test/** -xml-storage storage.xml cypress/e2e/1-profile-storage-xml/** +default none cypress/e2e/no-profile/** +xml-storage storage.xml cypress/e2e/storage-xml/** diff --git a/cypress/e2e/1-first.spec.ts b/cypress/e2e/no-profile/1-first.spec.ts similarity index 100% rename from cypress/e2e/1-first.spec.ts rename to cypress/e2e/no-profile/1-first.spec.ts diff --git a/cypress/e2e/misc/copying.cy.ts b/cypress/e2e/no-profile/copying.cy.ts similarity index 100% rename from cypress/e2e/misc/copying.cy.ts rename to cypress/e2e/no-profile/copying.cy.ts diff --git a/cypress/e2e/debug/aboutOpenedReports.cy.ts b/cypress/e2e/no-profile/debug/aboutOpenedReports.cy.ts similarity index 100% rename from cypress/e2e/debug/aboutOpenedReports.cy.ts rename to cypress/e2e/no-profile/debug/aboutOpenedReports.cy.ts diff --git a/cypress/e2e/debug/clickingInTableOpensReport.cy.ts b/cypress/e2e/no-profile/debug/clickingInTableOpensReport.cy.ts similarity index 100% rename from cypress/e2e/debug/clickingInTableOpensReport.cy.ts rename to cypress/e2e/no-profile/debug/clickingInTableOpensReport.cy.ts diff --git a/cypress/e2e/debug/custom-editor.cy.ts b/cypress/e2e/no-profile/debug/custom-editor.cy.ts similarity index 100% rename from cypress/e2e/debug/custom-editor.cy.ts rename to cypress/e2e/no-profile/debug/custom-editor.cy.ts diff --git a/cypress/e2e/debug/deleteReports.cy.ts b/cypress/e2e/no-profile/debug/deleteReports.cy.ts similarity index 100% rename from cypress/e2e/debug/deleteReports.cy.ts rename to cypress/e2e/no-profile/debug/deleteReports.cy.ts diff --git a/cypress/e2e/debug/fileupload.cy.ts b/cypress/e2e/no-profile/debug/fileupload.cy.ts similarity index 100% rename from cypress/e2e/debug/fileupload.cy.ts rename to cypress/e2e/no-profile/debug/fileupload.cy.ts diff --git a/cypress/e2e/debug/filterTable.cy.ts b/cypress/e2e/no-profile/debug/filterTable.cy.ts similarity index 100% rename from cypress/e2e/debug/filterTable.cy.ts rename to cypress/e2e/no-profile/debug/filterTable.cy.ts diff --git a/cypress/e2e/debug/labels.cy.ts b/cypress/e2e/no-profile/debug/labels.cy.ts similarity index 100% rename from cypress/e2e/debug/labels.cy.ts rename to cypress/e2e/no-profile/debug/labels.cy.ts diff --git a/cypress/e2e/debug/refresh.cy.ts b/cypress/e2e/no-profile/debug/refresh.cy.ts similarity index 100% rename from cypress/e2e/debug/refresh.cy.ts rename to cypress/e2e/no-profile/debug/refresh.cy.ts diff --git a/cypress/e2e/debug/reportGenerator.cy.ts b/cypress/e2e/no-profile/debug/reportGenerator.cy.ts similarity index 100% rename from cypress/e2e/debug/reportGenerator.cy.ts rename to cypress/e2e/no-profile/debug/reportGenerator.cy.ts diff --git a/cypress/e2e/debug/runningReports.cy.ts b/cypress/e2e/no-profile/debug/runningReports.cy.ts similarity index 100% rename from cypress/e2e/debug/runningReports.cy.ts rename to cypress/e2e/no-profile/debug/runningReports.cy.ts diff --git a/cypress/e2e/debug/settings-component.cy.ts b/cypress/e2e/no-profile/debug/settings-component.cy.ts similarity index 100% rename from cypress/e2e/debug/settings-component.cy.ts rename to cypress/e2e/no-profile/debug/settings-component.cy.ts diff --git a/cypress/e2e/debug/show-warnings-and-errors.cy.ts b/cypress/e2e/no-profile/debug/show-warnings-and-errors.cy.ts similarity index 100% rename from cypress/e2e/debug/show-warnings-and-errors.cy.ts rename to cypress/e2e/no-profile/debug/show-warnings-and-errors.cy.ts diff --git a/cypress/e2e/debug/table.cy.ts b/cypress/e2e/no-profile/debug/table.cy.ts similarity index 100% rename from cypress/e2e/debug/table.cy.ts rename to cypress/e2e/no-profile/debug/table.cy.ts diff --git a/cypress/e2e/debug/toast.cy.ts b/cypress/e2e/no-profile/debug/toast.cy.ts similarity index 100% rename from cypress/e2e/debug/toast.cy.ts rename to cypress/e2e/no-profile/debug/toast.cy.ts diff --git a/cypress/e2e/debug/transformation.cy.ts b/cypress/e2e/no-profile/debug/transformation.cy.ts similarity index 100% rename from cypress/e2e/debug/transformation.cy.ts rename to cypress/e2e/no-profile/debug/transformation.cy.ts diff --git a/cypress/e2e/misc/keep_state.cy.ts b/cypress/e2e/no-profile/keep_state.cy.ts similarity index 100% rename from cypress/e2e/misc/keep_state.cy.ts rename to cypress/e2e/no-profile/keep_state.cy.ts diff --git a/cypress/e2e/test/testtab.cy.ts b/cypress/e2e/no-profile/test/testtab.cy.ts similarity index 100% rename from cypress/e2e/test/testtab.cy.ts rename to cypress/e2e/no-profile/test/testtab.cy.ts diff --git a/cypress/e2e/1-profile-storage-xml/1-pre-existing-report.spec.ts b/cypress/e2e/storage-xml/1-pre-existing-report.spec.ts similarity index 100% rename from cypress/e2e/1-profile-storage-xml/1-pre-existing-report.spec.ts rename to cypress/e2e/storage-xml/1-pre-existing-report.spec.ts From a1526cd70d43b003cb57f99042de5f573a6b4d24 Mon Sep 17 00:00:00 2001 From: Martijn Dirkse Date: Tue, 3 Dec 2024 11:13:46 +0100 Subject: [PATCH 17/17] Use include feature of matrix to simplify --- .github/workflows/extractColumn.sh | 6 ---- .github/workflows/profiles-and-specs.txt | 11 ------ .github/workflows/testing.js.yml | 45 ++++++++++-------------- 3 files changed, 19 insertions(+), 43 deletions(-) delete mode 100755 .github/workflows/extractColumn.sh delete mode 100644 .github/workflows/profiles-and-specs.txt diff --git a/.github/workflows/extractColumn.sh b/.github/workflows/extractColumn.sh deleted file mode 100755 index 946fb11b..00000000 --- a/.github/workflows/extractColumn.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/bash -# -# Usage: -# extractColumn.sh -# -grep -v -E "^#" $1 | grep "^$2" | sed 's|\s\s*| |g' | cut -d" " -f$3 \ No newline at end of file diff --git a/.github/workflows/profiles-and-specs.txt b/.github/workflows/profiles-and-specs.txt deleted file mode 100644 index 5a4a4891..00000000 --- a/.github/workflows/profiles-and-specs.txt +++ /dev/null @@ -1,11 +0,0 @@ -# This file lists for each selection name what Spring -# profile to use for the backend and what specs to -# execute. It is spaces-delimited, because the specs field -# includes commas. -# -# Spring profile "none" is a magic value. For that -# value nu Spring profile is specified when the -# backend is run. -# -default none cypress/e2e/no-profile/** -xml-storage storage.xml cypress/e2e/storage-xml/** diff --git a/.github/workflows/testing.js.yml b/.github/workflows/testing.js.yml index 7251be91..cff26f71 100644 --- a/.github/workflows/testing.js.yml +++ b/.github/workflows/testing.js.yml @@ -27,16 +27,19 @@ jobs: testing: strategy: matrix: - selection: [ - 'default', - 'xml-storage' - ] + include: + - spring-profile: none + selected-specs: cypress/e2e/no-profile/** + - spring-profile: storage.xml + selected-specs: cypress/e2e/storage-xml/** name: Unit tests runs-on: ubuntu-latest steps: - name: Echo inputs run: echo "useRealFrontend=${{ github.event.inputs.useRealFrontend}}, mergeMasterToBranch=${{ github.event.inputs.mergeMasterToBranch}}, frontendCommitToCheckout=${{ github.event.inputs.frontendCommitToCheckout}}, backendCommitToCheckout=${{ github.event.inputs.backendCommitToCheckout }}" + - name: Show chosen Spring profile for backend and chosen specs to run + run: echo "Start backend with Spring profile ${{ matrix.spring-profile }} and run specs ${{ matrix.selected-specs }}" - name: Checkout repository uses: actions/checkout@v2 with: @@ -49,16 +52,6 @@ jobs: if: ${{ github.event.inputs.frontendCommitToCheckout }} run: git checkout ${{ github.event.inputs.frontendCommitToCheckout }} working-directory: "ladybug-frontend" - - name: Choose profile to use backend with - id: backend-profile - run: echo "backend-profile=$(./extractColumn.sh profiles-and-specs.txt ${{ matrix.selection }} 2)" >> $GITHUB_OUTPUT - working-directory: ladybug-frontend/.github/workflows - - name: Choose specs to run - id: chosen-specs - run: echo "chosen-specs=$(./extractColumn.sh profiles-and-specs.txt ${{ matrix.selection }} 3)" >> $GITHUB_OUTPUT - working-directory: ladybug-frontend/.github/workflows - - name: Show chosen Spring profile for backend and chosen specs to run - run: echo "Start backend with Spring profile ${{ steps.backend-profile.outputs.backend-profile }} and run specs ${{ steps.chosen-specs.outputs.chosen-specs }}" - uses: pnpm/action-setup@v4 name: Install pnpm @@ -135,8 +128,8 @@ jobs: - name: Set property to skip checking licenses run: echo "maven.skip.copyright=true" >> frank-runner/specials/ladybug/build.properties - name: Choose Spring profile for backend if it is not "none" - run: echo "spring.profiles.active=${{ steps.backend-profile.outputs.backend-profile }}" >> frank-runner/specials/ladybug/build.properties - if: ${{ steps.backend-profile.outputs.backend-profile != 'none' }} + run: echo "spring.profiles.active=${{ matrix.spring-profile }}" >> frank-runner/specials/ladybug/build.properties + if: ${{ matrix.spring-profile != 'none' }} - name: Set port where ladybug-test-webapp is served run: echo "tomcat.connector.port=8090" > frank-runner/build.properties - name: Prevent Java exception about binding port 443 (for https) @@ -212,7 +205,7 @@ jobs: pnpm ng serve --proxy-config .github/workflows/proxy.cicd.conf.json --host 0.0.0.0 wait-on: "http://0.0.0.0:8090, http://0.0.0.0:4200" wait-on-timeout: 1000 - spec: ${{ steps.chosen-specs.outputs.chosen-specs }} + spec: ${{ matrix.selected-specs }} browser: chrome - name: Run cypress with chrome browser (production frontend that is included in backend) uses: cypress-io/github-action@v6.6.0 @@ -221,7 +214,7 @@ jobs: working-directory: ladybug-frontend wait-on: "http://0.0.0.0:8090" wait-on-timeout: 1000 - spec: ${{ steps.chosen-specs.outputs.chosen-specs }} + spec: ${{ matrix.selected-specs }} config: baseUrl=http://localhost:8090/ladybug browser: chrome @@ -233,47 +226,47 @@ jobs: uses: actions/upload-artifact@v4 if: always() with: - name: installFrankRunnerEnv.log ${{ matrix.selection }} + name: installFrankRunnerEnv.log ${{ matrix.spring-profile }} path: frank-runner/installFrankRunnerEnv.log - name: Store log of starting the server with the Frank!Runner uses: actions/upload-artifact@v4 if: always() with: - name: serverStartLog.log ${{ matrix.selection }} + name: serverStartLog.log ${{ matrix.spring-profile }} path: frank-runner/specials/ladybug/serverStartLog.log - name: Store build.properties uses: actions/upload-artifact@v4 if: always() with: - name: specials_build.properties ${{ matrix.selection }} + name: specials_build.properties ${{ matrix.spring-profile }} path: frank-runner/specials/ladybug/build.properties - name: Store Apache Tomcat log uses: actions/upload-artifact@v4 if: always() with: - name: logs ${{ matrix.selection }} + name: logs ${{ matrix.spring-profile }} path: frank-runner/build/*/logs/* - name: Store Cypress screenshots uses: actions/upload-artifact@v4 if: always() with: - name: screenshots ${{ matrix.selection }} + name: screenshots ${{ matrix.spring-profile }} path: ladybug-frontend/cypress/screenshots/ - name: Store Cypress videos uses: actions/upload-artifact@v4 if: always() with: - name: videos ${{ matrix.selection }} + name: videos ${{ matrix.spring-profile }} path: ladybug-frontend/cypress/videos/ - name: Store Cypress screenshots for Firefox uses: actions/upload-artifact@v4 if: always() with: - name: Firefix screenshots ${{ matrix.selection }} + name: Firefix screenshots ${{ matrix.spring-profile }} path: ladybug-frontend/cypress/firefox/screenshots/ - name: Store Cypress videos for Firefox uses: actions/upload-artifact@v4 if: always() with: - name: Firefox videos ${{ matrix.selection }} + name: Firefox videos ${{ matrix.spring-profile }} path: ladybug-frontend/cypress/firefox/videos/