Skip to content

Commit 7cc0cf5

Browse files
FriedJannikaaronzi
andauthored
Improves CI to be more reliable (#721)
* Adds check for surefire/failsafe reports * Forces Build of BaSyx Test-Containers to check against new code * Changes Start environment command * Changes path to dockerfiles * Build Docker Images before starting containers * Adds Submodel Repository MongoDB Docker Image test * Adapts docker compose file * Adapts Docker Compose File * Adapts Docker Compose File * Adapts Docker Compose File * Adds AAS Repo & AAS Env MongoDB Docker Image test * Adds AAS Discovery & CD Repository MongoDB Docker Image test --------- Co-authored-by: Aaron Zielstorff <aaron.zi@web.de>
1 parent 9c88ae0 commit 7cc0cf5

7 files changed

Lines changed: 615 additions & 0 deletions

.github/workflows/basyx_test.yml

Lines changed: 331 additions & 0 deletions
Large diffs are not rendered by default.

.github/workflows/docker_test.yml

Lines changed: 134 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,33 @@ jobs:
5454
- name: Clean up
5555
run: exit 0
5656

57+
build-test-aas-repository-mongodb:
58+
runs-on: ubuntu-latest
59+
name: AAS Repository MongoDB - Build and Start Docker Image
60+
steps:
61+
- uses: actions/checkout@v4
62+
63+
- name: Set up JDK 17
64+
uses: actions/setup-java@v4
65+
with:
66+
java-version: '17'
67+
distribution: 'adopt'
68+
cache: maven
69+
70+
- name: Build BaSyx
71+
run: |
72+
mvn clean install ${MVN_ARGS_BUILD_BASYX_NO_TESTS}
73+
74+
- name: Build AAS Repository Docker Image
75+
run: |
76+
mvn package -DskipTests -Ddocker.namespace=test --pl "org.eclipse.digitaltwin.basyx:basyx.aasrepository.component"
77+
78+
- name: Test AAS Repository MongoDB Docker Image
79+
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
80+
81+
- name: Clean up
82+
run: exit 0
83+
5784
build-test-aas-environment:
5885
runs-on: ubuntu-latest
5986
name: AAS Environment - Build and Start Docker Image
@@ -81,6 +108,33 @@ jobs:
81108
- name: Clean up
82109
run: exit 0
83110

111+
build-test-aas-environment-mongodb:
112+
runs-on: ubuntu-latest
113+
name: AAS Environment MongoDB - Build and Start Docker Image
114+
steps:
115+
- uses: actions/checkout@v4
116+
117+
- name: Set up JDK 17
118+
uses: actions/setup-java@v4
119+
with:
120+
java-version: '17'
121+
distribution: 'adopt'
122+
cache: maven
123+
124+
- name: Build BaSyx
125+
run: |
126+
mvn clean install ${MVN_ARGS_BUILD_BASYX_NO_TESTS}
127+
128+
- name: Build AAS Environment Docker Image
129+
run: |
130+
mvn package -DskipTests -Ddocker.namespace=test --pl "org.eclipse.digitaltwin.basyx:basyx.aasenvironment.component"
131+
132+
- name: Test AAS Environment MongoDB Docker Image
133+
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
134+
135+
- name: Clean up
136+
run: exit 0
137+
84138
build-test-concept-description-repository:
85139
runs-on: ubuntu-latest
86140
name: Concept Description Repository - Build and Start Docker Image
@@ -108,6 +162,33 @@ jobs:
108162
- name: Clean up
109163
run: exit 0
110164

165+
build-test-cd-repository-mongodb:
166+
runs-on: ubuntu-latest
167+
name: Concept Description Repository MongoDB - Build and Start Docker Image
168+
steps:
169+
- uses: actions/checkout@v4
170+
171+
- name: Set up JDK 17
172+
uses: actions/setup-java@v4
173+
with:
174+
java-version: '17'
175+
distribution: 'adopt'
176+
cache: maven
177+
178+
- name: Build BaSyx
179+
run: |
180+
mvn clean install ${MVN_ARGS_BUILD_BASYX_NO_TESTS}
181+
182+
- name: Build Concept Description Repository Docker Image
183+
run: |
184+
mvn package -DskipTests -Ddocker.namespace=test --pl "org.eclipse.digitaltwin.basyx:basyx.conceptdescriptionrepository.component"
185+
186+
- name: Test Concept Description Repository MongoDB Docker Image
187+
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
188+
189+
- name: Clean up
190+
run: exit 0
191+
111192
build-test-aas-discovery:
112193
runs-on: ubuntu-latest
113194
name: AAS Discovery - Build and Start Docker Image
@@ -135,6 +216,32 @@ jobs:
135216
- name: Clean up
136217
run: exit 0
137218

219+
build-test-aas-discovery-mongodb:
220+
runs-on: ubuntu-latest
221+
name: AAS Discovery MongoDB - Build and Start Docker Image
222+
steps:
223+
- uses: actions/checkout@v4
224+
225+
- name: Set up JDK 17
226+
uses: actions/setup-java@v4
227+
with:
228+
java-version: '17'
229+
distribution: 'adopt'
230+
cache: maven
231+
232+
- name: Build BaSyx
233+
run: |
234+
mvn clean install ${MVN_ARGS_BUILD_BASYX_NO_TESTS}
235+
236+
- name: Build AAS Discovery Docker Image
237+
run: |
238+
mvn package -DskipTests -Ddocker.namespace=test --pl "org.eclipse.digitaltwin.basyx:basyx.aasdiscoveryservice.component"
239+
240+
- name: Test AAS Discovery MongoDB Docker Image
241+
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
242+
243+
- name: Clean up
244+
run: exit 0
138245
build-test-aasx-fileserver:
139246
runs-on: ubuntu-latest
140247
name: AASX File Server - Build and Start Docker Image
@@ -189,6 +296,33 @@ jobs:
189296
- name: Clean up
190297
run: exit 0
191298

299+
build-test-submodel-repository-mongodb:
300+
runs-on: ubuntu-latest
301+
name: Submodel Repository MongoDB - Build and Start Docker Image
302+
steps:
303+
- uses: actions/checkout@v4
304+
305+
- name: Set up JDK 17
306+
uses: actions/setup-java@v4
307+
with:
308+
java-version: '17'
309+
distribution: 'adopt'
310+
cache: maven
311+
312+
- name: Build BaSyx
313+
run: |
314+
mvn clean install ${MVN_ARGS_BUILD_BASYX_NO_TESTS}
315+
316+
- name: Build Submodel Repository Docker Image
317+
run: |
318+
mvn package -DskipTests -Ddocker.namespace=test --pl "org.eclipse.digitaltwin.basyx:basyx.submodelrepository.component"
319+
320+
- name: Test Submodel Repository MongoDB Docker Image
321+
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
322+
323+
- name: Clean up
324+
run: exit 0
325+
192326
build-test-submodel-service:
193327
runs-on: ubuntu-latest
194328
name: Submodel Service - Build and Start Docker Image
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
services:
2+
aas-discovery:
3+
image: test/aas-discovery:$BASYX_VERSION
4+
container_name: test_aas_discovery
5+
environment:
6+
- SERVER_PORT=8081
7+
- SPRING_DATA_MONGODB_HOST=mongo
8+
- SPRING_DATA_MONGODB_DATABASE=aasdiscovery
9+
- SPRING_DATA_MONGODB_AUTHENTICATION_DATABASE=admin
10+
- SPRING_DATA_MONGODB_USERNAME=mongoAdmin
11+
- SPRING_DATA_MONGODB_PASSWORD=mongoPassword
12+
- BASYX_BACKEND=MongoDB
13+
ports:
14+
- '8081:8081'
15+
restart: always
16+
depends_on:
17+
mongo:
18+
condition: service_healthy
19+
mongo:
20+
image: mongo:5.0.10
21+
container_name: mongo
22+
environment:
23+
MONGO_INITDB_ROOT_USERNAME: mongoAdmin
24+
MONGO_INITDB_ROOT_PASSWORD: mongoPassword
25+
restart: always
26+
healthcheck:
27+
test: mongo
28+
interval: 10s
29+
timeout: 5s
30+
retries: 5
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
services:
2+
aas-env:
3+
image: test/aas-environment:$BASYX_VERSION
4+
container_name: test_aas_environment
5+
environment:
6+
- SERVER_PORT=8081
7+
- SPRING_DATA_MONGODB_HOST=mongo
8+
- SPRING_DATA_MONGODB_DATABASE=aasenv
9+
- SPRING_DATA_MONGODB_AUTHENTICATION_DATABASE=admin
10+
- SPRING_DATA_MONGODB_USERNAME=mongoAdmin
11+
- SPRING_DATA_MONGODB_PASSWORD=mongoPassword
12+
- BASYX_BACKEND=MongoDB
13+
ports:
14+
- '8081:8081'
15+
restart: always
16+
depends_on:
17+
mongo:
18+
condition: service_healthy
19+
mongo:
20+
image: mongo:5.0.10
21+
container_name: mongo
22+
environment:
23+
MONGO_INITDB_ROOT_USERNAME: mongoAdmin
24+
MONGO_INITDB_ROOT_PASSWORD: mongoPassword
25+
restart: always
26+
healthcheck:
27+
test: mongo
28+
interval: 10s
29+
timeout: 5s
30+
retries: 5
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
services:
2+
aas-repository:
3+
image: test/aas-repository:$BASYX_VERSION
4+
container_name: test_aas_repository
5+
environment:
6+
- SERVER_PORT=8081
7+
- SPRING_DATA_MONGODB_HOST=mongo
8+
- SPRING_DATA_MONGODB_DATABASE=aasrepo
9+
- SPRING_DATA_MONGODB_AUTHENTICATION_DATABASE=admin
10+
- SPRING_DATA_MONGODB_USERNAME=mongoAdmin
11+
- SPRING_DATA_MONGODB_PASSWORD=mongoPassword
12+
- BASYX_BACKEND=MongoDB
13+
ports:
14+
- '8081:8081'
15+
restart: always
16+
depends_on:
17+
mongo:
18+
condition: service_healthy
19+
mongo:
20+
image: mongo:5.0.10
21+
container_name: mongo
22+
environment:
23+
MONGO_INITDB_ROOT_USERNAME: mongoAdmin
24+
MONGO_INITDB_ROOT_PASSWORD: mongoPassword
25+
restart: always
26+
healthcheck:
27+
test: mongo
28+
interval: 10s
29+
timeout: 5s
30+
retries: 5
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
services:
2+
cd-repository:
3+
image: test/conceptdescription-repository:$BASYX_VERSION
4+
container_name: test_cd_repository
5+
environment:
6+
- SERVER_PORT=8081
7+
- SPRING_DATA_MONGODB_HOST=mongo
8+
- SPRING_DATA_MONGODB_DATABASE=cdrepository
9+
- SPRING_DATA_MONGODB_AUTHENTICATION_DATABASE=admin
10+
- SPRING_DATA_MONGODB_USERNAME=mongoAdmin
11+
- SPRING_DATA_MONGODB_PASSWORD=mongoPassword
12+
- BASYX_BACKEND=MongoDB
13+
ports:
14+
- '8081:8081'
15+
restart: always
16+
depends_on:
17+
mongo:
18+
condition: service_healthy
19+
mongo:
20+
image: mongo:5.0.10
21+
container_name: mongo
22+
environment:
23+
MONGO_INITDB_ROOT_USERNAME: mongoAdmin
24+
MONGO_INITDB_ROOT_PASSWORD: mongoPassword
25+
restart: always
26+
healthcheck:
27+
test: mongo
28+
interval: 10s
29+
timeout: 5s
30+
retries: 5
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
services:
2+
submodel-repo:
3+
image: test/submodel-repository:$BASYX_VERSION
4+
container_name: test_submodel_repository
5+
environment:
6+
- SERVER_PORT=8081
7+
- SPRING_DATA_MONGODB_HOST=mongo
8+
- SPRING_DATA_MONGODB_DATABASE=smrepo
9+
- SPRING_DATA_MONGODB_AUTHENTICATION_DATABASE=admin
10+
- SPRING_DATA_MONGODB_USERNAME=mongoAdmin
11+
- SPRING_DATA_MONGODB_PASSWORD=mongoPassword
12+
- BASYX_BACKEND=MongoDB
13+
ports:
14+
- '8081:8081'
15+
restart: always
16+
depends_on:
17+
mongo:
18+
condition: service_healthy
19+
mongo:
20+
image: mongo:5.0.10
21+
container_name: mongo
22+
environment:
23+
MONGO_INITDB_ROOT_USERNAME: mongoAdmin
24+
MONGO_INITDB_ROOT_PASSWORD: mongoPassword
25+
restart: always
26+
healthcheck:
27+
test: mongo
28+
interval: 10s
29+
timeout: 5s
30+
retries: 5

0 commit comments

Comments
 (0)