From e3155ed9777e49d7f95f33aac33cd451aa8fd7b1 Mon Sep 17 00:00:00 2001 From: Lauri Tulmin Date: Wed, 24 Mar 2021 08:31:12 +0200 Subject: [PATCH] Run smoketests in parallel (#2622) --- .github/workflows/pr.yaml | 8 ++++++-- smoke-tests/smoke-tests.gradle | 19 +++++++++++++++++++ 2 files changed, 25 insertions(+), 2 deletions(-) diff --git a/.github/workflows/pr.yaml b/.github/workflows/pr.yaml index c0205d0c25..d6b50888d0 100644 --- a/.github/workflows/pr.yaml +++ b/.github/workflows/pr.yaml @@ -97,6 +97,10 @@ jobs: smoke-test: runs-on: ubuntu-latest + strategy: + matrix: + suite: ["glassfishAndJetty", "libertyAndTomcat", "tomeeAndWildfly", "other"] + fail-fast: false steps: - uses: actions/checkout@v2 with: @@ -113,7 +117,7 @@ jobs: job-id: smokeTests - name: Test - run: ./gradlew :smoke-tests:test + run: ./gradlew :smoke-tests:test -PsmokeTestSuite=${{ matrix.suite }} setup-muzzle-matrix: runs-on: ubuntu-latest @@ -144,7 +148,7 @@ jobs: uses: actions/setup-java@v1 with: java-version: 11 - - name: Run muzzle + - name: Run muzzle run: ./gradlew ${{ matrix.module }}:muzzle --no-daemon accept-pr: diff --git a/smoke-tests/smoke-tests.gradle b/smoke-tests/smoke-tests.gradle index 7cc6b36901..1a9a60cc78 100644 --- a/smoke-tests/smoke-tests.gradle +++ b/smoke-tests/smoke-tests.gradle @@ -38,6 +38,25 @@ test { //In addition to that we disable them by default on local machines enabled = enabled && (System.getenv("CI") != null || findProperty('runSmokeTests')) + def suites = [ + "glassfishAndJetty": ["**/GlassFishSmokeTest.*", "**/JettySmokeTest.*"], + "libertyAndTomcat": ["**/LibertySmokeTest.*", "**/LibertyServletOnlySmokeTest.*", "**/TomcatSmokeTest.*"], + "tomeeAndWildfly": ["**/TomeeSmokeTest.*", "**/WildflySmokeTest.*"] + ] + + def suite = findProperty('smokeTestSuite') + if (suite != null) { + if ('other' == suite) { + suites.values().each { + exclude it + } + } else if (suites.containsKey(suite)) { + include suites.get(suite) + } else { + throw new GradleException('Unknown smoke test suite: ' + suite) + } + } + doFirst { jvmArgs "-Dio.opentelemetry.smoketest.agent.shadowJar.path=${project(':javaagent').tasks.shadowJar.archivePath}" }