Run smoketests in parallel
MODIFY
.github/workflows/pr.yaml
.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

MODIFY
smoke-tests/smoke-tests.gradle
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}"
}

Run smoketests in parallel (#2622)