name: MemShell IntegrationTest on: workflow_dispatch: push: branches: - '**' paths: - './github/workflows/memshell-integration-test.yml' - '**/memshell/**' - '**/packer/**' concurrency: group: ${{ github.workflow }}-${{ github.ref }}-${{ github.event_name }} cancel-in-progress: true jobs: memshell-integration-test: strategy: fail-fast: false matrix: 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 :vul:vul-webapp-jakarta: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: "springwebmvc" 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 :vul:vul-springboot359:bootJar" - middleware: "springwebflux" depend_tasks: ":vul:vul-springboot2-webflux:bootJar :vul:vul-springboot3-webflux:bootJar" - middleware: "xxljob" depend_tasks: "" - middleware: "struts2" depend_tasks: ":vul:vul-struts2:war" - middleware: "jenkins" depend_tasks: "" runs-on: ubuntu-22.04 name: ${{ matrix.cases.middleware }} steps: - name: Checkout uses: actions/checkout@v6 - name: Setup Java uses: actions/setup-java@v5 with: distribution: 'temurin' java-version: 17 - name: Setup Gradle uses: gradle/actions/setup-gradle@v6 - name: Prepare for Integration Test run: ./gradlew ${{ matrix.cases.depend_tasks }} - name: Integration Test with gradle run: ./gradlew :integration-test:test --tests '*.memshell.${{ matrix.cases.middleware }}.*' --info - name: Export Integration Test Summary uses: mikepenz/action-junit-report@v5 if: success() || failure() with: report_paths: '**/build/test-results/test/TEST-*.xml'