From d478ecfbe0b06953a9cbd24500af711fb53db30b Mon Sep 17 00:00:00 2001 From: FriedJannik Date: Mon, 9 Sep 2024 13:24:45 +0200 Subject: [PATCH 1/2] Revert "Removes Multi Thread Build (#438)" This reverts commit 3a4b9ccd6b20d6302c32e832d7591778cafb9dd5. --- .github/workflows/basyx_test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/basyx_test.yml b/.github/workflows/basyx_test.yml index 1187244a2..a7028d95e 100644 --- a/.github/workflows/basyx_test.yml +++ b/.github/workflows/basyx_test.yml @@ -20,7 +20,7 @@ on: - 'NOTICE' env: - MVN_ARGS_BUILD_BASYX: -DskipTests + MVN_ARGS_BUILD_BASYX: -DskipTests -T1C jobs: test-basyx-common: From 215f9be887cb69c6a3d7e4ff8de9b02cfb1d95ea Mon Sep 17 00:00:00 2001 From: FriedJannik Date: Mon, 9 Sep 2024 13:24:52 +0200 Subject: [PATCH 2/2] Revert "Increases CI Speed (#406)" This reverts commit 2e650552d5f3b989ec550fcdd95b6e09fada0714. --- .github/workflows/basyx_test.yml | 245 ---------- .github/workflows/docker_test.yml | 417 ------------------ .github/workflows/maven_run_test.yml | 73 +++ .../scripts/build_start_docker_image.sh | 43 -- ...build_start_docker_image_docker_compose.sh | 37 -- .../service/tests/BaseInterfaceTest.java | 2 +- .../integration/BaseIntegrationTest.java | 2 +- .../integration/PersistencyTestSuite.java | 2 +- .../api/BasyxRegistryApiDelegateTest.java | 2 +- .../service/tests/CorsHeaderTest.java | 2 +- .../tests/DescriptionProfilesTest.java | 2 +- .../basyx.aasxfileserver.component/pom.xml | 63 --- .../service/tests/BaseInterfaceTest.java | 2 +- .../integration/BaseIntegrationTest.java | 2 +- .../integration/PersistencyTestSuite.java | 2 +- .../api/BasyxRegistryApiDelegateTest.java | 2 +- .../service/tests/CorsHeaderTest.java | 2 +- .../tests/DescriptionProfilesTest.java | 2 +- .../basyx.submodelservice.example/Dockerfile | 4 +- ci/test-aas-registry-kafka-mem.yml | 92 ---- ci/test-aas-registry-kafka-mongodb.yml | 109 ----- ci/test-aas-registry-log-mongodb.yml | 51 --- ci/test-submodel-registry-kafka-mem.yml | 90 ---- ci/test-submodel-registry-kafka-mongodb.yml | 109 ----- ci/test-submodel-registry-log-mongodb.yml | 107 ----- pom.xml | 76 ++-- 26 files changed, 112 insertions(+), 1428 deletions(-) delete mode 100644 .github/workflows/basyx_test.yml delete mode 100644 .github/workflows/docker_test.yml create mode 100644 .github/workflows/maven_run_test.yml delete mode 100644 .github/workflows/scripts/build_start_docker_image.sh delete mode 100644 .github/workflows/scripts/build_start_docker_image_docker_compose.sh delete mode 100644 ci/test-aas-registry-kafka-mem.yml delete mode 100644 ci/test-aas-registry-kafka-mongodb.yml delete mode 100644 ci/test-aas-registry-log-mongodb.yml delete mode 100644 ci/test-submodel-registry-kafka-mem.yml delete mode 100644 ci/test-submodel-registry-kafka-mongodb.yml delete mode 100644 ci/test-submodel-registry-log-mongodb.yml diff --git a/.github/workflows/basyx_test.yml b/.github/workflows/basyx_test.yml deleted file mode 100644 index a7028d95e..000000000 --- a/.github/workflows/basyx_test.yml +++ /dev/null @@ -1,245 +0,0 @@ -name: Build and Test BaSyx - -on: - pull_request: - branches: [ main ] - paths-ignore: - - '.github/ISSUE_TEMPLATE/**' - - '.github/CODE_OF_CONDUCT.md' - - '.github/CODING_CONVENTIONS.md' - - '.github/CONTRIBUTING.md' - - '.github/dependabot.yml' - - '.github/pull_request_template.md' - - '.github/SECURITY.md' - - 'docs/**' - - 'examples/**' - - 'README.md' - - '.gitattributes' - - '.gitignore' - - 'LICENSE' - - 'NOTICE' - -env: - MVN_ARGS_BUILD_BASYX: -DskipTests -T1C - -jobs: - test-basyx-common: - runs-on: ubuntu-latest - name: BaSyx Core Test - steps: - - uses: actions/checkout@v4 - - name: Set up JDK 17 - uses: actions/setup-java@v4 - with: - java-version: '17' - distribution: 'adopt' - cache: maven - - name: Start environment - run: docker compose --project-directory ./ci up -d --wait - - name: Build BaSyx - run: mvn clean install ${MVN_ARGS_BUILD_BASYX} - - name: Test AAS Environment - run: mvn test -f "basyx.common/pom.xml" - - name: Stop environment - if: always() - run: docker compose --project-directory ./ci down - test-basyx-aasxfileserver: - runs-on: ubuntu-latest - name: AASX FileServer Test - steps: - - uses: actions/checkout@v4 - - name: Set up JDK 17 - uses: actions/setup-java@v4 - with: - java-version: '17' - distribution: 'adopt' - cache: maven - - name: Start environment - run: docker compose --project-directory ./ci up -d --wait - - name: Build BaSyx - run: mvn clean install ${MVN_ARGS_BUILD_BASYX} - - name: Test AAS Environment - run: mvn test -f "basyx.aasxfileserver/pom.xml" - - name: Stop environment - if: always() - run: docker compose --project-directory ./ci down - test-basyx-aasenvironment: - runs-on: ubuntu-latest - name: AAS Environment Test - steps: - - uses: actions/checkout@v4 - - name: Set up JDK 17 - uses: actions/setup-java@v4 - with: - java-version: '17' - distribution: 'adopt' - cache: maven - - name: Start environment - run: docker compose --project-directory ./ci up -d --wait - - name: Build BaSyx - run: mvn clean install ${MVN_ARGS_BUILD_BASYX} - - name: Test AAS Environment - run: mvn test -f "basyx.aasenvironment/pom.xml" - - name: Stop environment - if: always() - run: docker compose --project-directory ./ci down - test-basyx-aasrepository: - runs-on: ubuntu-latest - name: AAS Repository Test - steps: - - uses: actions/checkout@v4 - - name: Set up JDK 17 - uses: actions/setup-java@v4 - with: - java-version: '17' - distribution: 'adopt' - cache: maven - - name: Start environment - run: docker compose --project-directory ./ci up -d --wait - - name: Build BaSyx - run: mvn clean install ${MVN_ARGS_BUILD_BASYX} - - name: Test AAS Repository - run: mvn test -f "basyx.aasrepository/pom.xml" - - name: Stop environment - if: always() - run: docker compose --project-directory ./ci down - test-basyx-aasservice: - runs-on: ubuntu-latest - name: AAS Service Test - steps: - - uses: actions/checkout@v4 - - name: Set up JDK 17 - uses: actions/setup-java@v4 - with: - java-version: '17' - distribution: 'adopt' - cache: maven - - name: Start environment - run: docker compose --project-directory ./ci up -d --wait - - name: Build BaSyx - run: mvn clean install ${MVN_ARGS_BUILD_BASYX} - - name: Test AAS Service - run: mvn test -f "basyx.aasservice/pom.xml" - - name: Stop environment - if: always() - run: docker compose --project-directory ./ci down - test-basyx-submodelrepository: - runs-on: ubuntu-latest - name: Submodel Repository Test - steps: - - uses: actions/checkout@v4 - - name: Set up JDK 17 - uses: actions/setup-java@v4 - with: - java-version: '17' - distribution: 'adopt' - cache: maven - - name: Start environment - run: docker compose --project-directory ./ci up -d --wait - - name: Build BaSyx - run: mvn clean install ${MVN_ARGS_BUILD_BASYX} - - name: Test Submodel Repository - run: mvn test -f "basyx.submodelrepository/pom.xml" - - name: Stop environment - if: always() - run: docker compose --project-directory ./ci down - test-basyx-submodelservice: - runs-on: ubuntu-latest - name: Submodel Service Test - steps: - - uses: actions/checkout@v4 - - name: Set up JDK 17 - uses: actions/setup-java@v4 - with: - java-version: '17' - distribution: 'adopt' - cache: maven - - name: Start environment - run: docker compose --project-directory ./ci up -d --wait - - name: Build BaSyx - run: mvn clean install ${MVN_ARGS_BUILD_BASYX} - - name: Test Submodel Service - run: mvn test -f "basyx.submodelservice/pom.xml" - - name: Stop environment - if: always() - run: docker compose --project-directory ./ci down - test-basyx-conceptdescriptionrepository: - runs-on: ubuntu-latest - name: Concept Description Repository Test - steps: - - uses: actions/checkout@v4 - - name: Set up JDK 17 - uses: actions/setup-java@v4 - with: - java-version: '17' - distribution: 'adopt' - cache: maven - - name: Start environment - run: docker compose --project-directory ./ci up -d --wait - - name: Build BaSyx - run: mvn clean install ${MVN_ARGS_BUILD_BASYX} - - name: Test Concept Description Repository - run: mvn test -f "basyx.conceptdescriptionrepository/pom.xml" - - name: Stop environment - if: always() - run: docker compose --project-directory ./ci down - test-basyx-submodelregistry: - runs-on: ubuntu-latest - name: Submodel Registry Test - steps: - - uses: actions/checkout@v4 - - name: Set up JDK 17 - uses: actions/setup-java@v4 - with: - java-version: '17' - distribution: 'adopt' - cache: maven - - name: Start environment - run: docker compose --project-directory ./ci up -d --wait - - name: Build BaSyx - run: mvn clean install ${MVN_ARGS_BUILD_BASYX} - - name: Test Submodel Registry - run: mvn test -f "basyx.submodelregistry/pom.xml" - - name: Stop environment - if: always() - run: docker compose --project-directory ./ci down - test-basyx-aasregistry: - runs-on: ubuntu-latest - name: AAS Registry Test - steps: - - uses: actions/checkout@v4 - - name: Set up JDK 17 - uses: actions/setup-java@v4 - with: - java-version: '17' - distribution: 'adopt' - cache: maven - - name: Start environment - run: docker compose --project-directory ./ci up -d --wait - - name: Build BaSyx - run: mvn clean install ${MVN_ARGS_BUILD_BASYX} - - name: Test AAS Registry - run: mvn test -f "basyx.aasregistry/pom.xml" - - name: Stop environment - if: always() - run: docker compose --project-directory ./ci down - test-basyx-aasdiscoveryservice: - runs-on: ubuntu-latest - name: AAS Discovery Service Test - steps: - - uses: actions/checkout@v4 - - name: Set up JDK 17 - uses: actions/setup-java@v4 - with: - java-version: '17' - distribution: 'adopt' - cache: maven - - name: Start environment - run: docker compose --project-directory ./ci up -d --wait - - name: Build BaSyx - run: mvn clean install ${MVN_ARGS_BUILD_BASYX} - - name: Test AAS Discovery Service - run: mvn test -f "basyx.aasdiscoveryservice/pom.xml" - - name: Stop environment - if: always() - run: docker compose --project-directory ./ci down diff --git a/.github/workflows/docker_test.yml b/.github/workflows/docker_test.yml deleted file mode 100644 index 493891620..000000000 --- a/.github/workflows/docker_test.yml +++ /dev/null @@ -1,417 +0,0 @@ -# This workflow will build a Java project with Maven, and cache/restore any dependencies to improve the workflow execution time -# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-maven - -name: Build and Start Docker Images - -on: - pull_request: - branches: [ main ] - paths-ignore: - - '.github/ISSUE_TEMPLATE/**' - - '.github/CODE_OF_CONDUCT.md' - - '.github/CODING_CONVENTIONS.md' - - '.github/CONTRIBUTING.md' - - '.github/dependabot.yml' - - '.github/pull_request_template.md' - - '.github/SECURITY.md' - - 'docs/**' - - 'examples/**' - - 'README.md' - - '.gitattributes' - - '.gitignore' - - 'LICENSE' - - 'NOTICE' - -env: - VERSION: 2.0.0-SNAPSHOT - MVN_ARGS_BUILD_BASYX_NO_TESTS: -DskipTests - -jobs: - build-test-aas-repository: - runs-on: ubuntu-latest - name: AAS Repository - 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 Docker Image - run: chmod +x ./.github/workflows/scripts/build_start_docker_image.sh && ./.github/workflows/scripts/build_start_docker_image.sh test/aas-repository ${VERSION} 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 - 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 Docker Image - run: chmod +x ./.github/workflows/scripts/build_start_docker_image.sh && ./.github/workflows/scripts/build_start_docker_image.sh test/aas-environment ${VERSION} 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 - 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 Docker Image - run: chmod +x ./.github/workflows/scripts/build_start_docker_image.sh && ./.github/workflows/scripts/build_start_docker_image.sh test/conceptdescription-repository ${VERSION} test_conceptdescription_repository - - - name: Clean up - run: exit 0 - - build-test-aas-discovery: - runs-on: ubuntu-latest - name: AAS Discovery - 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 Docker Image - run: chmod +x ./.github/workflows/scripts/build_start_docker_image.sh && ./.github/workflows/scripts/build_start_docker_image.sh test/aas-discovery ${VERSION} 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 - 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 AASX File Server Docker Image - run: | - mvn package -DskipTests -Ddocker.namespace=test --pl "org.eclipse.digitaltwin.basyx:basyx.aasxfileserver.component" - - - name: Test AASX File Server Docker Image - run: chmod +x ./.github/workflows/scripts/build_start_docker_image.sh && ./.github/workflows/scripts/build_start_docker_image.sh test/aasxfileserver ${VERSION} test_aasxfileserver - - - name: Clean up - run: exit 0 - - build-test-submodel-repository: - runs-on: ubuntu-latest - name: Submodel Repository - 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 Docker Image - run: chmod +x ./.github/workflows/scripts/build_start_docker_image.sh && ./.github/workflows/scripts/build_start_docker_image.sh test/submodel-repository ${VERSION} 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 - 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 Service Docker Image - run: | - mvn package -DskipTests -Ddocker.namespace=test --pl "org.eclipse.digitaltwin.basyx:basyx.submodelservice.example" - - - name: Test Submodel Service Docker Image - run: chmod +x ./.github/workflows/scripts/build_start_docker_image.sh && ./.github/workflows/scripts/build_start_docker_image.sh test/standalone_submodel_example ${VERSION} test_submodel_service - - - name: Clean up - run: exit 0 - - build-test-aas-registry-kafka-mem: - runs-on: ubuntu-latest - name: AAS Registry Kafka Mem - 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 Registry Kafka Mem Docker Image - run: | - mvn package -DskipTests -Ddocker.namespace=test --pl "org.eclipse.digitaltwin.basyx:basyx.aasregistry-service-release-kafka-mem" - - - name: Test AAS Registry Kafka Mem 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/test-aas-registry-kafka-mem.yml test_aas_registry_kafka_mem - - - name: Clean up - run: exit 0 - - build-test-aas-registry-kafka-mongodb: - runs-on: ubuntu-latest - name: AAS Registry Kafka 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 Registry Kafka MongoDB Docker Image - run: | - mvn package -DskipTests -Ddocker.namespace=test --pl "org.eclipse.digitaltwin.basyx:basyx.aasregistry-service-release-kafka-mongodb" - - - name: Test AAS Registry Kafka 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/test-aas-registry-kafka-mongodb.yml test_aas_registry_kafka_mongodb - - - name: Clean up - run: exit 0 - - build-test-aas-registry-log-mem: - runs-on: ubuntu-latest - name: AAS Registry Log Mem - 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 Registry Log Mem Docker Image - run: | - mvn package -DskipTests -Ddocker.namespace=test --pl "org.eclipse.digitaltwin.basyx:basyx.aasregistry-service-release-log-mem" - - - name: Test AAS Registry Log Mem Docker Image - run: chmod +x ./.github/workflows/scripts/build_start_docker_image.sh && ./.github/workflows/scripts/build_start_docker_image.sh test/aas-registry-log-mem ${VERSION} test_aas_registry_log_mem - - - name: Clean up - run: exit 0 - - build-test-aas-registry-log-mongodb: - runs-on: ubuntu-latest - name: AAS Registry Log 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 Registry Log MongoDB Docker Image - run: | - mvn package -DskipTests -Ddocker.namespace=test --pl "org.eclipse.digitaltwin.basyx:basyx.aasregistry-service-release-log-mongodb" - - - name: Test AAS Registry Log 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/test-aas-registry-log-mongodb.yml test_aas_registry_log_mongodb - - - name: Clean up - run: exit 0 - - build-test-submodel-registry-kafka-mem: - runs-on: ubuntu-latest - name: Submodel Registry Kafka Mem - 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 Registry Kafka Mem Docker Image - run: | - mvn package -DskipTests -Ddocker.namespace=test --pl "org.eclipse.digitaltwin.basyx:basyx.submodelregistry-service-release-kafka-mem" - - - name: Test Submodel Registry Kafka Mem 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/test-submodel-registry-kafka-mem.yml test_submodel_registry_kafka_mem - - - name: Clean up - run: exit 0 - - build-test-submodel-registry-kafka-mongodb: - runs-on: ubuntu-latest - name: Submodel Registry Kafka 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 Registry Kafka MongoDB Docker Image - run: | - mvn package -DskipTests -Ddocker.namespace=test --pl "org.eclipse.digitaltwin.basyx:basyx.submodelregistry-service-release-kafka-mongodb" - - - name: Test Submodel Registry Kafka 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/test-submodel-registry-kafka-mongodb.yml test_submodel_registry_kafka_mongodb - - - name: Clean up - run: exit 0 - - build-test-submodel-registry-log-mem: - runs-on: ubuntu-latest - name: Submodel Registry Log Mem - 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 Registry Log Mem Docker Image - run: | - mvn package -DskipTests -Ddocker.namespace=test --pl "org.eclipse.digitaltwin.basyx:basyx.submodelregistry-service-release-log-mem" - - - name: Test Submodel Registry Log Mem Docker Image - run: chmod +x ./.github/workflows/scripts/build_start_docker_image.sh && ./.github/workflows/scripts/build_start_docker_image.sh test/submodel-registry-log-mem ${VERSION} test_submodel_registry_log_mem - - - name: Clean up - run: exit 0 - - build-test-submodel-registry-log-mongodb: - runs-on: ubuntu-latest - name: Submodel Registry Log 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 Registry Log MongoDB Docker Image - run: | - mvn package -DskipTests -Ddocker.namespace=test --pl "org.eclipse.digitaltwin.basyx:basyx.submodelregistry-service-release-log-mongodb" - - - name: Test Submodel Registry Log 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/test-submodel-registry-log-mongodb.yml test_submodel_registry_log_mongodb - - - name: Clean up - run: exit 0 diff --git a/.github/workflows/maven_run_test.yml b/.github/workflows/maven_run_test.yml new file mode 100644 index 000000000..3da66b4aa --- /dev/null +++ b/.github/workflows/maven_run_test.yml @@ -0,0 +1,73 @@ +# This workflow will build a Java project with Maven, and cache/restore any dependencies to improve the workflow execution time +# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-maven + +name: Java CI with Maven + +on: + pull_request: + branches: [ main ] + paths-ignore: + - '.github/ISSUE_TEMPLATE/**' + - '.github/CODE_OF_CONDUCT.md' + - '.github/CODING_CONVENTIONS.md' + - '.github/CONTRIBUTING.md' + - '.github/dependabot.yml' + - '.github/pull_request_template.md' + - '.github/SECURITY.md' + - 'docs/**' + - 'examples/**' + - 'README.md' + - '.gitattributes' + - '.gitignore' + - 'LICENSE' + - 'NOTICE' + + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Set up JDK 17 + uses: actions/setup-java@v4 + with: + java-version: '17' + distribution: 'adopt' + cache: maven + - name: Start environment + run: docker compose --project-directory ./ci up -d --wait + - name: Install BaSyx + run: mvn clean install + - name: Stop environment + if: always() + run: docker compose --project-directory ./ci down + - name: Build and remove Docker images + run: | + mvn package -DskipTests -Ddocker.namespace=test --pl "org.eclipse.digitaltwin.basyx:basyx.submodelservice.example" + docker rmi -f $(docker images -aq) + mvn package -DskipTests -Ddocker.namespace=test --pl "org.eclipse.digitaltwin.basyx:basyx.submodelrepository.component" + docker rmi -f $(docker images -aq) + mvn package -DskipTests -Ddocker.namespace=test --pl "org.eclipse.digitaltwin.basyx:basyx.aasrepository.component" + docker rmi -f $(docker images -aq) + mvn package -DskipTests -Ddocker.namespace=test --pl "org.eclipse.digitaltwin.basyx:basyx.aasenvironment.component" + docker rmi -f $(docker images -aq) + mvn package -DskipTests -Ddocker.namespace=test --pl "org.eclipse.digitaltwin.basyx:basyx.conceptdescriptionrepository.component" + docker rmi -f $(docker images -aq) + mvn package -DskipTests -Ddocker.namespace=test --pl "org.eclipse.digitaltwin.basyx:basyx.aasdiscoveryservice.component" + docker rmi -f $(docker images -aq) + mvn package -DskipTests -Ddocker.namespace=test --pl "org.eclipse.digitaltwin.basyx:basyx.aasxfileserver.component" + mvn package -DskipTests -Ddocker.namespace=test --pl "org.eclipse.digitaltwin.basyx:basyx.aasregistry-service-release-kafka-mem" + docker rmi -f $(docker images -aq) + mvn package -DskipTests -Ddocker.namespace=test --pl "org.eclipse.digitaltwin.basyx:basyx.aasregistry-service-release-kafka-mongodb" + docker rmi -f $(docker images -aq) + mvn package -DskipTests -Ddocker.namespace=test --pl "org.eclipse.digitaltwin.basyx:basyx.aasregistry-service-release-log-mem" + docker rmi -f $(docker images -aq) + mvn package -DskipTests -Ddocker.namespace=test --pl "org.eclipse.digitaltwin.basyx:basyx.aasregistry-service-release-log-mongodb" + docker rmi -f $(docker images -aq) + mvn package -DskipTests -Ddocker.namespace=test --pl "org.eclipse.digitaltwin.basyx:basyx.submodelregistry-service-release-kafka-mem" + docker rmi -f $(docker images -aq) + mvn package -DskipTests -Ddocker.namespace=test --pl "org.eclipse.digitaltwin.basyx:basyx.submodelregistry-service-release-kafka-mongodb" + docker rmi -f $(docker images -aq) + mvn package -DskipTests -Ddocker.namespace=test --pl "org.eclipse.digitaltwin.basyx:basyx.submodelregistry-service-release-log-mem" + docker rmi -f $(docker images -aq) + mvn package -DskipTests -Ddocker.namespace=test --pl "org.eclipse.digitaltwin.basyx:basyx.submodelregistry-service-release-log-mongodb" diff --git a/.github/workflows/scripts/build_start_docker_image.sh b/.github/workflows/scripts/build_start_docker_image.sh deleted file mode 100644 index d4097dd9f..000000000 --- a/.github/workflows/scripts/build_start_docker_image.sh +++ /dev/null @@ -1,43 +0,0 @@ -#!/bin/bash - -# Check if the correct number of arguments are provided -if [ "$#" -ne 3 ]; then - echo "Usage: $0 " - exit 1 -fi - -# Assign input arguments to variables -IMAGE_NAME=$1 -VERSION=$2 -CONTAINER_NAME=$3 - -# Run the Docker container -docker run -d --name $CONTAINER_NAME $IMAGE_NAME:$VERSION - -# Initialize variables -max_checks=24 # 2 minutes total (120 seconds / 5 seconds per check) -sleep_interval=5 # Interval in seconds between checks -check_count=0 - -# Loop to check health status -while [ $check_count -lt $max_checks ]; do - if [ "$(docker inspect --format='{{.State.Health.Status}}' $CONTAINER_NAME)" == "healthy" ]; then - echo "$CONTAINER_NAME started successfully and is healthy." - break - else - echo "Waiting for $CONTAINER_NAME to become healthy..." - check_count=$((check_count + 1)) - sleep $sleep_interval - fi -done - -# If the container is still not healthy after the loop -if [ $check_count -eq $max_checks ]; then - echo "$CONTAINER_NAME failed to start or is unhealthy after 2 minutes." - docker logs $CONTAINER_NAME - exit 1 -fi - -# Stop and remove the container after testing -docker stop $CONTAINER_NAME -docker rm $CONTAINER_NAME diff --git a/.github/workflows/scripts/build_start_docker_image_docker_compose.sh b/.github/workflows/scripts/build_start_docker_image_docker_compose.sh deleted file mode 100644 index 457897c5f..000000000 --- a/.github/workflows/scripts/build_start_docker_image_docker_compose.sh +++ /dev/null @@ -1,37 +0,0 @@ -#!/bin/bash - -# Check if the correct number of arguments are provided -if [ "$#" -ne 2 ]; then - echo "Usage: $0 " - exit 1 -fi - -# Run the Docker container -docker compose -f $1 up -d - -#Check every 5 seconds if the compose is healthy -max_checks=24 # 2 minutes total (120 seconds / 5 seconds per check) -sleep_interval=5 # Interval in seconds between checks -check_count=0 - -# Loop to check health status -while [ $check_count -lt $max_checks ]; do - if [ "$(docker inspect --format='{{.State.Health.Status}}' $2)" == "healthy" ]; then - echo "$2 started successfully and is healthy." - break - else - echo "Waiting for $2 to become healthy..." - check_count=$((check_count + 1)) - sleep $sleep_interval - fi -done - -# If the container is still not healthy after the loop -if [ $check_count -eq $max_checks ]; then - echo "$2 failed to start or is unhealthy after 2 minutes." - docker logs $2 - exit 1 -fi -# Stop and remove all container -docker compose -f $1 down - diff --git a/basyx.aasregistry/basyx.aasregistry-service-basetests/src/main/java/org/eclipse/digitaltwin/basyx/aasregistry/service/tests/BaseInterfaceTest.java b/basyx.aasregistry/basyx.aasregistry-service-basetests/src/main/java/org/eclipse/digitaltwin/basyx/aasregistry/service/tests/BaseInterfaceTest.java index 0ade65fce..e2fe2743c 100644 --- a/basyx.aasregistry/basyx.aasregistry-service-basetests/src/main/java/org/eclipse/digitaltwin/basyx/aasregistry/service/tests/BaseInterfaceTest.java +++ b/basyx.aasregistry/basyx.aasregistry-service-basetests/src/main/java/org/eclipse/digitaltwin/basyx/aasregistry/service/tests/BaseInterfaceTest.java @@ -54,7 +54,7 @@ import org.springframework.test.context.junit4.SpringRunner; @RunWith(SpringRunner.class) -@DirtiesContext(classMode = ClassMode.AFTER_CLASS) +@DirtiesContext(classMode = ClassMode.AFTER_EACH_TEST_METHOD) public abstract class BaseInterfaceTest { protected static final String IDENTIFICATION_2_3 = "identification_2.3"; diff --git a/basyx.aasregistry/basyx.aasregistry-service-basetests/src/main/java/org/eclipse/digitaltwin/basyx/aasregistry/service/tests/integration/BaseIntegrationTest.java b/basyx.aasregistry/basyx.aasregistry-service-basetests/src/main/java/org/eclipse/digitaltwin/basyx/aasregistry/service/tests/integration/BaseIntegrationTest.java index da381d92b..21940a5a2 100644 --- a/basyx.aasregistry/basyx.aasregistry-service-basetests/src/main/java/org/eclipse/digitaltwin/basyx/aasregistry/service/tests/integration/BaseIntegrationTest.java +++ b/basyx.aasregistry/basyx.aasregistry-service-basetests/src/main/java/org/eclipse/digitaltwin/basyx/aasregistry/service/tests/integration/BaseIntegrationTest.java @@ -99,7 +99,7 @@ import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; -@DirtiesContext(classMode = ClassMode.AFTER_CLASS) +@DirtiesContext(classMode = ClassMode.AFTER_EACH_TEST_METHOD) @SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT) @RunWith(SpringRunner.class) public abstract class BaseIntegrationTest { diff --git a/basyx.aasregistry/basyx.aasregistry-service-basetests/src/main/java/org/eclipse/digitaltwin/basyx/aasregistry/service/tests/integration/PersistencyTestSuite.java b/basyx.aasregistry/basyx.aasregistry-service-basetests/src/main/java/org/eclipse/digitaltwin/basyx/aasregistry/service/tests/integration/PersistencyTestSuite.java index 2e1e260bc..1b49d23da 100644 --- a/basyx.aasregistry/basyx.aasregistry-service-basetests/src/main/java/org/eclipse/digitaltwin/basyx/aasregistry/service/tests/integration/PersistencyTestSuite.java +++ b/basyx.aasregistry/basyx.aasregistry-service-basetests/src/main/java/org/eclipse/digitaltwin/basyx/aasregistry/service/tests/integration/PersistencyTestSuite.java @@ -45,7 +45,7 @@ * * @author mateusmolina, danish */ -@DirtiesContext(classMode = ClassMode.AFTER_CLASS) +@DirtiesContext(classMode = ClassMode.AFTER_EACH_TEST_METHOD) public abstract class PersistencyTestSuite { protected static final String DESC_ID = "TestDescriptor"; diff --git a/basyx.aasregistry/basyx.aasregistry-service-inmemory-storage/src/test/java/org/eclipse/digitaltwin/basyx/aasregistry/service/tests/api/BasyxRegistryApiDelegateTest.java b/basyx.aasregistry/basyx.aasregistry-service-inmemory-storage/src/test/java/org/eclipse/digitaltwin/basyx/aasregistry/service/tests/api/BasyxRegistryApiDelegateTest.java index 32ff6737b..88ed9c638 100644 --- a/basyx.aasregistry/basyx.aasregistry-service-inmemory-storage/src/test/java/org/eclipse/digitaltwin/basyx/aasregistry/service/tests/api/BasyxRegistryApiDelegateTest.java +++ b/basyx.aasregistry/basyx.aasregistry-service-inmemory-storage/src/test/java/org/eclipse/digitaltwin/basyx/aasregistry/service/tests/api/BasyxRegistryApiDelegateTest.java @@ -68,7 +68,7 @@ @RunWith(SpringRunner.class) @ContextConfiguration(classes = { BasyxSearchApiDelegate.class, BasyxRegistryApiDelegate.class, SearchApiController.class, ShellDescriptorsApiController.class, InMemoryAasStorageConfiguration.class }) -@DirtiesContext(classMode = ClassMode.AFTER_CLASS) +@DirtiesContext(classMode = ClassMode.AFTER_EACH_TEST_METHOD) @TestPropertySource(properties = { "registry.type=inMemory" }) public class BasyxRegistryApiDelegateTest { diff --git a/basyx.aasregistry/basyx.aasregistry-service-release-log-mem/src/test/java/org/eclipse/digitaltwin/basyx/aasregistry/service/tests/CorsHeaderTest.java b/basyx.aasregistry/basyx.aasregistry-service-release-log-mem/src/test/java/org/eclipse/digitaltwin/basyx/aasregistry/service/tests/CorsHeaderTest.java index c02e02e2d..d99add978 100644 --- a/basyx.aasregistry/basyx.aasregistry-service-release-log-mem/src/test/java/org/eclipse/digitaltwin/basyx/aasregistry/service/tests/CorsHeaderTest.java +++ b/basyx.aasregistry/basyx.aasregistry-service-release-log-mem/src/test/java/org/eclipse/digitaltwin/basyx/aasregistry/service/tests/CorsHeaderTest.java @@ -15,7 +15,7 @@ import org.springframework.test.context.TestPropertySource; import org.springframework.test.context.junit4.SpringRunner; -@DirtiesContext(classMode = DirtiesContext.ClassMode.AFTER_CLASS) +@DirtiesContext(classMode = DirtiesContext.ClassMode.AFTER_EACH_TEST_METHOD) @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) @RunWith(SpringRunner.class) @TestPropertySource(properties = {"spring.profiles.active=logEvents,inMemoryStorage", "basyx.cors.allowed-origins=*", "basyx.cors.allowed-methods=GET,POST,PATCH,DELETE,PUT,OPTIONS,HEAD" }) diff --git a/basyx.aasregistry/basyx.aasregistry-service/src/test/java/org/eclipse/digitaltwin/basyx/aasregistry/service/tests/DescriptionProfilesTest.java b/basyx.aasregistry/basyx.aasregistry-service/src/test/java/org/eclipse/digitaltwin/basyx/aasregistry/service/tests/DescriptionProfilesTest.java index 2352c4cd1..b08ed285f 100644 --- a/basyx.aasregistry/basyx.aasregistry-service/src/test/java/org/eclipse/digitaltwin/basyx/aasregistry/service/tests/DescriptionProfilesTest.java +++ b/basyx.aasregistry/basyx.aasregistry-service/src/test/java/org/eclipse/digitaltwin/basyx/aasregistry/service/tests/DescriptionProfilesTest.java @@ -54,7 +54,7 @@ @RunWith(SpringRunner.class) @WebMvcTest(DescriptionApiController.class) -@DirtiesContext(classMode = ClassMode.AFTER_CLASS) +@DirtiesContext(classMode = ClassMode.AFTER_EACH_TEST_METHOD) @TestPropertySource(properties = { "description.profiles=https://admin-shell.io/aas/API/3/0/AssetAdministrationShellRegistryServiceSpecification/SSP-001,https://admin-shell.io/aas/API/3/0/SubmodelRegistryServiceSpecification/SSP-001" }) public class DescriptionProfilesTest { diff --git a/basyx.aasxfileserver/basyx.aasxfileserver.component/pom.xml b/basyx.aasxfileserver/basyx.aasxfileserver.component/pom.xml index b793f6898..583010243 100644 --- a/basyx.aasxfileserver/basyx.aasxfileserver.component/pom.xml +++ b/basyx.aasxfileserver/basyx.aasxfileserver.component/pom.xml @@ -15,7 +15,6 @@ aasxfileserver - http://localhost:${docker.host.port}/packages @@ -69,66 +68,4 @@ - - - - docker - - - docker.namespace - - - - - - io.fabric8 - docker-maven-plugin - - - - - - - ${docker.host.port}:${docker.container.port} - - - - ${docker.container.waitForEndpoint} - - - - - - - - - build-docker - - - push-docker - - - docker-compose-up - pre-integration-test - - start - - - - docker-compose-down - post-integration-test - - stop - - - - - - org.apache.maven.plugins - maven-failsafe-plugin - - - - - \ No newline at end of file diff --git a/basyx.submodelregistry/basyx.submodelregistry-service-basetests/src/main/java/org/eclipse/digitaltwin/basyx/submodelregistry/service/tests/BaseInterfaceTest.java b/basyx.submodelregistry/basyx.submodelregistry-service-basetests/src/main/java/org/eclipse/digitaltwin/basyx/submodelregistry/service/tests/BaseInterfaceTest.java index 4bb7ce5d3..39ecca396 100644 --- a/basyx.submodelregistry/basyx.submodelregistry-service-basetests/src/main/java/org/eclipse/digitaltwin/basyx/submodelregistry/service/tests/BaseInterfaceTest.java +++ b/basyx.submodelregistry/basyx.submodelregistry-service-basetests/src/main/java/org/eclipse/digitaltwin/basyx/submodelregistry/service/tests/BaseInterfaceTest.java @@ -51,7 +51,7 @@ import org.springframework.test.context.junit4.SpringRunner; @RunWith(SpringRunner.class) -@DirtiesContext(classMode = ClassMode.AFTER_CLASS) +@DirtiesContext(classMode = ClassMode.AFTER_EACH_TEST_METHOD) public abstract class BaseInterfaceTest { protected static final String SM_ID_5 = "sm5"; diff --git a/basyx.submodelregistry/basyx.submodelregistry-service-basetests/src/main/java/org/eclipse/digitaltwin/basyx/submodelregistry/service/tests/integration/BaseIntegrationTest.java b/basyx.submodelregistry/basyx.submodelregistry-service-basetests/src/main/java/org/eclipse/digitaltwin/basyx/submodelregistry/service/tests/integration/BaseIntegrationTest.java index fc25049b6..91792d554 100644 --- a/basyx.submodelregistry/basyx.submodelregistry-service-basetests/src/main/java/org/eclipse/digitaltwin/basyx/submodelregistry/service/tests/integration/BaseIntegrationTest.java +++ b/basyx.submodelregistry/basyx.submodelregistry-service-basetests/src/main/java/org/eclipse/digitaltwin/basyx/submodelregistry/service/tests/integration/BaseIntegrationTest.java @@ -82,7 +82,7 @@ import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; -@DirtiesContext(classMode = ClassMode.AFTER_CLASS) +@DirtiesContext(classMode = ClassMode.AFTER_EACH_TEST_METHOD) @SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT) @RunWith(SpringRunner.class) public abstract class BaseIntegrationTest { diff --git a/basyx.submodelregistry/basyx.submodelregistry-service-basetests/src/main/java/org/eclipse/digitaltwin/basyx/submodelregistry/service/tests/integration/PersistencyTestSuite.java b/basyx.submodelregistry/basyx.submodelregistry-service-basetests/src/main/java/org/eclipse/digitaltwin/basyx/submodelregistry/service/tests/integration/PersistencyTestSuite.java index 444adf5fb..d5a39f1da 100644 --- a/basyx.submodelregistry/basyx.submodelregistry-service-basetests/src/main/java/org/eclipse/digitaltwin/basyx/submodelregistry/service/tests/integration/PersistencyTestSuite.java +++ b/basyx.submodelregistry/basyx.submodelregistry-service-basetests/src/main/java/org/eclipse/digitaltwin/basyx/submodelregistry/service/tests/integration/PersistencyTestSuite.java @@ -40,7 +40,7 @@ * * @author mateusmolina */ -@DirtiesContext(classMode = ClassMode.AFTER_CLASS) +@DirtiesContext(classMode = ClassMode.AFTER_EACH_TEST_METHOD) public abstract class PersistencyTestSuite { protected static final String DESC_ID = "TestDescriptor"; diff --git a/basyx.submodelregistry/basyx.submodelregistry-service-inmemory-storage/src/test/java/org/eclipse/digitaltwin/basyx/submodelregistry/service/tests/api/BasyxRegistryApiDelegateTest.java b/basyx.submodelregistry/basyx.submodelregistry-service-inmemory-storage/src/test/java/org/eclipse/digitaltwin/basyx/submodelregistry/service/tests/api/BasyxRegistryApiDelegateTest.java index 88cac1e33..4092a13ca 100644 --- a/basyx.submodelregistry/basyx.submodelregistry-service-inmemory-storage/src/test/java/org/eclipse/digitaltwin/basyx/submodelregistry/service/tests/api/BasyxRegistryApiDelegateTest.java +++ b/basyx.submodelregistry/basyx.submodelregistry-service-inmemory-storage/src/test/java/org/eclipse/digitaltwin/basyx/submodelregistry/service/tests/api/BasyxRegistryApiDelegateTest.java @@ -59,7 +59,7 @@ @RunWith(SpringRunner.class) @ContextConfiguration(classes = { BasyxSubmodelRegistryApiDelegate.class, SubmodelDescriptorsApiController.class, SubmodelDescriptorsApiController.class, InMemorySubmodelStorageConfiguration.class }) -@DirtiesContext(classMode = ClassMode.AFTER_CLASS) +@DirtiesContext(classMode = ClassMode.AFTER_EACH_TEST_METHOD) @TestPropertySource(properties = { "registry.type=inMemory" }) public class BasyxRegistryApiDelegateTest { diff --git a/basyx.submodelregistry/basyx.submodelregistry-service-release-log-mem/src/test/java/org/eclipse/digitaltwin/basyx/submodelregistry/service/tests/CorsHeaderTest.java b/basyx.submodelregistry/basyx.submodelregistry-service-release-log-mem/src/test/java/org/eclipse/digitaltwin/basyx/submodelregistry/service/tests/CorsHeaderTest.java index 4574980cf..bd29cb471 100644 --- a/basyx.submodelregistry/basyx.submodelregistry-service-release-log-mem/src/test/java/org/eclipse/digitaltwin/basyx/submodelregistry/service/tests/CorsHeaderTest.java +++ b/basyx.submodelregistry/basyx.submodelregistry-service-release-log-mem/src/test/java/org/eclipse/digitaltwin/basyx/submodelregistry/service/tests/CorsHeaderTest.java @@ -41,7 +41,7 @@ import org.springframework.test.context.TestPropertySource; import org.springframework.test.context.junit4.SpringRunner; -@DirtiesContext(classMode = ClassMode.AFTER_CLASS) +@DirtiesContext(classMode = ClassMode.AFTER_EACH_TEST_METHOD) @SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT) @RunWith(SpringRunner.class) @TestPropertySource(properties = { "spring.profiles.active=logEvents,inMemoryStorage", "basyx.cors.allowed-origins=*", "basyx.cors.allowed-methods=GET,POST,PATCH,DELETE,PUT,OPTIONS,HEAD" }) diff --git a/basyx.submodelregistry/basyx.submodelregistry-service/src/test/java/org/eclipse/digitaltwin/basyx/submodelregistry/service/tests/DescriptionProfilesTest.java b/basyx.submodelregistry/basyx.submodelregistry-service/src/test/java/org/eclipse/digitaltwin/basyx/submodelregistry/service/tests/DescriptionProfilesTest.java index 04f0c7c2b..f537605b6 100644 --- a/basyx.submodelregistry/basyx.submodelregistry-service/src/test/java/org/eclipse/digitaltwin/basyx/submodelregistry/service/tests/DescriptionProfilesTest.java +++ b/basyx.submodelregistry/basyx.submodelregistry-service/src/test/java/org/eclipse/digitaltwin/basyx/submodelregistry/service/tests/DescriptionProfilesTest.java @@ -54,7 +54,7 @@ @RunWith(SpringRunner.class) @WebMvcTest(DescriptionApiController.class) -@DirtiesContext(classMode = ClassMode.AFTER_CLASS) +@DirtiesContext(classMode = ClassMode.AFTER_EACH_TEST_METHOD) @TestPropertySource(properties = { "description.profiles=https://admin-shell.io/aas/API/3/0/SubmodelRegistryServiceSpecification/SSP-001,https://admin-shell.io/aas/API/3/0/DiscoveryServiceSpecification/SSP-001" }) public class DescriptionProfilesTest { diff --git a/basyx.submodelservice/basyx.submodelservice.example/Dockerfile b/basyx.submodelservice/basyx.submodelservice.example/Dockerfile index 1c3e9648d..556832735 100644 --- a/basyx.submodelservice/basyx.submodelservice.example/Dockerfile +++ b/basyx.submodelservice/basyx.submodelservice.example/Dockerfile @@ -5,7 +5,5 @@ ARG JAR_FILE=target/*-exec.jar COPY ${JAR_FILE} basyxExecutable.jar COPY src/main/resources/application.properties application.properties ARG PORT=8081 -ENV SERVER_PORT=${PORT} -EXPOSE ${SERVER_PORT} -HEALTHCHECK --interval=30s --timeout=3s --retries=3 --start-period=15s CMD curl --fail http://localhost:${SERVER_PORT}/actuator/health || exit 1 +EXPOSE ${PORT} ENTRYPOINT ["java","-jar","basyxExecutable.jar"] diff --git a/ci/test-aas-registry-kafka-mem.yml b/ci/test-aas-registry-kafka-mem.yml deleted file mode 100644 index 506450ed1..000000000 --- a/ci/test-aas-registry-kafka-mem.yml +++ /dev/null @@ -1,92 +0,0 @@ -version: '3.6' - -networks: - basyx: - internal: false - -volumes: - zookeeper-data: - driver: local - zookeeper-log: - driver: local - kafka-data: - driver: local - aas-config: - -services: - portainer: - image: portainer/portainer-ce:2.0.1 - container_name: portainer - restart: always - ports: - - "9090:9000" - volumes: - - /var/run/docker.sock:/var/run/docker.sock - networks: - - basyx - - zookeeper: - image: zookeeper:3.6 - container_name: zookeeper - restart: always - ports: - - "2181:2181" - volumes: - - zookeeper-data:/var/lib/zookeeper/data - - zookeeper-log:/var/lib/zookeeper/log - networks: - - basyx - - kafka: - image: confluentinc/cp-kafka:6.2.1 - container_name: kafka - volumes: - - kafka-data:/var/lib/kafka - ports: - - "9092:9092" - environment: - KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181 - KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1 - KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT - KAFKA_INTER_BROKER_LISTENER_NAME: PLAINTEXT - KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:29092,PLAINTEXT_HOST://localhost:9092 - KAFKA_AUTO_CREATE_TOPICS_ENABLE: 'true' - links: - - zookeeper - restart: always - networks: - - basyx - - akhq: - image: tchiotludo/akhq:0.24.0 - container_name: akhq - environment: - AKHQ_CONFIGURATION: | - akhq: - connections: - docker-kafka-server: - properties: - bootstrap.servers: "kafka:29092" - ports: - - 8086:8080 - restart: always - depends_on: - - kafka - networks: - - basyx - - - - aas-registry-kafka-mem: - image: test/aas-registry-kafka-mem:$BASYX_VERSION - container_name: test_aas_registry_kafka_mem - pull_policy: never - ports: - - "8030:8080" - depends_on: - - kafka - restart: always - environment: - KAFKA_BOOTSTRAP_SERVERS: PLAINTEXT://kafka:29092 - networks: - - basyx \ No newline at end of file diff --git a/ci/test-aas-registry-kafka-mongodb.yml b/ci/test-aas-registry-kafka-mongodb.yml deleted file mode 100644 index 487325eaf..000000000 --- a/ci/test-aas-registry-kafka-mongodb.yml +++ /dev/null @@ -1,109 +0,0 @@ -version: '3.6' - -networks: - basyx: - internal: false - mongo: - internal: false - -volumes: - zookeeper-data: - driver: local - zookeeper-log: - driver: local - kafka-data: - driver: local - mongodb-data-5.0.10: - driver: local - aas-config: - -services: - portainer: - image: portainer/portainer-ce:2.0.1 - container_name: portainer - restart: always - ports: - - "9090:9000" - volumes: - - /var/run/docker.sock:/var/run/docker.sock - networks: - - basyx - - zookeeper: - image: zookeeper:3.6 - container_name: zookeeper - restart: always - ports: - - "2181:2181" - volumes: - - zookeeper-data:/var/lib/zookeeper/data - - zookeeper-log:/var/lib/zookeeper/log - networks: - - basyx - - kafka: - image: confluentinc/cp-kafka:6.2.1 - container_name: kafka - volumes: - - kafka-data:/var/lib/kafka - ports: - - "9092:9092" - environment: - KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181 - KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1 - KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT - KAFKA_INTER_BROKER_LISTENER_NAME: PLAINTEXT - KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:29092,PLAINTEXT_HOST://localhost:9092 - KAFKA_AUTO_CREATE_TOPICS_ENABLE: 'true' - links: - - zookeeper - restart: always - networks: - - basyx - - akhq: - image: tchiotludo/akhq:0.24.0 - container_name: akhq - environment: - AKHQ_CONFIGURATION: | - akhq: - connections: - docker-kafka-server: - properties: - bootstrap.servers: "kafka:29092" - ports: - - 8086:8080 - restart: always - depends_on: - - kafka - networks: - - basyx - - mongodb: - image: mongo:5.0.10 - container_name: mongodb - environment: - MONGO_INITDB_ROOT_USERNAME: admin - MONGO_INITDB_ROOT_PASSWORD: admin - ports: - - 27017:27017 - volumes: - - mongodb-data-5.0.10:/data/db - networks: - - basyx - - aas-registry-kafka-mongodb: - image: test/aas-registry-kafka-mongodb:$BASYX_VERSION - container_name: test_aas_registry_kafka_mongodb - pull_policy: never - ports: - - "8020:8080" - depends_on: - - mongodb - - kafka - restart: always - environment: - KAFKA_BOOTSTRAP_SERVERS: PLAINTEXT://kafka:29092 - SPRING_DATA_MONGODB_URI: mongodb://admin:admin@mongodb:27017 - networks: - - basyx diff --git a/ci/test-aas-registry-log-mongodb.yml b/ci/test-aas-registry-log-mongodb.yml deleted file mode 100644 index 8e2618c33..000000000 --- a/ci/test-aas-registry-log-mongodb.yml +++ /dev/null @@ -1,51 +0,0 @@ -version: '3.6' - -networks: - basyx: - internal: false - mongo: - internal: false - -volumes: - mongodb-data-5.0.10: - driver: local - aas-config: - -services: - portainer: - image: portainer/portainer-ce:2.0.1 - container_name: portainer - restart: always - ports: - - "9090:9000" - volumes: - - /var/run/docker.sock:/var/run/docker.sock - networks: - - basyx - - mongodb: - image: mongo:5.0.10 - container_name: mongodb - environment: - MONGO_INITDB_ROOT_USERNAME: admin - MONGO_INITDB_ROOT_PASSWORD: admin - ports: - - 27017:27017 - volumes: - - mongodb-data-5.0.10:/data/db - networks: - - basyx - - aas-registry-log-mongodb: - image: test/aas-registry-log-mongodb:$BASYX_VERSION - container_name: test_aas_registry_log_mongodb - pull_policy: never - ports: - - "8050:8080" - depends_on: - - mongodb - restart: always - environment: - SPRING_DATA_MONGODB_URI: mongodb://admin:admin@mongodb:27017 - networks: - - basyx diff --git a/ci/test-submodel-registry-kafka-mem.yml b/ci/test-submodel-registry-kafka-mem.yml deleted file mode 100644 index fa7c006f8..000000000 --- a/ci/test-submodel-registry-kafka-mem.yml +++ /dev/null @@ -1,90 +0,0 @@ -version: '3.6' - -networks: - basyx-submodel: - internal: false - -volumes: - zookeeper-data: - driver: local - zookeeper-log: - driver: local - kafka-data: - driver: local - submodel-config: - -services: - portainer: - image: portainer/portainer-ce:2.0.1 - container_name: portainer - restart: always - ports: - - "9091:9000" - volumes: - - /var/run/docker.sock:/var/run/docker.sock - networks: - - basyx-submodel - - zookeeper: - image: zookeeper:3.6 - container_name: zookeeper - restart: always - ports: - - "2182:2181" - volumes: - - zookeeper-data:/var/lib/zookeeper/data - - zookeeper-log:/var/lib/zookeeper/log - networks: - - basyx-submodel - - kafka: - image: confluentinc/cp-kafka:6.2.1 - container_name: kafka - volumes: - - kafka-data:/var/lib/kafka - ports: - - "9093:9092" - environment: - KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181 - KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1 - KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT - KAFKA_INTER_BROKER_LISTENER_NAME: PLAINTEXT - KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:29092,PLAINTEXT_HOST://localhost:9093 - KAFKA_AUTO_CREATE_TOPICS_ENABLE: 'true' - links: - - zookeeper - restart: always - networks: - - basyx-submodel - - akhq: - image: tchiotludo/akhq:0.24.0 - container_name: akhq - environment: - AKHQ_CONFIGURATION: | - akhq: - connections: - docker-kafka-server: - properties: - bootstrap.servers: "kafka:29092" - ports: - - 8087:8080 - restart: always - depends_on: - - kafka - networks: - - basyx-submodel - - submodel-registry-kafka-mem: - image: test/submodel-registry-kafka-mem:$BASYX_VERSION - container_name: test_submodel_registry_kafka_mem - pull_policy: never - ports: - - "8035:8080" - depends_on: - - kafka - restart: always - environment: - KAFKA_BOOTSTRAP_SERVERS: PLAINTEXT://kafka:29092 - networks: - - basyx-submodel diff --git a/ci/test-submodel-registry-kafka-mongodb.yml b/ci/test-submodel-registry-kafka-mongodb.yml deleted file mode 100644 index 027b9a62b..000000000 --- a/ci/test-submodel-registry-kafka-mongodb.yml +++ /dev/null @@ -1,109 +0,0 @@ -version: '3.6' - -networks: - basyx-submodel: - internal: false - mongo-submodel: - internal: false - -volumes: - zookeeper-data: - driver: local - zookeeper-log: - driver: local - kafka-data: - driver: local - mongodb-data-5.0.10: - driver: local - submodel-config: - -services: - portainer: - image: portainer/portainer-ce:2.0.1 - container_name: portainer - restart: always - ports: - - "9091:9000" - volumes: - - /var/run/docker.sock:/var/run/docker.sock - networks: - - basyx-submodel - - zookeeper: - image: zookeeper:3.6 - container_name: zookeeper - restart: always - ports: - - "2182:2181" - volumes: - - zookeeper-data:/var/lib/zookeeper/data - - zookeeper-log:/var/lib/zookeeper/log - networks: - - basyx-submodel - - kafka: - image: confluentinc/cp-kafka:6.2.1 - container_name: kafka - volumes: - - kafka-data:/var/lib/kafka - ports: - - "9093:9092" - environment: - KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181 - KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1 - KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT - KAFKA_INTER_BROKER_LISTENER_NAME: PLAINTEXT - KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:29092,PLAINTEXT_HOST://localhost:9093 - KAFKA_AUTO_CREATE_TOPICS_ENABLE: 'true' - links: - - zookeeper - restart: always - networks: - - basyx-submodel - - akhq: - image: tchiotludo/akhq:0.24.0 - container_name: akhq - environment: - AKHQ_CONFIGURATION: | - akhq: - connections: - docker-kafka-server: - properties: - bootstrap.servers: "kafka:29092" - ports: - - 8087:8080 - restart: always - depends_on: - - kafka - networks: - - basyx-submodel - - mongodb: - image: mongo:5.0.10 - container_name: mongodb - environment: - MONGO_INITDB_ROOT_USERNAME: admin - MONGO_INITDB_ROOT_PASSWORD: admin - ports: - - 27018:27017 - volumes: - - mongodb-data-5.0.10:/data/db - networks: - - basyx-submodel - - submodel-registry-kafka-mongodb: - image: test/submodel-registry-kafka-mongodb:$BASYX_VERSION - container_name: test_submodel_registry_kafka_mongodb - pull_policy: never - ports: - - "8024:8080" - depends_on: - - mongodb - - kafka - restart: always - environment: - KAFKA_BOOTSTRAP_SERVERS: PLAINTEXT://kafka:29092 - SPRING_DATA_MONGODB_URI: mongodb://admin:admin@mongodb:27017 - networks: - - basyx-submodel diff --git a/ci/test-submodel-registry-log-mongodb.yml b/ci/test-submodel-registry-log-mongodb.yml deleted file mode 100644 index 2e2bb1fe0..000000000 --- a/ci/test-submodel-registry-log-mongodb.yml +++ /dev/null @@ -1,107 +0,0 @@ -version: '3.6' - -networks: - basyx-submodel: - internal: false - mongo-submodel: - internal: false - -volumes: - zookeeper-data: - driver: local - zookeeper-log: - driver: local - kafka-data: - driver: local - mongodb-data-5.0.10: - driver: local - submodel-config: - -services: - portainer: - image: portainer/portainer-ce:2.0.1 - container_name: portainer - restart: always - ports: - - "9091:9000" - volumes: - - /var/run/docker.sock:/var/run/docker.sock - networks: - - basyx-submodel - - zookeeper: - image: zookeeper:3.6 - container_name: zookeeper - restart: always - ports: - - "2182:2181" - volumes: - - zookeeper-data:/var/lib/zookeeper/data - - zookeeper-log:/var/lib/zookeeper/log - networks: - - basyx-submodel - - kafka: - image: confluentinc/cp-kafka:6.2.1 - container_name: kafka - volumes: - - kafka-data:/var/lib/kafka - ports: - - "9093:9092" - environment: - KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181 - KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1 - KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT - KAFKA_INTER_BROKER_LISTENER_NAME: PLAINTEXT - KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:29092,PLAINTEXT_HOST://localhost:9093 - KAFKA_AUTO_CREATE_TOPICS_ENABLE: 'true' - links: - - zookeeper - restart: always - networks: - - basyx-submodel - - akhq: - image: tchiotludo/akhq:0.24.0 - container_name: akhq - environment: - AKHQ_CONFIGURATION: | - akhq: - connections: - docker-kafka-server: - properties: - bootstrap.servers: "kafka:29092" - ports: - - 8087:8080 - restart: always - depends_on: - - kafka - networks: - - basyx-submodel - - mongodb: - image: mongo:5.0.10 - container_name: mongodb - environment: - MONGO_INITDB_ROOT_USERNAME: admin - MONGO_INITDB_ROOT_PASSWORD: admin - ports: - - 27018:27017 - volumes: - - mongodb-data-5.0.10:/data/db - networks: - - basyx-submodel - - submodel-registry-log-mongodb: - image: test/submodel-registry-log-mongodb:$BASYX_VERSION - container_name: test_submodel_registry_log_mongodb - pull_policy: never - ports: - - "8053:8080" - depends_on: - - mongodb - restart: always - environment: - SPRING_DATA_MONGODB_URI: mongodb://admin:admin@mongodb:27017 - networks: - - basyx-submodel diff --git a/pom.xml b/pom.xml index c0a72b611..eae345ed8 100644 --- a/pom.xml +++ b/pom.xml @@ -94,6 +94,20 @@ + + org.eclipse.dash + license-tool-plugin + 1.1.1-SNAPSHOT + + + license-check + + license-check + + + + + org.codehaus.mojo flatten-maven-plugin @@ -163,6 +177,18 @@ + + org.apache.maven.plugins + maven-javadoc-plugin + + + attach-javadocs + + jar + + + + @@ -1273,31 +1299,6 @@ org.apache.maven.plugins maven-gpg-plugin - - org.eclipse.dash - license-tool-plugin - 1.1.1-SNAPSHOT - - - license-check - - license-check - - - - - - org.apache.maven.plugins - maven-javadoc-plugin - - - attach-javadocs - - jar - - - - @@ -1319,31 +1320,6 @@ - - org.eclipse.dash - license-tool-plugin - 1.1.1-SNAPSHOT - - - license-check - - license-check - - - - - - org.apache.maven.plugins - maven-javadoc-plugin - - - attach-javadocs - - jar - - - -