From 75979242fb32facea0a32db7b20c3ef2e17c1a8c Mon Sep 17 00:00:00 2001 From: ReaJason Date: Wed, 23 Apr 2025 00:41:10 +0800 Subject: [PATCH] ci: speed up integration test --- .github/workflows/test.yaml | 52 +++++++++++++++++++++++------------ integration-test/build.gradle | 28 +++++++++---------- 2 files changed, 49 insertions(+), 31 deletions(-) diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index 6f89282d..aff965fd 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -42,23 +42,37 @@ jobs: strategy: fail-fast: false matrix: - middleware: - - tomcat - - jetty - - jbossas - - jbosseap - - wildfly - - glassfish - - resin - - payara - - websphere - - websphere7 - - springmvc - - weblogic - - springwebflux - - xxljob + cases: + - middleware: "tomcat" + depend_tasks: ":vul:vul-webapp:war :vul:vul-webapp-expression:war :vul:vul-webapp-deserialize:war :vul:vul-webapp-jakarta:war" + - middleware: "jetty" + depend_tasks: ":vul:vul-webapp:war :vul:vul-webapp-jakarta:war" + - middleware: "jbossas" + depend_tasks: ":vul:vul-webapp:war" + - middleware: "jbosseap" + depend_tasks: ":vul:vul-webapp:war" + - middleware: "wildfly" + depend_tasks: ":vul:vul-webapp:war :vul:vul-webapp-jakarta:war" + - middleware: "glassfish" + depend_tasks: ":vul:vul-webapp:war :vul:vul-webapp-jakarta:war" + - middleware: "resin" + depend_tasks: ":vul:vul-webapp:war" + - middleware: "payara" + depend_tasks: ":vul:vul-webapp:war :vul:vul-webapp-jakarta:war" + - middleware: "websphere" + depend_tasks: ":vul:vul-webapp:war" + - middleware: "websphere7" + depend_tasks: ":vul:vul-webapp:war" + - middleware: "weblogic" + depend_tasks: ":vul:vul-webapp:war" + - middleware: "springmvc" + depend_tasks: ":vul:vul-springboot1:bootJar :vul:vul-springboot2:bootJar :vul:vul-springboot2-jetty:bootJar :vul:vul-springboot2-undertow:bootJar :vul:vul-springboot2:bootWar :vul:vul-springboot3:bootJar" + - middleware: "springwebflux" + depend_tasks: ":vul:vul-springboot2-webflux:bootJar :vul:vul-springboot3-webflux:bootJar" + - middleware: "xxljob" + depend_tasks: "" runs-on: ubuntu-latest - name: ${{ matrix.middleware }} + name: ${{ matrix.cases.middleware }} needs: [ unit-test ] steps: - name: Checkout @@ -73,7 +87,11 @@ jobs: - name: Setup Gradle uses: gradle/actions/setup-gradle@v4 + - name: Prepare for Integration Test + run: ./gradlew ${{ matrix.cases.depend_tasks }} + - name: Integration Test with gradle - run: ./gradlew :integration-test:test --tests '*.${{ matrix.middleware }}.*' --info + run: ./gradlew :integration-test:test --tests '*.${{ matrix.cases.middleware }}.*' --info + - name: Export Integration Test Summary run: cat integration-test/build/test-results/report.md >> $GITHUB_STEP_SUMMARY \ No newline at end of file diff --git a/integration-test/build.gradle b/integration-test/build.gradle index c487689f..cdc175bc 100644 --- a/integration-test/build.gradle +++ b/integration-test/build.gradle @@ -51,20 +51,20 @@ idea { } test { - dependsOn( - ":vul:vul-webapp:war", - ":vul:vul-webapp-expression:war", - ":vul:vul-webapp-deserialize:war", - ":vul:vul-webapp-jakarta:war", - ":vul:vul-springboot1:bootJar", - ":vul:vul-springboot2:bootJar", - ":vul:vul-springboot2-jetty:bootJar", - ":vul:vul-springboot2-undertow:bootJar", - ":vul:vul-springboot2:bootWar", - ":vul:vul-springboot2-webflux:bootJar", - ":vul:vul-springboot3:bootJar", - ":vul:vul-springboot3-webflux:bootJar", - ) +// dependsOn( +// ":vul:vul-webapp:war", +// ":vul:vul-webapp-expression:war", +// ":vul:vul-webapp-deserialize:war", +// ":vul:vul-webapp-jakarta:war", +// ":vul:vul-springboot1:bootJar", +// ":vul:vul-springboot2:bootJar", +// ":vul:vul-springboot2-jetty:bootJar", +// ":vul:vul-springboot2-undertow:bootJar", +// ":vul:vul-springboot2:bootWar", +// ":vul:vul-springboot2-webflux:bootJar", +// ":vul:vul-springboot3:bootJar", +// ":vul:vul-springboot3-webflux:bootJar", +// ) useJUnitPlatform() finalizedBy jacocoTestReport } \ No newline at end of file