Skip to content
This repository was archived by the owner on May 14, 2025. It is now read-only.

Commit fd5ec6c

Browse files
author
Corneil du Plessis
authored
[CI] fix issue with large Oracle container causing disk space issue by running DB2 and Oracle specific tests in separate parallel jobs. (#5891)
1 parent 891f982 commit fd5ec6c

File tree

5 files changed

+81
-2
lines changed

5 files changed

+81
-2
lines changed

.github/workflows/ci.yml

Lines changed: 67 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,72 @@ jobs:
105105
find ~/.m2/repository -type d -name '*SNAPSHOT' | xargs rm -fr
106106
outputs:
107107
version: ${{ env.spring_cloud_dataflow_version }}
108+
database-tests:
109+
build:
110+
if: github.repository_owner == 'spring-cloud'
111+
runs-on: ubuntu-latest
112+
matrix:
113+
db: [ 'ORACLE', 'DB2' ]
114+
steps:
115+
- uses: actions/checkout@v4
116+
- uses: actions/cache@v3
117+
with:
118+
path: ~/.m2/repository
119+
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
120+
restore-keys: |
121+
${{ runner.os }}-m2-${{ matrix.db }}
122+
- uses: actions/setup-java@v3
123+
with:
124+
java-version: '8'
125+
distribution: 'liberica'
126+
- uses: jvalkeal/setup-maven@v1
127+
with:
128+
maven-version: 3.8.8
129+
maven-mirror: 'https://dlcdn.apache.org/maven/maven-3/'
130+
# jfrog cli
131+
- name: Login dockerhub
132+
uses: docker/login-action@v3
133+
with:
134+
username: ${{ secrets.DOCKERHUB_USERNAME }}
135+
password: ${{ secrets.DOCKERHUB_TOKEN }}
136+
- name: Configure JFrog Cli
137+
run: |
138+
jfrog rt mvnc \
139+
--server-id-resolve=repo.spring.io \
140+
--server-id-deploy=repo.spring.io \
141+
--repo-resolve-releases=libs-milestone \
142+
--repo-resolve-snapshots=libs-snapshot \
143+
--repo-deploy-releases=libs-release-local \
144+
--repo-deploy-snapshots=libs-snapshot-local
145+
- uses: ./.github/actions/install-xmlutils
146+
- name: Test
147+
shell: bash
148+
timeout-minutes: 75
149+
run: |
150+
jfrog rt mvn clean install -s .settings.xml -DskipTests -am -pl :spring-cloud-dataflow-server,:spring-cloud-skipper-server
151+
export ENABLE_${{ matrix.db }}=true
152+
jfrog rt mvn test -s .settings.xml -am -pl :spring-cloud-dataflow-server,:spring-cloud-skipper-server -Dgroups=${{ matrix.db }}
153+
- name: Test Report
154+
uses: dorny/test-reporter@v1
155+
if: ${{ success() || failure() }}
156+
with:
157+
name: Unit Tests
158+
path: '**/surefire-reports/*.xml'
159+
reporter: java-junit
160+
list-tests: failed
161+
- name: Capture Test Results
162+
if: ${{ always() }}
163+
uses: actions/upload-artifact@v3
164+
with:
165+
name: test-results
166+
path: '**/target/surefire-reports/**/*.*'
167+
retention-days: 7
168+
if-no-files-found: ignore
169+
# clean m2 cache
170+
- name: Clean cache
171+
run: |
172+
find ~/.m2/repository -type d -name '*SNAPSHOT' | xargs rm -fr
173+
108174
images:
109175
name: Build and Publish Images
110176
needs:
@@ -137,7 +203,7 @@ jobs:
137203
run: echo "::info ::Scanned"
138204
done:
139205
runs-on: ubuntu-latest
140-
needs: [ scan, build, images ]
206+
needs: [ scan, build, images, database-tests ]
141207
steps:
142208
- name: 'Done'
143209
shell: bash

spring-cloud-dataflow-server/src/test/java/org/springframework/cloud/dataflow/integration/test/tasks/TaskExecutionQueryContainer.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -228,7 +228,8 @@ static class SqlServer_2022_TaskExecutionQueryIT extends AbstractLargeTaskExecut
228228
static class PostgreSQL_TaskExecutionQueryIT extends AbstractLargeTaskExecutionDatabaseIT
229229
implements PostgreSQL_14_ContainerSupport {
230230
}
231-
231+
@EnabledIfEnvironmentVariable(named = "ENABLE_ORACLE", matches = "true", disabledReason = "Container is too big")
232+
@Tag("ORACLE")
232233
static class Oracle_TaskExecutionQueryIT extends AbstractLargeTaskExecutionDatabaseIT
233234
implements Oracle_XE_18_ContainerSupport {
234235
}

spring-cloud-dataflow-server/src/test/java/org/springframework/cloud/dataflow/server/db/migration/Oracle_XE_18_SmokeTest.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,9 @@
1515
*/
1616
package org.springframework.cloud.dataflow.server.db.migration;
1717

18+
import org.junit.jupiter.api.Tag;
19+
import org.junit.jupiter.api.condition.EnabledIfEnvironmentVariable;
20+
1821
import org.springframework.cloud.dataflow.server.db.Oracle_XE_18_ContainerSupport;
1922

2023
/**
@@ -23,5 +26,7 @@
2326
* @author Corneil du Plessis
2427
* @author Chris Bono
2528
*/
29+
@EnabledIfEnvironmentVariable(named = "ENABLE_ORACLE", matches = "true", disabledReason = "Container is too big")
30+
@Tag("ORACLE")
2631
public class Oracle_XE_18_SmokeTest extends AbstractSmokeTest implements Oracle_XE_18_ContainerSupport {
2732
}

spring-cloud-dataflow-server/src/test/java/org/springframework/cloud/dataflow/server/db/support/DatabaseTypeTests.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,8 @@ class DB2DatabaseTypeSingleDbDatabaseTypeTests extends AbstractSingleDbDatabaseT
9292
}
9393

9494
@Nested
95+
@EnabledIfEnvironmentVariable(named = "ENABLE_ORACLE", matches = "true", disabledReason = "Container is too big")
96+
@Tag("ORACLE")
9597
class OracleDatabaseTypeSingleDbDatabaseTypeTests extends AbstractSingleDbDatabaseTypeTests implements Oracle_XE_18_ContainerSupport {
9698
}
9799

spring-cloud-skipper/spring-cloud-skipper-server/src/test/java/org/springframework/cloud/skipper/server/db/migration/Oracle_XE_18_SkipperSmokeTest.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,9 @@
1515
*/
1616
package org.springframework.cloud.skipper.server.db.migration;
1717

18+
import org.junit.jupiter.api.Tag;
19+
import org.junit.jupiter.api.condition.EnabledIfEnvironmentVariable;
20+
1821
import org.springframework.cloud.dataflow.server.db.Oracle_XE_18_ContainerSupport;
1922

2023
/**
@@ -23,5 +26,7 @@
2326
* @author Corneil du Plessis
2427
* @author Chris Bono
2528
*/
29+
@EnabledIfEnvironmentVariable(named = "ENABLE_ORACLE", matches = "true", disabledReason = "Container is too big")
30+
@Tag("ORACLE")
2631
public class Oracle_XE_18_SkipperSmokeTest extends AbstractSkipperSmokeTest implements Oracle_XE_18_ContainerSupport {
2732
}

0 commit comments

Comments
 (0)