Skip to content

Commit b9acc79

Browse files
committed
Split up bc and pr upgrade tests
1 parent 9e19b85 commit b9acc79

File tree

3 files changed

+84
-112
lines changed

3 files changed

+84
-112
lines changed

.buildkite/scripts/run-bc-upgrade-tests.sh

Lines changed: 27 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -56,20 +56,31 @@ echo "Running BC upgrade tests on $BUILDKITE_BRANCH [$BC_VERSION] using BC (or s
5656

5757
cat <<EOF | buildkite-agent pipeline upload
5858
steps:
59-
- label: bc-upgrade $BC_BUILD_ID -> $BUILDKITE_BRANCH
60-
command: .ci/scripts/run-gradle.sh -Dbwc.checkout.align=true -Dorg.elasticsearch.build.cache.push=true -Dignore.tests.seed -Dscan.capture-file-fingerprints -Dtests.bwc.main.version=${BC_VERSION} -Dtests.bwc.refspec.main=${BC_COMMIT_HASH} bcUpgradeTest -Dtests.jvm.argline="-Des.serverless_transport=true"
61-
timeout_in_minutes: 300
62-
agents:
63-
provider: gcp
64-
image: family/elasticsearch-ubuntu-2004
65-
machineType: n1-standard-32
66-
buildDirectory: /dev/shm/bk
67-
preemptible: true
68-
retry:
69-
automatic:
70-
- exit_status: "-1"
71-
limit: 3
72-
signal_reason: none
73-
- signal_reason: agent_stop
74-
limit: 3
59+
- group: "bc-upgrade $BC_BUILD_ID -> $BUILDKITE_BRANCH"
60+
steps:
61+
- label: "bc-upgrade-tests-part{{matrix.part}}"
62+
command: .ci/scripts/run-gradle.sh -Dbwc.checkout.align=true -Dorg.elasticsearch.build.cache.push=true -Dignore.tests.seed -Dscan.capture-file-fingerprints -Dtests.bwc.main.version=${BC_VERSION} -Dtests.bwc.refspec.main=${BC_COMMIT_HASH} bcUpgradeTestPart{{matrix.part}} -Dtests.jvm.argline="-Des.serverless_transport=true"
63+
timeout_in_minutes: 300
64+
agents:
65+
provider: gcp
66+
image: family/elasticsearch-ubuntu-2004
67+
machineType: n1-standard-32
68+
buildDirectory: /dev/shm/bk
69+
preemptible: true
70+
retry:
71+
automatic:
72+
- exit_status: "-1"
73+
limit: 3
74+
signal_reason: none
75+
- signal_reason: agent_stop
76+
limit: 3
77+
matrix:
78+
setup: matrix
79+
variations:
80+
- part: 1
81+
- part: 2
82+
- part: 3
83+
- part: 4
84+
- part: 5
85+
- part: 6
7586
EOF

.buildkite/scripts/run-pr-upgrade-tests.sh

Lines changed: 27 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -26,20 +26,31 @@ echo "Running PR upgrade tests from $BUILDKITE_PULL_REQUEST_BASE_BRANCH [$BASE_C
2626

2727
cat <<EOF | buildkite-agent pipeline upload
2828
steps:
29-
- label: pr-upgrade $BUILDKITE_PULL_REQUEST_BASE_BRANCH -> $BUILDKITE_BRANCH
30-
command: .ci/scripts/run-gradle.sh -Dbwc.checkout.align=true -Dorg.elasticsearch.build.cache.push=true -Dignore.tests.seed -Dscan.capture-file-fingerprints -Dtests.bwc.main.version=${VERSION}-SNAPSHOT -Dtests.bwc.refspec.main=${BASE_COMMIT} bcUpgradeTest -Dtests.jvm.argline="-Des.serverless_transport=true"
31-
timeout_in_minutes: 300
32-
agents:
33-
provider: gcp
34-
image: family/elasticsearch-ubuntu-2004
35-
machineType: n1-standard-32
36-
buildDirectory: /dev/shm/bk
37-
preemptible: true
38-
retry:
39-
automatic:
40-
- exit_status: "-1"
41-
limit: 3
42-
signal_reason: none
43-
- signal_reason: agent_stop
44-
limit: 3
29+
- group: "pr-upgrade $BC_BUILD_ID -> $BUILDKITE_BRANCH"
30+
steps:
31+
- label: "pr-upgrade-part-{{matrix.part}}"
32+
command: .ci/scripts/run-gradle.sh -Dbwc.checkout.align=true -Dorg.elasticsearch.build.cache.push=true -Dignore.tests.seed -Dscan.capture-file-fingerprints -Dtests.bwc.main.version=${VERSION}-SNAPSHOT -Dtests.bwc.refspec.main=${BASE_COMMIT} bcUpgradeTestPart{{matrix.part}} -Dtests.jvm.argline="-Des.serverless_transport=true"
33+
timeout_in_minutes: 300
34+
agents:
35+
provider: gcp
36+
image: family/elasticsearch-ubuntu-2004
37+
machineType: n1-standard-32
38+
buildDirectory: /dev/shm/bk
39+
preemptible: true
40+
retry:
41+
automatic:
42+
- exit_status: "-1"
43+
limit: 3
44+
signal_reason: none
45+
- signal_reason: agent_stop
46+
limit: 3
47+
matrix:
48+
setup: matrix
49+
variations:
50+
- part: 1
51+
- part: 2
52+
- part: 3
53+
- part: 4
54+
- part: 5
55+
- part: 6
4556
EOF

build.gradle

Lines changed: 30 additions & 80 deletions
Original file line numberDiff line numberDiff line change
@@ -351,95 +351,45 @@ allprojects {
351351
}
352352
}
353353

354+
def splitForCI = { proj, partString ->
355+
proj.tasks.register("check$partString") {
356+
dependsOn 'check'
357+
withReleaseBuild {
358+
dependsOn 'assemble'
359+
}
360+
}
361+
362+
proj.tasks.addRule("Pattern: v<BWC_VERSION>#bwcTest$partString") { name ->
363+
if(name.endsWith("#bwcTest$partString")) {
364+
proj.project.getTasks().register(name) {
365+
task -> task.dependsOn(proj.tasks.named { tskName -> tskName == (name - partString) })
366+
}
367+
}
368+
}
369+
370+
proj.tasks.register("bcUpgradeTest$partString") {
371+
dependsOn 'bcUpgradeTest'
372+
withReleaseBuild {
373+
dependsOn 'assemble'
374+
}
375+
}
376+
}
377+
354378
plugins.withId('lifecycle-base') {
355379
if (project.path.startsWith(":x-pack:")) {
356380
if (project.path.contains("security") || project.path.contains(":ml")) {
357-
tasks.register('checkPart4') {
358-
dependsOn 'check'
359-
withReleaseBuild {
360-
dependsOn 'assemble'
361-
}
362-
}
363-
364-
tasks.addRule("Pattern: v<BWC_VERSION>#bwcTestPart4") { name ->
365-
if(name.endsWith("#bwcTestPart4")) {
366-
project.getTasks().register(name) {
367-
task -> task.dependsOn(tasks.named { tskName -> tskName == (name - "Part4") })
368-
}
369-
}
370-
}
381+
splitForCI(project, "Part4")
371382
} else if (project.path == ":x-pack:plugin" || project.path.contains("ql") || project.path.contains("smoke-test")) {
372-
tasks.register('checkPart3') {
373-
dependsOn 'check'
374-
withReleaseBuild {
375-
dependsOn 'assemble'
376-
}
377-
}
378-
379-
tasks.addRule("Pattern: v<BWC_VERSION>#bwcTestPart3") { name ->
380-
if(name.endsWith("#bwcTestPart3")) {
381-
project.getTasks().register(name) {
382-
task -> task.dependsOn(tasks.named { tskName -> tskName == (name - "Part3") })
383-
}
384-
}
385-
}
383+
splitForCI(project, "Part3")
386384
} else if (project.path.contains("multi-node")) {
387-
tasks.register('checkPart5') {
388-
dependsOn 'check'
389-
withReleaseBuild {
390-
dependsOn 'assemble'
391-
}
392-
}
393-
tasks.addRule("Pattern: v<BWC_VERSION>#bwcTestPart5") { name ->
394-
if(name.endsWith("#bwcTestPart5")) {
395-
project.getTasks().register(name) {
396-
task -> task.dependsOn(tasks.named { tskName -> tskName == (name - "Part5") })
397-
}
398-
}
399-
}
385+
splitForCI(project, "Part5")
400386
} else {
401-
tasks.register('checkPart2') {
402-
dependsOn 'check'
403-
withReleaseBuild {
404-
dependsOn 'assemble'
405-
}
406-
}
407-
tasks.addRule("Pattern: v<BWC_VERSION>#bwcTestPart2") { name ->
408-
if(name.endsWith("#bwcTestPart2")) {
409-
project.getTasks().register(name) {
410-
task -> task.dependsOn(tasks.named { tskName -> tskName == (name - "Part2") })
411-
}
412-
}
413-
}
387+
splitForCI(project, "Part2")
414388
}
415389
} else if(project.path.startsWith(":qa:")) {
416-
tasks.register('checkPart6') {
417-
dependsOn 'check'
418-
withReleaseBuild {
419-
dependsOn 'assemble'
420-
}
421-
}
422-
tasks.addRule("Pattern: v<BWC_VERSION>#bwcTestPart6") { name ->
423-
if(name.endsWith("#bwcTestPart6")) {
424-
project.getTasks().register(name) {
425-
task -> task.dependsOn(tasks.named { tskName -> tskName == (name - "Part6") })
426-
}
427-
}
428-
}
390+
splitForCI(project, "Part6")
429391
} else {
430-
tasks.register('checkPart1') {
431-
dependsOn 'check'
432-
withReleaseBuild {
433-
dependsOn 'assemble'
434-
}
435-
}
436-
tasks.addRule("Pattern: v<BWC_VERSION>#bwcTestPart1") { name ->
437-
if(name.endsWith("#bwcTestPart1")) {
438-
project.getTasks().register(name) {
439-
task -> task.dependsOn(tasks.named { tskName -> tskName == (name - "Part1") })
440-
}
441-
}
442-
}
392+
splitForCI(project, "Part1")
443393
}
444394
tasks.register('functionalTests') {
445395
dependsOn 'check'

0 commit comments

Comments
 (0)