Skip to content

Commit 1910219

Browse files
Reduce smoke-test time by parallel jobs (#307)
* parallel smoke-tests * gradle changes
1 parent e3e1ba9 commit 1910219

File tree

3 files changed

+31
-2
lines changed

3 files changed

+31
-2
lines changed

.github/workflows/smoke-test.yml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,10 @@ on:
1111
jobs:
1212
smoke-test:
1313
runs-on: ubuntu-20.04
14+
strategy:
15+
matrix:
16+
suite: [ "glassfish", "jetty", "liberty", "tomcat", "tomee", "wildfly", "other" ]
17+
fail-fast: true
1418
steps:
1519
# Set fetch-depth: 0 to fetch commit history and tags for use in version calculation
1620
- name: Check out code
@@ -33,7 +37,7 @@ jobs:
3337
gradle-packages-${{ runner.os }}
3438
3539
- name: smoke-test
36-
run: make smoke-test
40+
run: make smoke-test SMOKE_TEST_SUITE=${{ matrix.suite }}
3741
env:
3842
JVM_OPTS: -Xmx1g
3943
TERM: dumb

Makefile

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
DOCKER_IMAGE ?= hypertrace/javaagent
22
DOCKER_TAG ?= latest
3+
SMOKE_TEST_SUITE ?= other
34

45
.PHONY: assemble
56
assemble:
@@ -11,7 +12,7 @@ build:
1112

1213
.PHONY: smoke-test
1314
smoke-test:
14-
./gradlew :smoke-tests:test --stacktrace
15+
./gradlew :smoke-tests:test -PsmokeTestSuite=${SMOKE_TEST_SUITE} --stacktrace
1516

1617
.PHONY: muzzle
1718
muzzle:

smoke-tests/build.gradle.kts

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,30 @@ tasks.test {
3232
}
3333

3434
maxParallelForks = 2
35+
36+
var suites : HashMap<String, String>
37+
= HashMap()
38+
suites.put("glassfish", "**/GlassFishSmokeTest.*")
39+
suites.put("jetty", "**/JettySmokeTest.*")
40+
suites.put("liberty", "**/LibertySmokeTest.*")
41+
suites.put("tomcat", "**/TomcatSmokeTest.*")
42+
suites.put("tomee" , "**/TomeeSmokeTest.*")
43+
suites.put("wildfly", "**/WildflySmokeTest.*")
44+
45+
val suite = findProperty("smokeTestSuite")
46+
47+
if (suite != null) {
48+
if ("other" == suite) {
49+
for ((key, value) in suites) {
50+
exclude(value)
51+
}
52+
} else if (suites.containsKey(suite)) {
53+
include(suites.get(suite))
54+
} else {
55+
throw GradleException("Unknown smoke test suite: " + suite)
56+
}
57+
}
58+
3559
val shadowTask : Jar = project(":javaagent").tasks.named<Jar>("shadowJar").get()
3660
inputs.files(layout.files(shadowTask))
3761

0 commit comments

Comments
 (0)