From 905ab8dd5ef5d0c38a1a808aa8ad83f87a31fc6a Mon Sep 17 00:00:00 2001 From: fried Date: Tue, 29 Apr 2025 13:19:43 +0200 Subject: [PATCH 01/12] Adds check for surefire/failsafe reports --- .github/workflows/basyx_test.yml | 133 +++++++++++++++++++++++++++++++ 1 file changed, 133 insertions(+) diff --git a/.github/workflows/basyx_test.yml b/.github/workflows/basyx_test.yml index e1607af16..d522f0eca 100644 --- a/.github/workflows/basyx_test.yml +++ b/.github/workflows/basyx_test.yml @@ -45,6 +45,13 @@ jobs: - name: Test BaSyx Common run: mvn test -f "basyx.common/pom.xml" + - name: Fail if no Surefire/Failsafe reports found + run: | + if ! find . -type f \( -path "*/target/surefire-reports/*.xml" -o -path "*/target/failsafe-reports/*.xml" \) | grep -q .; then + echo "No Surefire or Failsafe test reports found. Failing CI."; + exit 1; + fi + - name: Stop environment if: always() run: docker compose --project-directory ./ci down @@ -71,9 +78,23 @@ jobs: - name: Test AASX FileServer run: mvn test -f "basyx.aasxfileserver/pom.xml" -DskipITs + - name: Fail if no Surefire/Failsafe reports found + run: | + if ! find . -type f \( -path "*/target/surefire-reports/*.xml" -o -path "*/target/failsafe-reports/*.xml" \) | grep -q .; then + echo "No Surefire or Failsafe test reports found. Failing CI."; + exit 1; + fi + - name: Test AASX FileServer IT run: mvn verify -f "basyx.aasxfileserver/basyx.aasxfileserver.component" -Ddocker.namespace=test -DskipSurefire=true + - name: Fail if no Surefire/Failsafe reports found + run: | + if ! find . -type f \( -path "*/target/surefire-reports/*.xml" -o -path "*/target/failsafe-reports/*.xml" \) | grep -q .; then + echo "No Surefire or Failsafe test reports found. Failing CI."; + exit 1; + fi + - name: Stop environment if: always() run: docker compose --project-directory ./ci down @@ -100,9 +121,23 @@ jobs: - name: Test AAS Environment run: mvn test -f "basyx.aasenvironment/pom.xml" -DskipITs + - name: Fail if no Surefire/Failsafe reports found + run: | + if ! find . -type f \( -path "*/target/surefire-reports/*.xml" -o -path "*/target/failsafe-reports/*.xml" \) | grep -q .; then + echo "No Surefire or Failsafe test reports found. Failing CI."; + exit 1; + fi + - name: Test AAS Environment IT run: mvn verify -f "basyx.aasenvironment/basyx.aasenvironment.component" -Ddocker.namespace=test -DskipSurefire=true + - name: Fail if no Surefire/Failsafe reports found + run: | + if ! find . -type f \( -path "*/target/surefire-reports/*.xml" -o -path "*/target/failsafe-reports/*.xml" \) | grep -q .; then + echo "No Surefire or Failsafe test reports found. Failing CI."; + exit 1; + fi + - name: Stop environment if: always() run: docker compose --project-directory ./ci down @@ -129,9 +164,23 @@ jobs: - name: Test AAS Repository run: mvn test -f "basyx.aasrepository/pom.xml" -DskipITs + - name: Fail if no Surefire/Failsafe reports found + run: | + if ! find . -type f \( -path "*/target/surefire-reports/*.xml" -o -path "*/target/failsafe-reports/*.xml" \) | grep -q .; then + echo "No Surefire or Failsafe test reports found. Failing CI."; + exit 1; + fi + - name: Test AAS Repository IT run: mvn verify -f "basyx.aasrepository/basyx.aasrepository.component" -Ddocker.namespace=test -DskipSurefire=true + - name: Fail if no Surefire/Failsafe reports found + run: | + if ! find . -type f \( -path "*/target/surefire-reports/*.xml" -o -path "*/target/failsafe-reports/*.xml" \) | grep -q .; then + echo "No Surefire or Failsafe test reports found. Failing CI."; + exit 1; + fi + - name: Stop environment if: always() run: docker compose --project-directory ./ci down @@ -158,6 +207,13 @@ jobs: - name: Test AAS Service run: mvn test -f "basyx.aasservice/pom.xml" + - name: Fail if no Surefire/Failsafe reports found + run: | + if ! find . -type f \( -path "*/target/surefire-reports/*.xml" -o -path "*/target/failsafe-reports/*.xml" \) | grep -q .; then + echo "No Surefire or Failsafe test reports found. Failing CI."; + exit 1; + fi + - name: Stop environment if: always() run: docker compose --project-directory ./ci down @@ -184,9 +240,23 @@ jobs: - name: Test Submodel Repository run: mvn test -f "basyx.submodelrepository/pom.xml" -DskipITs + - name: Fail if no Surefire/Failsafe reports found + run: | + if ! find . -type f \( -path "*/target/surefire-reports/*.xml" -o -path "*/target/failsafe-reports/*.xml" \) | grep -q .; then + echo "No Surefire or Failsafe test reports found. Failing CI."; + exit 1; + fi + - name: Test Submodel Repository IT run: mvn verify -f "basyx.submodelrepository/basyx.submodelrepository.component" -Ddocker.namespace=test -DskipSurefire=true + - name: Fail if no Surefire/Failsafe reports found + run: | + if ! find . -type f \( -path "*/target/surefire-reports/*.xml" -o -path "*/target/failsafe-reports/*.xml" \) | grep -q .; then + echo "No Surefire or Failsafe test reports found. Failing CI."; + exit 1; + fi + - name: Stop environment if: always() run: docker compose --project-directory ./ci down @@ -213,6 +283,13 @@ jobs: - name: Test Submodel Service run: mvn test -f "basyx.submodelservice/pom.xml" + - name: Fail if no Surefire/Failsafe reports found + run: | + if ! find . -type f \( -path "*/target/surefire-reports/*.xml" -o -path "*/target/failsafe-reports/*.xml" \) | grep -q .; then + echo "No Surefire or Failsafe test reports found. Failing CI."; + exit 1; + fi + - name: Stop environment if: always() run: docker compose --project-directory ./ci down @@ -239,9 +316,23 @@ jobs: - name: Test Concept Description Repository run: mvn test -f "basyx.conceptdescriptionrepository/pom.xml" -DskipITs + - name: Fail if no Surefire/Failsafe reports found + run: | + if ! find . -type f \( -path "*/target/surefire-reports/*.xml" -o -path "*/target/failsafe-reports/*.xml" \) | grep -q .; then + echo "No Surefire or Failsafe test reports found. Failing CI."; + exit 1; + fi + - name: Test Concept Description Repository IT run: mvn verify -f "basyx.conceptdescriptionrepository/basyx.conceptdescriptionrepository.component" -Ddocker.namespace=test -DskipSurefire=true + - name: Fail if no Surefire/Failsafe reports found + run: | + if ! find . -type f \( -path "*/target/surefire-reports/*.xml" -o -path "*/target/failsafe-reports/*.xml" \) | grep -q .; then + echo "No Surefire or Failsafe test reports found. Failing CI."; + exit 1; + fi + - name: Stop environment if: always() run: docker compose --project-directory ./ci down @@ -268,9 +359,23 @@ jobs: - name: Test Submodel Registry run: mvn test -f "basyx.submodelregistry/pom.xml" -DskipITs + - name: Fail if no Surefire/Failsafe reports found + run: | + if ! find . -type f \( -path "*/target/surefire-reports/*.xml" -o -path "*/target/failsafe-reports/*.xml" \) | grep -q .; then + echo "No Surefire or Failsafe test reports found. Failing CI."; + exit 1; + fi + - name: Test Submodel Registry IT run: mvn verify -f "basyx.submodelregistry" -Ddocker.namespace=test -DskipSurefire=true + - name: Fail if no Surefire/Failsafe reports found + run: | + if ! find . -type f \( -path "*/target/surefire-reports/*.xml" -o -path "*/target/failsafe-reports/*.xml" \) | grep -q .; then + echo "No Surefire or Failsafe test reports found. Failing CI."; + exit 1; + fi + - name: Stop environment if: always() run: docker compose --project-directory ./ci down @@ -297,9 +402,23 @@ jobs: - name: Test AAS Registry run: mvn test -f "basyx.aasregistry/pom.xml" -DskipITs + - name: Fail if no Surefire/Failsafe reports found + run: | + if ! find . -type f \( -path "*/target/surefire-reports/*.xml" -o -path "*/target/failsafe-reports/*.xml" \) | grep -q .; then + echo "No Surefire or Failsafe test reports found. Failing CI."; + exit 1; + fi + - name: Test AAS Registry IT run: mvn verify -f "basyx.aasregistry" -Ddocker.namespace=test -DskipSurefire=true + - name: Fail if no Surefire/Failsafe reports found + run: | + if ! find . -type f \( -path "*/target/surefire-reports/*.xml" -o -path "*/target/failsafe-reports/*.xml" \) | grep -q .; then + echo "No Surefire or Failsafe test reports found. Failing CI."; + exit 1; + fi + - name: Stop environment if: always() run: docker compose --project-directory ./ci down @@ -326,9 +445,23 @@ jobs: - name: Test AAS Discovery Service run: mvn test -f "basyx.aasdiscoveryservice/pom.xml" -DskipITs + - name: Fail if no Surefire/Failsafe reports found + run: | + if ! find . -type f \( -path "*/target/surefire-reports/*.xml" -o -path "*/target/failsafe-reports/*.xml" \) | grep -q .; then + echo "No Surefire or Failsafe test reports found. Failing CI."; + exit 1; + fi + - name: Test AAS Discovery Service IT run: mvn verify -f "basyx.aasdiscoveryservice/basyx.aasdiscoveryservice.component" -Ddocker.namespace=test -DskipSurefire=true + - name: Fail if no Surefire/Failsafe reports found + run: | + if ! find . -type f \( -path "*/target/surefire-reports/*.xml" -o -path "*/target/failsafe-reports/*.xml" \) | grep -q .; then + echo "No Surefire or Failsafe test reports found. Failing CI."; + exit 1; + fi + - name: Stop environment if: always() run: docker compose --project-directory ./ci down From 8f31def2bcca9cdfe876b1f5a52950963670bb4b Mon Sep 17 00:00:00 2001 From: fried Date: Tue, 29 Apr 2025 13:33:29 +0200 Subject: [PATCH 02/12] Forces Build of BaSyx Test-Containers to check against new code --- .github/workflows/basyx_test.yml | 22 +++++++++++----------- ci/docker-compose.yml | 6 ++++++ 2 files changed, 17 insertions(+), 11 deletions(-) diff --git a/.github/workflows/basyx_test.yml b/.github/workflows/basyx_test.yml index d522f0eca..16a09106a 100644 --- a/.github/workflows/basyx_test.yml +++ b/.github/workflows/basyx_test.yml @@ -37,7 +37,7 @@ jobs: cache: maven - name: Start environment - run: docker compose --project-directory ./ci up -d --wait + run: docker compose --build --project-directory ./ci up -d --wait - name: Build BaSyx run: mvn clean install ${MVN_ARGS_BUILD_BASYX} @@ -70,7 +70,7 @@ jobs: cache: maven - name: Start environment - run: docker compose --project-directory ./ci up -d --wait + run: docker compose --build --project-directory ./ci up -d --wait - name: Build BaSyx run: mvn clean install ${MVN_ARGS_BUILD_BASYX} @@ -113,7 +113,7 @@ jobs: cache: maven - name: Start environment - run: docker compose --project-directory ./ci up -d --wait + run: docker compose --build --project-directory ./ci up -d --wait - name: Build BaSyx run: mvn clean install ${MVN_ARGS_BUILD_BASYX} @@ -156,7 +156,7 @@ jobs: cache: maven - name: Start environment - run: docker compose --project-directory ./ci up -d --wait + run: docker compose --build --project-directory ./ci up -d --wait - name: Build BaSyx run: mvn clean install ${MVN_ARGS_BUILD_BASYX} @@ -199,7 +199,7 @@ jobs: cache: maven - name: Start environment - run: docker compose --project-directory ./ci up -d --wait + run: docker compose --build --project-directory ./ci up -d --wait - name: Build BaSyx run: mvn clean install ${MVN_ARGS_BUILD_BASYX} @@ -232,7 +232,7 @@ jobs: cache: maven - name: Start environment - run: docker compose --project-directory ./ci up -d --wait + run: docker compose --build --project-directory ./ci up -d --wait - name: Build BaSyx run: mvn clean install ${MVN_ARGS_BUILD_BASYX} @@ -275,7 +275,7 @@ jobs: cache: maven - name: Start environment - run: docker compose --project-directory ./ci up -d --wait + run: docker compose --build --project-directory ./ci up -d --wait - name: Build BaSyx run: mvn clean install ${MVN_ARGS_BUILD_BASYX} @@ -308,7 +308,7 @@ jobs: cache: maven - name: Start environment - run: docker compose --project-directory ./ci up -d --wait + run: docker compose --build --project-directory ./ci up -d --wait - name: Build BaSyx run: mvn clean install ${MVN_ARGS_BUILD_BASYX} @@ -351,7 +351,7 @@ jobs: cache: maven - name: Start environment - run: docker compose --project-directory ./ci up -d --wait + run: docker compose --build --project-directory ./ci up -d --wait - name: Build BaSyx run: mvn clean install ${MVN_ARGS_BUILD_BASYX} @@ -394,7 +394,7 @@ jobs: cache: maven - name: Start environment - run: docker compose --project-directory ./ci up -d --wait + run: docker compose --build --project-directory ./ci up -d --wait - name: Build BaSyx run: mvn clean install ${MVN_ARGS_BUILD_BASYX} @@ -437,7 +437,7 @@ jobs: cache: maven - name: Start environment - run: docker compose --project-directory ./ci up -d --wait + run: docker compose --build --project-directory ./ci up -d --wait - name: Build BaSyx run: mvn clean install ${MVN_ARGS_BUILD_BASYX} diff --git a/ci/docker-compose.yml b/ci/docker-compose.yml index 628a83747..bd7d79815 100644 --- a/ci/docker-compose.yml +++ b/ci/docker-compose.yml @@ -95,6 +95,8 @@ services: secured-aas-registry-log-mem: image: eclipsebasyx/aas-registry-log-mem:$BASYX_VERSION + build: + context: ./basyx.aasregistry/basyx.aasregistry-service-release-log-mem/src/main/docker container_name: secured-aas-registry-log-mem ports: - "8051:8080" @@ -115,6 +117,8 @@ services: secured-sm-registry-log-mem: image: eclipsebasyx/submodel-registry-log-mem:$BASYX_VERSION + build: + context: ./basyx.submodelregistry/basyx.submodelregistry-service-release-log-mem/src/main/docker container_name: secured-sm-registry-log-mem environment: SERVER_SERVLET_CONTEXT_PATH: / @@ -135,6 +139,8 @@ services: configuration-sm-repo: image: eclipsebasyx/submodel-repository:$BASYX_VERSION + build: + context: ./basyx.submodelrepository/basyx.submodelrepository.component container_name: configuration-sm-repo ports: - "8055:8081" From 85de37e3b614f435aeb00f53e8b6f7f6b5634a12 Mon Sep 17 00:00:00 2001 From: fried Date: Tue, 29 Apr 2025 13:47:25 +0200 Subject: [PATCH 03/12] Changes Start environment command --- .github/workflows/basyx_test.yml | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/.github/workflows/basyx_test.yml b/.github/workflows/basyx_test.yml index 16a09106a..621c5c983 100644 --- a/.github/workflows/basyx_test.yml +++ b/.github/workflows/basyx_test.yml @@ -37,7 +37,7 @@ jobs: cache: maven - name: Start environment - run: docker compose --build --project-directory ./ci up -d --wait + run: docker compose --project-directory ./ci up -d --wait --build - name: Build BaSyx run: mvn clean install ${MVN_ARGS_BUILD_BASYX} @@ -70,7 +70,7 @@ jobs: cache: maven - name: Start environment - run: docker compose --build --project-directory ./ci up -d --wait + run: docker compose --project-directory ./ci up -d --wait --build - name: Build BaSyx run: mvn clean install ${MVN_ARGS_BUILD_BASYX} @@ -113,7 +113,7 @@ jobs: cache: maven - name: Start environment - run: docker compose --build --project-directory ./ci up -d --wait + run: docker compose --project-directory ./ci up -d --wait --build - name: Build BaSyx run: mvn clean install ${MVN_ARGS_BUILD_BASYX} @@ -156,7 +156,7 @@ jobs: cache: maven - name: Start environment - run: docker compose --build --project-directory ./ci up -d --wait + run: docker compose --project-directory ./ci up -d --wait --build - name: Build BaSyx run: mvn clean install ${MVN_ARGS_BUILD_BASYX} @@ -199,7 +199,7 @@ jobs: cache: maven - name: Start environment - run: docker compose --build --project-directory ./ci up -d --wait + run: docker compose --project-directory ./ci up -d --wait --build - name: Build BaSyx run: mvn clean install ${MVN_ARGS_BUILD_BASYX} @@ -232,7 +232,7 @@ jobs: cache: maven - name: Start environment - run: docker compose --build --project-directory ./ci up -d --wait + run: docker compose --project-directory ./ci up -d --wait --build - name: Build BaSyx run: mvn clean install ${MVN_ARGS_BUILD_BASYX} @@ -275,7 +275,7 @@ jobs: cache: maven - name: Start environment - run: docker compose --build --project-directory ./ci up -d --wait + run: docker compose --project-directory ./ci up -d --wait --build - name: Build BaSyx run: mvn clean install ${MVN_ARGS_BUILD_BASYX} @@ -308,7 +308,7 @@ jobs: cache: maven - name: Start environment - run: docker compose --build --project-directory ./ci up -d --wait + run: docker compose --project-directory ./ci up -d --wait --build - name: Build BaSyx run: mvn clean install ${MVN_ARGS_BUILD_BASYX} @@ -351,7 +351,7 @@ jobs: cache: maven - name: Start environment - run: docker compose --build --project-directory ./ci up -d --wait + run: docker compose --project-directory ./ci up -d --wait --build - name: Build BaSyx run: mvn clean install ${MVN_ARGS_BUILD_BASYX} @@ -394,7 +394,7 @@ jobs: cache: maven - name: Start environment - run: docker compose --build --project-directory ./ci up -d --wait + run: docker compose --project-directory ./ci up -d --wait --build - name: Build BaSyx run: mvn clean install ${MVN_ARGS_BUILD_BASYX} @@ -437,7 +437,7 @@ jobs: cache: maven - name: Start environment - run: docker compose --build --project-directory ./ci up -d --wait + run: docker compose --project-directory ./ci up -d --wait --build - name: Build BaSyx run: mvn clean install ${MVN_ARGS_BUILD_BASYX} From d25bbe597f5869b1decacb92d074856cb5c086b1 Mon Sep 17 00:00:00 2001 From: fried Date: Tue, 29 Apr 2025 13:49:23 +0200 Subject: [PATCH 04/12] Changes path to dockerfiles --- ci/docker-compose.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ci/docker-compose.yml b/ci/docker-compose.yml index bd7d79815..3c75a310a 100644 --- a/ci/docker-compose.yml +++ b/ci/docker-compose.yml @@ -96,7 +96,7 @@ services: secured-aas-registry-log-mem: image: eclipsebasyx/aas-registry-log-mem:$BASYX_VERSION build: - context: ./basyx.aasregistry/basyx.aasregistry-service-release-log-mem/src/main/docker + context: ../basyx.aasregistry/basyx.aasregistry-service-release-log-mem/src/main/docker container_name: secured-aas-registry-log-mem ports: - "8051:8080" @@ -118,7 +118,7 @@ services: secured-sm-registry-log-mem: image: eclipsebasyx/submodel-registry-log-mem:$BASYX_VERSION build: - context: ./basyx.submodelregistry/basyx.submodelregistry-service-release-log-mem/src/main/docker + context: ../basyx.submodelregistry/basyx.submodelregistry-service-release-log-mem/src/main/docker container_name: secured-sm-registry-log-mem environment: SERVER_SERVLET_CONTEXT_PATH: / @@ -140,7 +140,7 @@ services: configuration-sm-repo: image: eclipsebasyx/submodel-repository:$BASYX_VERSION build: - context: ./basyx.submodelrepository/basyx.submodelrepository.component + context: ../basyx.submodelrepository/basyx.submodelrepository.component container_name: configuration-sm-repo ports: - "8055:8081" From 5bd3660e5b4ab2bc1fbf80d12bab57a3be9eb92e Mon Sep 17 00:00:00 2001 From: fried Date: Tue, 29 Apr 2025 14:01:17 +0200 Subject: [PATCH 05/12] Build Docker Images before starting containers --- .github/workflows/basyx_test.yml | 220 +++++++++++++++++++++++++++++-- ci/docker-compose.yml | 6 - 2 files changed, 209 insertions(+), 17 deletions(-) diff --git a/.github/workflows/basyx_test.yml b/.github/workflows/basyx_test.yml index 621c5c983..86e3281cb 100644 --- a/.github/workflows/basyx_test.yml +++ b/.github/workflows/basyx_test.yml @@ -36,8 +36,26 @@ jobs: distribution: 'adopt' cache: maven + - name: Build Submodel Repository + run: mvn package -DskipTests -Ddocker.namespace=eclipsebasyx --pl "org.eclipse.digitaltwin.basyx:basyx.submodelrepository.component" + + - name: Build AAS Repository + run: mvn package -DskipTests -Ddocker.namespace=eclipsebasyx --pl "org.eclipse.digitaltwin.basyx:basyx.aasrepository.component" + + - name: Build AAS Registry Log Mem + run: mvn package -DskipTests -Ddocker.namespace=eclipsebasyx --pl "org.eclipse.digitaltwin.basyx:basyx.aasregistry-service-release-log-mem" + + - name: Build Submodel Registry Log Mem + run: mvn package -DskipTests -Ddocker.namespace=eclipsebasyx --pl "org.eclipse.digitaltwin.basyx:basyx.submodelregistry-service-release-log-mem" + + - name: Build AAS Registry Log MongoDB + run: mvn package -DskipTests -Ddocker.namespace=eclipsebasyx --pl "org.eclipse.digitaltwin.basyx:basyx.aasregistry-service-release-log-mongodb" + + - name: Build Submodel Registry Log MongoDB + run: mvn package -DskipTests -Ddocker.namespace=eclipsebasyx --pl "org.eclipse.digitaltwin.basyx:basyx.submodelregistry-service-release-log-mongodb" + - name: Start environment - run: docker compose --project-directory ./ci up -d --wait --build + run: docker compose --project-directory ./ci up -d --wait - name: Build BaSyx run: mvn clean install ${MVN_ARGS_BUILD_BASYX} @@ -68,9 +86,27 @@ jobs: java-version: '17' distribution: 'adopt' cache: maven + + - name: Build Submodel Repository + run: mvn package -DskipTests -Ddocker.namespace=eclipsebasyx --pl "org.eclipse.digitaltwin.basyx:basyx.submodelrepository.component" + + - name: Build AAS Repository + run: mvn package -DskipTests -Ddocker.namespace=eclipsebasyx --pl "org.eclipse.digitaltwin.basyx:basyx.aasrepository.component" + + - name: Build AAS Registry Log Mem + run: mvn package -DskipTests -Ddocker.namespace=eclipsebasyx --pl "org.eclipse.digitaltwin.basyx:basyx.aasregistry-service-release-log-mem" + + - name: Build Submodel Registry Log Mem + run: mvn package -DskipTests -Ddocker.namespace=eclipsebasyx --pl "org.eclipse.digitaltwin.basyx:basyx.submodelregistry-service-release-log-mem" + + - name: Build AAS Registry Log MongoDB + run: mvn package -DskipTests -Ddocker.namespace=eclipsebasyx --pl "org.eclipse.digitaltwin.basyx:basyx.aasregistry-service-release-log-mongodb" + + - name: Build Submodel Registry Log MongoDB + run: mvn package -DskipTests -Ddocker.namespace=eclipsebasyx --pl "org.eclipse.digitaltwin.basyx:basyx.submodelregistry-service-release-log-mongodb" - name: Start environment - run: docker compose --project-directory ./ci up -d --wait --build + run: docker compose --project-directory ./ci up -d --wait - name: Build BaSyx run: mvn clean install ${MVN_ARGS_BUILD_BASYX} @@ -111,9 +147,27 @@ jobs: java-version: '17' distribution: 'adopt' cache: maven + + - name: Build Submodel Repository + run: mvn package -DskipTests -Ddocker.namespace=eclipsebasyx --pl "org.eclipse.digitaltwin.basyx:basyx.submodelrepository.component" + + - name: Build AAS Repository + run: mvn package -DskipTests -Ddocker.namespace=eclipsebasyx --pl "org.eclipse.digitaltwin.basyx:basyx.aasrepository.component" + + - name: Build AAS Registry Log Mem + run: mvn package -DskipTests -Ddocker.namespace=eclipsebasyx --pl "org.eclipse.digitaltwin.basyx:basyx.aasregistry-service-release-log-mem" + + - name: Build Submodel Registry Log Mem + run: mvn package -DskipTests -Ddocker.namespace=eclipsebasyx --pl "org.eclipse.digitaltwin.basyx:basyx.submodelregistry-service-release-log-mem" + + - name: Build AAS Registry Log MongoDB + run: mvn package -DskipTests -Ddocker.namespace=eclipsebasyx --pl "org.eclipse.digitaltwin.basyx:basyx.aasregistry-service-release-log-mongodb" + + - name: Build Submodel Registry Log MongoDB + run: mvn package -DskipTests -Ddocker.namespace=eclipsebasyx --pl "org.eclipse.digitaltwin.basyx:basyx.submodelregistry-service-release-log-mongodb" - name: Start environment - run: docker compose --project-directory ./ci up -d --wait --build + run: docker compose --project-directory ./ci up -d --wait - name: Build BaSyx run: mvn clean install ${MVN_ARGS_BUILD_BASYX} @@ -154,9 +208,27 @@ jobs: java-version: '17' distribution: 'adopt' cache: maven + + - name: Build Submodel Repository + run: mvn package -DskipTests -Ddocker.namespace=eclipsebasyx --pl "org.eclipse.digitaltwin.basyx:basyx.submodelrepository.component" + + - name: Build AAS Repository + run: mvn package -DskipTests -Ddocker.namespace=eclipsebasyx --pl "org.eclipse.digitaltwin.basyx:basyx.aasrepository.component" + + - name: Build AAS Registry Log Mem + run: mvn package -DskipTests -Ddocker.namespace=eclipsebasyx --pl "org.eclipse.digitaltwin.basyx:basyx.aasregistry-service-release-log-mem" + + - name: Build Submodel Registry Log Mem + run: mvn package -DskipTests -Ddocker.namespace=eclipsebasyx --pl "org.eclipse.digitaltwin.basyx:basyx.submodelregistry-service-release-log-mem" + + - name: Build AAS Registry Log MongoDB + run: mvn package -DskipTests -Ddocker.namespace=eclipsebasyx --pl "org.eclipse.digitaltwin.basyx:basyx.aasregistry-service-release-log-mongodb" + + - name: Build Submodel Registry Log MongoDB + run: mvn package -DskipTests -Ddocker.namespace=eclipsebasyx --pl "org.eclipse.digitaltwin.basyx:basyx.submodelregistry-service-release-log-mongodb" - name: Start environment - run: docker compose --project-directory ./ci up -d --wait --build + run: docker compose --project-directory ./ci up -d --wait - name: Build BaSyx run: mvn clean install ${MVN_ARGS_BUILD_BASYX} @@ -197,9 +269,27 @@ jobs: java-version: '17' distribution: 'adopt' cache: maven + + - name: Build Submodel Repository + run: mvn package -DskipTests -Ddocker.namespace=eclipsebasyx --pl "org.eclipse.digitaltwin.basyx:basyx.submodelrepository.component" + + - name: Build AAS Repository + run: mvn package -DskipTests -Ddocker.namespace=eclipsebasyx --pl "org.eclipse.digitaltwin.basyx:basyx.aasrepository.component" + + - name: Build AAS Registry Log Mem + run: mvn package -DskipTests -Ddocker.namespace=eclipsebasyx --pl "org.eclipse.digitaltwin.basyx:basyx.aasregistry-service-release-log-mem" + + - name: Build Submodel Registry Log Mem + run: mvn package -DskipTests -Ddocker.namespace=eclipsebasyx --pl "org.eclipse.digitaltwin.basyx:basyx.submodelregistry-service-release-log-mem" + + - name: Build AAS Registry Log MongoDB + run: mvn package -DskipTests -Ddocker.namespace=eclipsebasyx --pl "org.eclipse.digitaltwin.basyx:basyx.aasregistry-service-release-log-mongodb" + + - name: Build Submodel Registry Log MongoDB + run: mvn package -DskipTests -Ddocker.namespace=eclipsebasyx --pl "org.eclipse.digitaltwin.basyx:basyx.submodelregistry-service-release-log-mongodb" - name: Start environment - run: docker compose --project-directory ./ci up -d --wait --build + run: docker compose --project-directory ./ci up -d --wait - name: Build BaSyx run: mvn clean install ${MVN_ARGS_BUILD_BASYX} @@ -230,9 +320,27 @@ jobs: java-version: '17' distribution: 'adopt' cache: maven + + - name: Build Submodel Repository + run: mvn package -DskipTests -Ddocker.namespace=eclipsebasyx --pl "org.eclipse.digitaltwin.basyx:basyx.submodelrepository.component" + + - name: Build AAS Repository + run: mvn package -DskipTests -Ddocker.namespace=eclipsebasyx --pl "org.eclipse.digitaltwin.basyx:basyx.aasrepository.component" + + - name: Build AAS Registry Log Mem + run: mvn package -DskipTests -Ddocker.namespace=eclipsebasyx --pl "org.eclipse.digitaltwin.basyx:basyx.aasregistry-service-release-log-mem" + + - name: Build Submodel Registry Log Mem + run: mvn package -DskipTests -Ddocker.namespace=eclipsebasyx --pl "org.eclipse.digitaltwin.basyx:basyx.submodelregistry-service-release-log-mem" + + - name: Build AAS Registry Log MongoDB + run: mvn package -DskipTests -Ddocker.namespace=eclipsebasyx --pl "org.eclipse.digitaltwin.basyx:basyx.aasregistry-service-release-log-mongodb" + + - name: Build Submodel Registry Log MongoDB + run: mvn package -DskipTests -Ddocker.namespace=eclipsebasyx --pl "org.eclipse.digitaltwin.basyx:basyx.submodelregistry-service-release-log-mongodb" - name: Start environment - run: docker compose --project-directory ./ci up -d --wait --build + run: docker compose --project-directory ./ci up -d --wait - name: Build BaSyx run: mvn clean install ${MVN_ARGS_BUILD_BASYX} @@ -273,9 +381,27 @@ jobs: java-version: '17' distribution: 'adopt' cache: maven + + - name: Build Submodel Repository + run: mvn package -DskipTests -Ddocker.namespace=eclipsebasyx --pl "org.eclipse.digitaltwin.basyx:basyx.submodelrepository.component" + + - name: Build AAS Repository + run: mvn package -DskipTests -Ddocker.namespace=eclipsebasyx --pl "org.eclipse.digitaltwin.basyx:basyx.aasrepository.component" + + - name: Build AAS Registry Log Mem + run: mvn package -DskipTests -Ddocker.namespace=eclipsebasyx --pl "org.eclipse.digitaltwin.basyx:basyx.aasregistry-service-release-log-mem" + + - name: Build Submodel Registry Log Mem + run: mvn package -DskipTests -Ddocker.namespace=eclipsebasyx --pl "org.eclipse.digitaltwin.basyx:basyx.submodelregistry-service-release-log-mem" + + - name: Build AAS Registry Log MongoDB + run: mvn package -DskipTests -Ddocker.namespace=eclipsebasyx --pl "org.eclipse.digitaltwin.basyx:basyx.aasregistry-service-release-log-mongodb" + + - name: Build Submodel Registry Log MongoDB + run: mvn package -DskipTests -Ddocker.namespace=eclipsebasyx --pl "org.eclipse.digitaltwin.basyx:basyx.submodelregistry-service-release-log-mongodb" - name: Start environment - run: docker compose --project-directory ./ci up -d --wait --build + run: docker compose --project-directory ./ci up -d --wait - name: Build BaSyx run: mvn clean install ${MVN_ARGS_BUILD_BASYX} @@ -306,9 +432,27 @@ jobs: java-version: '17' distribution: 'adopt' cache: maven + + - name: Build Submodel Repository + run: mvn package -DskipTests -Ddocker.namespace=eclipsebasyx --pl "org.eclipse.digitaltwin.basyx:basyx.submodelrepository.component" + + - name: Build AAS Repository + run: mvn package -DskipTests -Ddocker.namespace=eclipsebasyx --pl "org.eclipse.digitaltwin.basyx:basyx.aasrepository.component" + + - name: Build AAS Registry Log Mem + run: mvn package -DskipTests -Ddocker.namespace=eclipsebasyx --pl "org.eclipse.digitaltwin.basyx:basyx.aasregistry-service-release-log-mem" + + - name: Build Submodel Registry Log Mem + run: mvn package -DskipTests -Ddocker.namespace=eclipsebasyx --pl "org.eclipse.digitaltwin.basyx:basyx.submodelregistry-service-release-log-mem" + + - name: Build AAS Registry Log MongoDB + run: mvn package -DskipTests -Ddocker.namespace=eclipsebasyx --pl "org.eclipse.digitaltwin.basyx:basyx.aasregistry-service-release-log-mongodb" + + - name: Build Submodel Registry Log MongoDB + run: mvn package -DskipTests -Ddocker.namespace=eclipsebasyx --pl "org.eclipse.digitaltwin.basyx:basyx.submodelregistry-service-release-log-mongodb" - name: Start environment - run: docker compose --project-directory ./ci up -d --wait --build + run: docker compose --project-directory ./ci up -d --wait - name: Build BaSyx run: mvn clean install ${MVN_ARGS_BUILD_BASYX} @@ -349,9 +493,27 @@ jobs: java-version: '17' distribution: 'adopt' cache: maven + + - name: Build Submodel Repository + run: mvn package -DskipTests -Ddocker.namespace=eclipsebasyx --pl "org.eclipse.digitaltwin.basyx:basyx.submodelrepository.component" + + - name: Build AAS Repository + run: mvn package -DskipTests -Ddocker.namespace=eclipsebasyx --pl "org.eclipse.digitaltwin.basyx:basyx.aasrepository.component" + + - name: Build AAS Registry Log Mem + run: mvn package -DskipTests -Ddocker.namespace=eclipsebasyx --pl "org.eclipse.digitaltwin.basyx:basyx.aasregistry-service-release-log-mem" + + - name: Build Submodel Registry Log Mem + run: mvn package -DskipTests -Ddocker.namespace=eclipsebasyx --pl "org.eclipse.digitaltwin.basyx:basyx.submodelregistry-service-release-log-mem" + + - name: Build AAS Registry Log MongoDB + run: mvn package -DskipTests -Ddocker.namespace=eclipsebasyx --pl "org.eclipse.digitaltwin.basyx:basyx.aasregistry-service-release-log-mongodb" + + - name: Build Submodel Registry Log MongoDB + run: mvn package -DskipTests -Ddocker.namespace=eclipsebasyx --pl "org.eclipse.digitaltwin.basyx:basyx.submodelregistry-service-release-log-mongodb" - name: Start environment - run: docker compose --project-directory ./ci up -d --wait --build + run: docker compose --project-directory ./ci up -d --wait - name: Build BaSyx run: mvn clean install ${MVN_ARGS_BUILD_BASYX} @@ -392,9 +554,27 @@ jobs: java-version: '17' distribution: 'adopt' cache: maven + + - name: Build Submodel Repository + run: mvn package -DskipTests -Ddocker.namespace=eclipsebasyx --pl "org.eclipse.digitaltwin.basyx:basyx.submodelrepository.component" + + - name: Build AAS Repository + run: mvn package -DskipTests -Ddocker.namespace=eclipsebasyx --pl "org.eclipse.digitaltwin.basyx:basyx.aasrepository.component" + + - name: Build AAS Registry Log Mem + run: mvn package -DskipTests -Ddocker.namespace=eclipsebasyx --pl "org.eclipse.digitaltwin.basyx:basyx.aasregistry-service-release-log-mem" + + - name: Build Submodel Registry Log Mem + run: mvn package -DskipTests -Ddocker.namespace=eclipsebasyx --pl "org.eclipse.digitaltwin.basyx:basyx.submodelregistry-service-release-log-mem" + + - name: Build AAS Registry Log MongoDB + run: mvn package -DskipTests -Ddocker.namespace=eclipsebasyx --pl "org.eclipse.digitaltwin.basyx:basyx.aasregistry-service-release-log-mongodb" + + - name: Build Submodel Registry Log MongoDB + run: mvn package -DskipTests -Ddocker.namespace=eclipsebasyx --pl "org.eclipse.digitaltwin.basyx:basyx.submodelregistry-service-release-log-mongodb" - name: Start environment - run: docker compose --project-directory ./ci up -d --wait --build + run: docker compose --project-directory ./ci up -d --wait - name: Build BaSyx run: mvn clean install ${MVN_ARGS_BUILD_BASYX} @@ -435,9 +615,27 @@ jobs: java-version: '17' distribution: 'adopt' cache: maven + + - name: Build Submodel Repository + run: mvn package -DskipTests -Ddocker.namespace=eclipsebasyx --pl "org.eclipse.digitaltwin.basyx:basyx.submodelrepository.component" + + - name: Build AAS Repository + run: mvn package -DskipTests -Ddocker.namespace=eclipsebasyx --pl "org.eclipse.digitaltwin.basyx:basyx.aasrepository.component" + + - name: Build AAS Registry Log Mem + run: mvn package -DskipTests -Ddocker.namespace=eclipsebasyx --pl "org.eclipse.digitaltwin.basyx:basyx.aasregistry-service-release-log-mem" + + - name: Build Submodel Registry Log Mem + run: mvn package -DskipTests -Ddocker.namespace=eclipsebasyx --pl "org.eclipse.digitaltwin.basyx:basyx.submodelregistry-service-release-log-mem" + + - name: Build AAS Registry Log MongoDB + run: mvn package -DskipTests -Ddocker.namespace=eclipsebasyx --pl "org.eclipse.digitaltwin.basyx:basyx.aasregistry-service-release-log-mongodb" + + - name: Build Submodel Registry Log MongoDB + run: mvn package -DskipTests -Ddocker.namespace=eclipsebasyx --pl "org.eclipse.digitaltwin.basyx:basyx.submodelregistry-service-release-log-mongodb" - name: Start environment - run: docker compose --project-directory ./ci up -d --wait --build + run: docker compose --project-directory ./ci up -d --wait - name: Build BaSyx run: mvn clean install ${MVN_ARGS_BUILD_BASYX} diff --git a/ci/docker-compose.yml b/ci/docker-compose.yml index 3c75a310a..628a83747 100644 --- a/ci/docker-compose.yml +++ b/ci/docker-compose.yml @@ -95,8 +95,6 @@ services: secured-aas-registry-log-mem: image: eclipsebasyx/aas-registry-log-mem:$BASYX_VERSION - build: - context: ../basyx.aasregistry/basyx.aasregistry-service-release-log-mem/src/main/docker container_name: secured-aas-registry-log-mem ports: - "8051:8080" @@ -117,8 +115,6 @@ services: secured-sm-registry-log-mem: image: eclipsebasyx/submodel-registry-log-mem:$BASYX_VERSION - build: - context: ../basyx.submodelregistry/basyx.submodelregistry-service-release-log-mem/src/main/docker container_name: secured-sm-registry-log-mem environment: SERVER_SERVLET_CONTEXT_PATH: / @@ -139,8 +135,6 @@ services: configuration-sm-repo: image: eclipsebasyx/submodel-repository:$BASYX_VERSION - build: - context: ../basyx.submodelrepository/basyx.submodelrepository.component container_name: configuration-sm-repo ports: - "8055:8081" From 630d1562a9bbebb709fdf16d6b45a1f026397a74 Mon Sep 17 00:00:00 2001 From: fried Date: Tue, 29 Apr 2025 14:45:29 +0200 Subject: [PATCH 06/12] Adds Submodel Repository MongoDB Docker Image test --- .github/workflows/docker_test.yml | 27 +++++++++++++++++++ .../test-submodel-repository-mongodb.yml | 26 ++++++++++++++++++ 2 files changed, 53 insertions(+) create mode 100644 ci/workflows/test-submodel-repository-mongodb.yml diff --git a/.github/workflows/docker_test.yml b/.github/workflows/docker_test.yml index d5f2bc8ac..1e09158ec 100644 --- a/.github/workflows/docker_test.yml +++ b/.github/workflows/docker_test.yml @@ -189,6 +189,33 @@ jobs: - name: Clean up run: exit 0 + build-test-submodel-repository-mongodb: + runs-on: ubuntu-latest + name: Submodel Repository MongoDB - Build and Start Docker Image + steps: + - uses: actions/checkout@v4 + + - name: Set up JDK 17 + uses: actions/setup-java@v4 + with: + java-version: '17' + distribution: 'adopt' + cache: maven + + - name: Build BaSyx + run: | + mvn clean install ${MVN_ARGS_BUILD_BASYX_NO_TESTS} + + - name: Build Submodel Repository Docker Image + run: | + mvn package -DskipTests -Ddocker.namespace=test --pl "org.eclipse.digitaltwin.basyx:basyx.submodelrepository.component" + + - name: Test Submodel Repository MongoDB Docker Image + run: chmod +x ./.github/workflows/scripts/build_start_docker_image_docker_compose.sh && ./.github/workflows/scripts/build_start_docker_image_docker_compose.sh ./ci/workflows/test-submodel-repository-mongodb.yml test_submodel_repository + + - name: Clean up + run: exit 0 + build-test-submodel-service: runs-on: ubuntu-latest name: Submodel Service - Build and Start Docker Image diff --git a/ci/workflows/test-submodel-repository-mongodb.yml b/ci/workflows/test-submodel-repository-mongodb.yml new file mode 100644 index 000000000..c71a7526c --- /dev/null +++ b/ci/workflows/test-submodel-repository-mongodb.yml @@ -0,0 +1,26 @@ +services: + submodel-repo: + image: eclipsebasyx/submodel-repository:$BASYX_VERSION + container_name: submodel-repo + environment: + - SERVER_PORT=8081 + volumes: + - ./properties/submodel-repo.properties:/application/application.properties + ports: + - '8081:8081' + restart: always + depends_on: + mongo: + condition: service_healthy + mongo: + image: mongo:5.0.10 + container_name: mongo + environment: + MONGO_INITDB_ROOT_USERNAME: mongoAdmin + MONGO_INITDB_ROOT_PASSWORD: mongoPassword + restart: always + healthcheck: + test: mongo + interval: 10s + timeout: 5s + retries: 5 From 80d6c1f8c3d1355dc29d5cc8243d4bd3b4e5cccc Mon Sep 17 00:00:00 2001 From: fried Date: Tue, 29 Apr 2025 14:48:37 +0200 Subject: [PATCH 07/12] Adapts docker compose file --- ci/workflows/test-submodel-repository-mongodb.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ci/workflows/test-submodel-repository-mongodb.yml b/ci/workflows/test-submodel-repository-mongodb.yml index c71a7526c..314712098 100644 --- a/ci/workflows/test-submodel-repository-mongodb.yml +++ b/ci/workflows/test-submodel-repository-mongodb.yml @@ -1,7 +1,7 @@ services: submodel-repo: - image: eclipsebasyx/submodel-repository:$BASYX_VERSION - container_name: submodel-repo + image: test/submodel-repository:$BASYX_VERSION + container_name: test_submodel_repository environment: - SERVER_PORT=8081 volumes: From 8921766243211063d56b8a7a6f852ed8d8ea7e40 Mon Sep 17 00:00:00 2001 From: fried Date: Tue, 29 Apr 2025 14:55:55 +0200 Subject: [PATCH 08/12] Adapts Docker Compose File --- ci/workflows/test-submodel-repository-mongodb.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ci/workflows/test-submodel-repository-mongodb.yml b/ci/workflows/test-submodel-repository-mongodb.yml index 314712098..47a6aa938 100644 --- a/ci/workflows/test-submodel-repository-mongodb.yml +++ b/ci/workflows/test-submodel-repository-mongodb.yml @@ -4,8 +4,8 @@ services: container_name: test_submodel_repository environment: - SERVER_PORT=8081 - volumes: - - ./properties/submodel-repo.properties:/application/application.properties + - SPRING_DATA_MONGODB_URI=mongodb://mongoAdmin:mongoPassword@mongodb:27017 + - BASYX_BACKEND=MongoDB ports: - '8081:8081' restart: always From 52687bb6d7bc383c4f0d9de72fabc0f5bf90611d Mon Sep 17 00:00:00 2001 From: fried Date: Tue, 29 Apr 2025 15:01:46 +0200 Subject: [PATCH 09/12] Adapts Docker Compose File --- ci/workflows/test-submodel-repository-mongodb.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/ci/workflows/test-submodel-repository-mongodb.yml b/ci/workflows/test-submodel-repository-mongodb.yml index 47a6aa938..f8c381ec8 100644 --- a/ci/workflows/test-submodel-repository-mongodb.yml +++ b/ci/workflows/test-submodel-repository-mongodb.yml @@ -4,7 +4,11 @@ services: container_name: test_submodel_repository environment: - SERVER_PORT=8081 - - SPRING_DATA_MONGODB_URI=mongodb://mongoAdmin:mongoPassword@mongodb:27017 + - SPRING_DATA_MONGODB_HOST=mongo + - SPRING_DATA_MONGODB_DATABASE=smrepo + - SPRING_DATA_MONGODB_AUTHENTICATION_DATABASE=admin + - SPRING_DATA_MONGODB_USERNAME=mongoAdmin + - SPRING_DATA_MONGODB_PASSWORD=mongoAdmin - BASYX_BACKEND=MongoDB ports: - '8081:8081' From c205599ef10426087d3d248c3811d3aa368c654f Mon Sep 17 00:00:00 2001 From: fried Date: Tue, 29 Apr 2025 15:08:51 +0200 Subject: [PATCH 10/12] Adapts Docker Compose File --- ci/workflows/test-submodel-repository-mongodb.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci/workflows/test-submodel-repository-mongodb.yml b/ci/workflows/test-submodel-repository-mongodb.yml index f8c381ec8..678614b13 100644 --- a/ci/workflows/test-submodel-repository-mongodb.yml +++ b/ci/workflows/test-submodel-repository-mongodb.yml @@ -8,7 +8,7 @@ services: - SPRING_DATA_MONGODB_DATABASE=smrepo - SPRING_DATA_MONGODB_AUTHENTICATION_DATABASE=admin - SPRING_DATA_MONGODB_USERNAME=mongoAdmin - - SPRING_DATA_MONGODB_PASSWORD=mongoAdmin + - SPRING_DATA_MONGODB_PASSWORD=mongoPassword - BASYX_BACKEND=MongoDB ports: - '8081:8081' From 51d0c75994e5285655636e569a9cc76c4ad52582 Mon Sep 17 00:00:00 2001 From: fried Date: Tue, 29 Apr 2025 15:15:15 +0200 Subject: [PATCH 11/12] Adds AAS Repo & AAS Env MongoDB Docker Image test --- .github/workflows/docker_test.yml | 54 +++++++++++++++++++ ci/workflows/test-aas-environment-mongodb.yml | 30 +++++++++++ ci/workflows/test-aas-repository-mongodb.yml | 30 +++++++++++ 3 files changed, 114 insertions(+) create mode 100644 ci/workflows/test-aas-environment-mongodb.yml create mode 100644 ci/workflows/test-aas-repository-mongodb.yml diff --git a/.github/workflows/docker_test.yml b/.github/workflows/docker_test.yml index 1e09158ec..b4bc375d8 100644 --- a/.github/workflows/docker_test.yml +++ b/.github/workflows/docker_test.yml @@ -54,6 +54,33 @@ jobs: - name: Clean up run: exit 0 + build-test-aas-repository-mongodb: + runs-on: ubuntu-latest + name: AAS Repository MongoDB - Build and Start Docker Image + steps: + - uses: actions/checkout@v4 + + - name: Set up JDK 17 + uses: actions/setup-java@v4 + with: + java-version: '17' + distribution: 'adopt' + cache: maven + + - name: Build BaSyx + run: | + mvn clean install ${MVN_ARGS_BUILD_BASYX_NO_TESTS} + + - name: Build AAS Repository Docker Image + run: | + mvn package -DskipTests -Ddocker.namespace=test --pl "org.eclipse.digitaltwin.basyx:basyx.aasrepository.component" + + - name: Test AAS Repository MongoDB Docker Image + run: chmod +x ./.github/workflows/scripts/build_start_docker_image_docker_compose.sh && ./.github/workflows/scripts/build_start_docker_image_docker_compose.sh ./ci/workflows/test-aas-repository-mongodb.yml test_aas_repository + + - name: Clean up + run: exit 0 + build-test-aas-environment: runs-on: ubuntu-latest name: AAS Environment - Build and Start Docker Image @@ -81,6 +108,33 @@ jobs: - name: Clean up run: exit 0 + build-test-aas-environment-mongodb: + runs-on: ubuntu-latest + name: AAS Environment MongoDB - Build and Start Docker Image + steps: + - uses: actions/checkout@v4 + + - name: Set up JDK 17 + uses: actions/setup-java@v4 + with: + java-version: '17' + distribution: 'adopt' + cache: maven + + - name: Build BaSyx + run: | + mvn clean install ${MVN_ARGS_BUILD_BASYX_NO_TESTS} + + - name: Build AAS Environment Docker Image + run: | + mvn package -DskipTests -Ddocker.namespace=test --pl "org.eclipse.digitaltwin.basyx:basyx.aasenvironment.component" + + - name: Test AAS Environment MongoDB Docker Image + run: chmod +x ./.github/workflows/scripts/build_start_docker_image_docker_compose.sh && ./.github/workflows/scripts/build_start_docker_image_docker_compose.sh ./ci/workflows/test-aas-environment-mongodb.yml test_aas_environment + + - name: Clean up + run: exit 0 + build-test-concept-description-repository: runs-on: ubuntu-latest name: Concept Description Repository - Build and Start Docker Image diff --git a/ci/workflows/test-aas-environment-mongodb.yml b/ci/workflows/test-aas-environment-mongodb.yml new file mode 100644 index 000000000..ff7288e48 --- /dev/null +++ b/ci/workflows/test-aas-environment-mongodb.yml @@ -0,0 +1,30 @@ +services: + aas-env: + image: test/aas-environment:$BASYX_VERSION + container_name: test_aas_environment + environment: + - SERVER_PORT=8081 + - SPRING_DATA_MONGODB_HOST=mongo + - SPRING_DATA_MONGODB_DATABASE=aasenv + - SPRING_DATA_MONGODB_AUTHENTICATION_DATABASE=admin + - SPRING_DATA_MONGODB_USERNAME=mongoAdmin + - SPRING_DATA_MONGODB_PASSWORD=mongoPassword + - BASYX_BACKEND=MongoDB + ports: + - '8081:8081' + restart: always + depends_on: + mongo: + condition: service_healthy + mongo: + image: mongo:5.0.10 + container_name: mongo + environment: + MONGO_INITDB_ROOT_USERNAME: mongoAdmin + MONGO_INITDB_ROOT_PASSWORD: mongoPassword + restart: always + healthcheck: + test: mongo + interval: 10s + timeout: 5s + retries: 5 diff --git a/ci/workflows/test-aas-repository-mongodb.yml b/ci/workflows/test-aas-repository-mongodb.yml new file mode 100644 index 000000000..6f51d24d6 --- /dev/null +++ b/ci/workflows/test-aas-repository-mongodb.yml @@ -0,0 +1,30 @@ +services: + aas-repository: + image: test/aas-repository:$BASYX_VERSION + container_name: test_aas_repository + environment: + - SERVER_PORT=8081 + - SPRING_DATA_MONGODB_HOST=mongo + - SPRING_DATA_MONGODB_DATABASE=aasrepo + - SPRING_DATA_MONGODB_AUTHENTICATION_DATABASE=admin + - SPRING_DATA_MONGODB_USERNAME=mongoAdmin + - SPRING_DATA_MONGODB_PASSWORD=mongoPassword + - BASYX_BACKEND=MongoDB + ports: + - '8081:8081' + restart: always + depends_on: + mongo: + condition: service_healthy + mongo: + image: mongo:5.0.10 + container_name: mongo + environment: + MONGO_INITDB_ROOT_USERNAME: mongoAdmin + MONGO_INITDB_ROOT_PASSWORD: mongoPassword + restart: always + healthcheck: + test: mongo + interval: 10s + timeout: 5s + retries: 5 From df99e3403b0838e9dfcb123eed34ce3b750063ff Mon Sep 17 00:00:00 2001 From: fried Date: Tue, 29 Apr 2025 15:24:12 +0200 Subject: [PATCH 12/12] Adds AAS Discovery & CD Repository MongoDB Docker Image test --- .github/workflows/docker_test.yml | 53 +++++++++++++++++++++ ci/workflows/test-aas-discovery-mongodb.yml | 30 ++++++++++++ ci/workflows/test-cd-repository-mongodb.yml | 30 ++++++++++++ 3 files changed, 113 insertions(+) create mode 100644 ci/workflows/test-aas-discovery-mongodb.yml create mode 100644 ci/workflows/test-cd-repository-mongodb.yml diff --git a/.github/workflows/docker_test.yml b/.github/workflows/docker_test.yml index b4bc375d8..3ed88800a 100644 --- a/.github/workflows/docker_test.yml +++ b/.github/workflows/docker_test.yml @@ -162,6 +162,33 @@ jobs: - name: Clean up run: exit 0 + build-test-cd-repository-mongodb: + runs-on: ubuntu-latest + name: Concept Description Repository MongoDB - Build and Start Docker Image + steps: + - uses: actions/checkout@v4 + + - name: Set up JDK 17 + uses: actions/setup-java@v4 + with: + java-version: '17' + distribution: 'adopt' + cache: maven + + - name: Build BaSyx + run: | + mvn clean install ${MVN_ARGS_BUILD_BASYX_NO_TESTS} + + - name: Build Concept Description Repository Docker Image + run: | + mvn package -DskipTests -Ddocker.namespace=test --pl "org.eclipse.digitaltwin.basyx:basyx.conceptdescriptionrepository.component" + + - name: Test Concept Description Repository MongoDB Docker Image + run: chmod +x ./.github/workflows/scripts/build_start_docker_image_docker_compose.sh && ./.github/workflows/scripts/build_start_docker_image_docker_compose.sh ./ci/workflows/test-cd-repository-mongodb.yml test_cd_repository + + - name: Clean up + run: exit 0 + build-test-aas-discovery: runs-on: ubuntu-latest name: AAS Discovery - Build and Start Docker Image @@ -189,6 +216,32 @@ jobs: - name: Clean up run: exit 0 + build-test-aas-discovery-mongodb: + runs-on: ubuntu-latest + name: AAS Discovery MongoDB - Build and Start Docker Image + steps: + - uses: actions/checkout@v4 + + - name: Set up JDK 17 + uses: actions/setup-java@v4 + with: + java-version: '17' + distribution: 'adopt' + cache: maven + + - name: Build BaSyx + run: | + mvn clean install ${MVN_ARGS_BUILD_BASYX_NO_TESTS} + + - name: Build AAS Discovery Docker Image + run: | + mvn package -DskipTests -Ddocker.namespace=test --pl "org.eclipse.digitaltwin.basyx:basyx.aasdiscoveryservice.component" + + - name: Test AAS Discovery MongoDB Docker Image + run: chmod +x ./.github/workflows/scripts/build_start_docker_image_docker_compose.sh && ./.github/workflows/scripts/build_start_docker_image_docker_compose.sh ./ci/workflows/test-aas-discovery-mongodb.yml test_aas_discovery + + - name: Clean up + run: exit 0 build-test-aasx-fileserver: runs-on: ubuntu-latest name: AASX File Server - Build and Start Docker Image diff --git a/ci/workflows/test-aas-discovery-mongodb.yml b/ci/workflows/test-aas-discovery-mongodb.yml new file mode 100644 index 000000000..824230b62 --- /dev/null +++ b/ci/workflows/test-aas-discovery-mongodb.yml @@ -0,0 +1,30 @@ +services: + aas-discovery: + image: test/aas-discovery:$BASYX_VERSION + container_name: test_aas_discovery + environment: + - SERVER_PORT=8081 + - SPRING_DATA_MONGODB_HOST=mongo + - SPRING_DATA_MONGODB_DATABASE=aasdiscovery + - SPRING_DATA_MONGODB_AUTHENTICATION_DATABASE=admin + - SPRING_DATA_MONGODB_USERNAME=mongoAdmin + - SPRING_DATA_MONGODB_PASSWORD=mongoPassword + - BASYX_BACKEND=MongoDB + ports: + - '8081:8081' + restart: always + depends_on: + mongo: + condition: service_healthy + mongo: + image: mongo:5.0.10 + container_name: mongo + environment: + MONGO_INITDB_ROOT_USERNAME: mongoAdmin + MONGO_INITDB_ROOT_PASSWORD: mongoPassword + restart: always + healthcheck: + test: mongo + interval: 10s + timeout: 5s + retries: 5 diff --git a/ci/workflows/test-cd-repository-mongodb.yml b/ci/workflows/test-cd-repository-mongodb.yml new file mode 100644 index 000000000..5ccdc4d10 --- /dev/null +++ b/ci/workflows/test-cd-repository-mongodb.yml @@ -0,0 +1,30 @@ +services: + cd-repository: + image: test/conceptdescription-repository:$BASYX_VERSION + container_name: test_cd_repository + environment: + - SERVER_PORT=8081 + - SPRING_DATA_MONGODB_HOST=mongo + - SPRING_DATA_MONGODB_DATABASE=cdrepository + - SPRING_DATA_MONGODB_AUTHENTICATION_DATABASE=admin + - SPRING_DATA_MONGODB_USERNAME=mongoAdmin + - SPRING_DATA_MONGODB_PASSWORD=mongoPassword + - BASYX_BACKEND=MongoDB + ports: + - '8081:8081' + restart: always + depends_on: + mongo: + condition: service_healthy + mongo: + image: mongo:5.0.10 + container_name: mongo + environment: + MONGO_INITDB_ROOT_USERNAME: mongoAdmin + MONGO_INITDB_ROOT_PASSWORD: mongoPassword + restart: always + healthcheck: + test: mongo + interval: 10s + timeout: 5s + retries: 5