Package testing on average takes slightly over an hour. In error cases where tests retry or a process hangs, it makes sense to keep this timeout closer to the testing time. Ref: https://kibana-ci.elastic.co/job/elastic+kibana+package-testing/ Co-authored-by: Jonathan Budzenski <jon@budzenski.me>
30 lines
1 KiB
Groovy
30 lines
1 KiB
Groovy
#!/bin/groovy
|
|
library 'kibana-pipeline-library'
|
|
kibanaLibrary.load()
|
|
kibanaPipeline(timeoutMinutes: 120) {
|
|
slackNotifications.onFailure {
|
|
ciStats.trackBuild {
|
|
workers.ci(ramDisk: false, name: "package-build", size: 'l', runErrorReporter: false) {
|
|
withGcpServiceAccount.fromVaultSecret('secret/kibana-issues/dev/ci-artifacts-key', 'value') {
|
|
kibanaPipeline.bash("test/scripts/jenkins_xpack_package_build.sh", "Package builds")
|
|
}
|
|
}
|
|
def packageTypes = ['deb', 'docker', 'rpm']
|
|
def workers = [:]
|
|
packageTypes.each { type ->
|
|
workers["package-${type}"] = {
|
|
testPackage(type)
|
|
}
|
|
}
|
|
parallel(workers)
|
|
}
|
|
}
|
|
}
|
|
def testPackage(packageType) {
|
|
workers.ci(ramDisk: false, name: "package-${packageType}", size: 's', runErrorReporter: false) {
|
|
withGcpServiceAccount.fromVaultSecret('secret/kibana-issues/dev/ci-artifacts-key', 'value') {
|
|
kibanaPipeline.bash("test/scripts/jenkins_xpack_package_${packageType}.sh", "Execute package testing for ${packageType}")
|
|
}
|
|
}
|
|
}
|