mirror of https://github.com/apache/cassandra
Merge branch 'cassandra-3.0' into cassandra-3.11
This commit is contained in:
commit
0310a7e42e
|
|
@ -26,314 +26,244 @@
|
|||
pipeline {
|
||||
agent { label 'cassandra' }
|
||||
stages {
|
||||
stage('Init') {
|
||||
stage('Init') {
|
||||
steps {
|
||||
cleanWs()
|
||||
}
|
||||
}
|
||||
stage('Build') {
|
||||
}
|
||||
stage('Build') {
|
||||
steps {
|
||||
build job: "${env.JOB_NAME}-artifacts"
|
||||
}
|
||||
}
|
||||
stage('Test') {
|
||||
parallel {
|
||||
stage('stress') {
|
||||
steps {
|
||||
build job: "${env.JOB_NAME}-stress-test"
|
||||
}
|
||||
post {
|
||||
success {
|
||||
warnError('missing test xml files') {
|
||||
script {
|
||||
copyTestResults('stress-test')
|
||||
}
|
||||
}
|
||||
}
|
||||
stage('Test') {
|
||||
parallel {
|
||||
stage('stress') {
|
||||
steps {
|
||||
script {
|
||||
stress = build job: "${env.JOB_NAME}-stress-test", propagate: false
|
||||
if (stress.result != 'SUCCESS') unstable('stress test failures')
|
||||
}
|
||||
unstable {
|
||||
warnError('missing test xml files') {
|
||||
script {
|
||||
copyTestResults('stress-test')
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
stage('JVM DTests') {
|
||||
steps {
|
||||
warnError('Tests unstable') {
|
||||
build job: "${env.JOB_NAME}-jvm-dtest"
|
||||
post {
|
||||
always {
|
||||
warnError('missing test xml files') {
|
||||
script {
|
||||
copyTestResults('stress-test', stress.getNumber())
|
||||
}
|
||||
}
|
||||
}
|
||||
post {
|
||||
success {
|
||||
warnError('missing test xml files') {
|
||||
script {
|
||||
copyTestResults('jvm-dtest')
|
||||
}
|
||||
}
|
||||
}
|
||||
unstable {
|
||||
warnError('missing test xml files') {
|
||||
script {
|
||||
copyTestResults('jvm-dtest')
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
stage('JVM DTests') {
|
||||
steps {
|
||||
script {
|
||||
jvm_dtest = build job: "${env.JOB_NAME}-jvm-dtest", propagate: false
|
||||
if (jvm_dtest.result != 'SUCCESS') unstable('jvm-dtest failures')
|
||||
}
|
||||
}
|
||||
stage('units') {
|
||||
steps {
|
||||
warnError('Tests unstable') {
|
||||
build job: "${env.JOB_NAME}-test"
|
||||
post {
|
||||
always {
|
||||
warnError('missing test xml files') {
|
||||
script {
|
||||
copyTestResults('jvm-dtest', jvm_dtest.getNumber())
|
||||
}
|
||||
}
|
||||
}
|
||||
post {
|
||||
success {
|
||||
warnError('missing test xml files') {
|
||||
script {
|
||||
copyTestResults('test')
|
||||
}
|
||||
}
|
||||
}
|
||||
unstable {
|
||||
warnError('missing test xml files') {
|
||||
script {
|
||||
copyTestResults('test')
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
stage('long units') {
|
||||
steps {
|
||||
warnError('Tests unstable') {
|
||||
build job: "${env.JOB_NAME}-long-test"
|
||||
}
|
||||
}
|
||||
post {
|
||||
success {
|
||||
warnError('missing test xml files') {
|
||||
script {
|
||||
copyTestResults('long-test')
|
||||
}
|
||||
}
|
||||
}
|
||||
unstable {
|
||||
warnError('missing test xml files') {
|
||||
script {
|
||||
copyTestResults('long-test')
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
stage('units') {
|
||||
steps {
|
||||
script {
|
||||
test = build job: "${env.JOB_NAME}-test", propagate: false
|
||||
if (test.result != 'SUCCESS') unstable('unit test failures')
|
||||
}
|
||||
}
|
||||
stage('burn') {
|
||||
steps {
|
||||
warnError('Tests unstable') {
|
||||
build job: "${env.JOB_NAME}-test-burn"
|
||||
post {
|
||||
always {
|
||||
warnError('missing test xml files') {
|
||||
script {
|
||||
copyTestResults('test', test.getNumber())
|
||||
}
|
||||
}
|
||||
}
|
||||
post {
|
||||
success {
|
||||
warnError('missing test xml files') {
|
||||
script {
|
||||
copyTestResults('test-burn')
|
||||
}
|
||||
}
|
||||
}
|
||||
unstable {
|
||||
warnError('missing test xml files') {
|
||||
script {
|
||||
copyTestResults('test-burn')
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
stage('cdc') {
|
||||
steps {
|
||||
warnError('Tests unstable') {
|
||||
build job: "${env.JOB_NAME}-test-cdc"
|
||||
}
|
||||
}
|
||||
post {
|
||||
success {
|
||||
warnError('missing test xml files') {
|
||||
script {
|
||||
copyTestResults('test-cdc')
|
||||
}
|
||||
}
|
||||
}
|
||||
unstable {
|
||||
warnError('missing test xml files') {
|
||||
script {
|
||||
copyTestResults('test-cdc')
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
stage('long units') {
|
||||
steps {
|
||||
script {
|
||||
long_test = build job: "${env.JOB_NAME}-long-test", propagate: false
|
||||
if (long_test.result != 'SUCCESS') unstable('long unit test failures')
|
||||
}
|
||||
}
|
||||
stage('compression') {
|
||||
steps {
|
||||
warnError('Tests unstable') {
|
||||
build job: "${env.JOB_NAME}-test-compression"
|
||||
post {
|
||||
always {
|
||||
warnError('missing test xml files') {
|
||||
script {
|
||||
copyTestResults('long-test', long_test.getNumber())
|
||||
}
|
||||
}
|
||||
}
|
||||
post {
|
||||
success {
|
||||
warnError('missing test xml files') {
|
||||
script {
|
||||
copyTestResults('test-compression')
|
||||
}
|
||||
}
|
||||
}
|
||||
unstable {
|
||||
warnError('missing test xml files') {
|
||||
script {
|
||||
copyTestResults('test-compression')
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
stage('cqlsh') {
|
||||
steps {
|
||||
warnError('Tests unstable') {
|
||||
build job: "${env.JOB_NAME}-cqlsh-tests"
|
||||
}
|
||||
stage('burn') {
|
||||
steps {
|
||||
script {
|
||||
burn = build job: "${env.JOB_NAME}-test-burn", propagate: false
|
||||
if (burn.result != 'SUCCESS') unstable('burn test failures')
|
||||
}
|
||||
}
|
||||
post {
|
||||
always {
|
||||
warnError('missing test xml files') {
|
||||
script {
|
||||
copyTestResults('test-burn', burn.getNumber())
|
||||
}
|
||||
}
|
||||
}
|
||||
post {
|
||||
success {
|
||||
warnError('missing test xml files') {
|
||||
script {
|
||||
copyTestResults('cqlsh-test')
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
stage('cdc') {
|
||||
steps {
|
||||
script {
|
||||
cdc = build job: "${env.JOB_NAME}-test-cdc", propagate: false
|
||||
if (cdc.result != 'SUCCESS') unstable('cdc failures')
|
||||
}
|
||||
}
|
||||
post {
|
||||
always {
|
||||
warnError('missing test xml files') {
|
||||
script {
|
||||
copyTestResults('test-cdc', cdc.getNumber())
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
stage('compression') {
|
||||
steps {
|
||||
script {
|
||||
compression = build job: "${env.JOB_NAME}-test-compression", propagate: false
|
||||
if (compression.result != 'SUCCESS') unstable('compression failures')
|
||||
}
|
||||
}
|
||||
post {
|
||||
always {
|
||||
warnError('missing test xml files') {
|
||||
script {
|
||||
copyTestResults('test-compression', compression.getNumber())
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
stage('cqlsh') {
|
||||
steps {
|
||||
script {
|
||||
cqlsh = build job: "${env.JOB_NAME}-cqlsh-tests", propagate: false
|
||||
if (cqlsh.result != 'SUCCESS') unstable('cqlsh failures')
|
||||
}
|
||||
unstable {
|
||||
warnError('missing test xml files') {
|
||||
script {
|
||||
copyTestResults('cqlsh-test')
|
||||
}
|
||||
}
|
||||
post {
|
||||
always {
|
||||
warnError('missing test xml files') {
|
||||
script {
|
||||
copyTestResults('cqlsh-tests', cqlsh.getNumber())
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
stage('Distributed Test') {
|
||||
parallel {
|
||||
stage('dtest') {
|
||||
steps {
|
||||
script {
|
||||
dtest = build job: "${env.JOB_NAME}-dtest", propagate: false
|
||||
if (dtest.result != 'SUCCESS') unstable('dtest failures')
|
||||
}
|
||||
}
|
||||
post {
|
||||
always {
|
||||
warnError('missing test xml files') {
|
||||
script {
|
||||
copyTestResults('dtest', dtest.getNumber())
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
stage('dtest-large') {
|
||||
steps {
|
||||
script {
|
||||
dtest_large = build job: "${env.JOB_NAME}-dtest-large", propagate: false
|
||||
if (dtest_large.result != 'SUCCESS') unstable('dtest-large failures')
|
||||
}
|
||||
}
|
||||
post {
|
||||
always {
|
||||
warnError('missing test xml files') {
|
||||
script {
|
||||
copyTestResults('dtest-large', dtest_large.getNumber())
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
stage('Distributed Test') {
|
||||
parallel {
|
||||
stage('dtest') {
|
||||
steps {
|
||||
warnError('Tests unstable') {
|
||||
build job: "${env.JOB_NAME}-dtest"
|
||||
}
|
||||
stage('dtest-novnode') {
|
||||
steps {
|
||||
script {
|
||||
dtest_novnode = build job: "${env.JOB_NAME}-dtest-novnode", propagate: false
|
||||
if (dtest_novnode.result != 'SUCCESS') unstable('dtest-novnode failures')
|
||||
}
|
||||
post {
|
||||
success {
|
||||
warnError('missing test xml files') {
|
||||
script {
|
||||
copyTestResults('dtest')
|
||||
}
|
||||
}
|
||||
}
|
||||
unstable {
|
||||
warnError('missing test xml files') {
|
||||
script {
|
||||
copyTestResults('dtest')
|
||||
}
|
||||
}
|
||||
post {
|
||||
always {
|
||||
warnError('missing test xml files') {
|
||||
script {
|
||||
copyTestResults('dtest-novnode', dtest_novnode.getNumber())
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
stage('dtest-large') {
|
||||
steps {
|
||||
warnError('Tests unstable') {
|
||||
build job: "${env.JOB_NAME}-dtest-large"
|
||||
}
|
||||
}
|
||||
post {
|
||||
success {
|
||||
warnError('missing test xml files') {
|
||||
script {
|
||||
copyTestResults('dtest-large')
|
||||
}
|
||||
}
|
||||
}
|
||||
unstable {
|
||||
warnError('missing test xml files') {
|
||||
script {
|
||||
copyTestResults('dtest-large')
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
stage('dtest-offheap') {
|
||||
steps {
|
||||
script {
|
||||
dtest_offheap = build job: "${env.JOB_NAME}-dtest-offheap", propagate: false
|
||||
if (dtest_offheap.result != 'SUCCESS') unstable('dtest-offheap failures')
|
||||
}
|
||||
}
|
||||
stage('dtest-novnode') {
|
||||
steps {
|
||||
warnError('Tests unstable') {
|
||||
build job: "${env.JOB_NAME}-dtest-novnode"
|
||||
}
|
||||
}
|
||||
post {
|
||||
success {
|
||||
warnError('missing test xml files') {
|
||||
script {
|
||||
copyTestResults('dtest-novnode')
|
||||
}
|
||||
}
|
||||
}
|
||||
unstable {
|
||||
warnError('missing test xml files') {
|
||||
script {
|
||||
copyTestResults('dtest-novnode')
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
stage('dtest-offheap') {
|
||||
steps {
|
||||
warnError('Tests unstable') {
|
||||
build job: "${env.JOB_NAME}-dtest-offheap"
|
||||
}
|
||||
}
|
||||
post {
|
||||
success {
|
||||
warnError('missing test xml files') {
|
||||
script {
|
||||
copyTestResults('dtest-offheap')
|
||||
}
|
||||
}
|
||||
}
|
||||
unstable {
|
||||
warnError('missing test xml files') {
|
||||
script {
|
||||
copyTestResults('dtest-offheap')
|
||||
}
|
||||
post {
|
||||
always {
|
||||
warnError('missing test xml files') {
|
||||
script {
|
||||
copyTestResults('dtest-offheap', dtest_offheap.getNumber())
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
stage('Summary') {
|
||||
steps {
|
||||
sh "rm -fR cassandra-builds"
|
||||
sh "git clone https://gitbox.apache.org/repos/asf/cassandra-builds.git"
|
||||
sh "git clone --depth 1 --single-branch https://gitbox.apache.org/repos/asf/cassandra-builds.git"
|
||||
sh "./cassandra-builds/build-scripts/cassandra-test-report.sh"
|
||||
junit testResults: '**/build/test/**/TEST*.xml,**/cqlshlib.xml,**/nosetests.xml', testDataPublishers: [[$class: 'StabilityTestDataPublisher']]
|
||||
|
||||
// the following should fail on any installation other than builds.apache.org
|
||||
// the following should fail on any installation other than ci-cassandra.apache.org
|
||||
// TODO: keep jenkins infrastructure related settings in `cassandra_job_dsl_seed.groovy`
|
||||
warnError('cannot send notifications') {
|
||||
script {
|
||||
changes = formatChanges(currentBuild.changeSets)
|
||||
echo "changes: ${changes}"
|
||||
}
|
||||
slackSend channel: '#cassandra-builds', message: ":apache: <${env.BUILD_URL}|${currentBuild.fullDisplayName}> completed: ${currentBuild.result}. ${env.GIT_COMMIT}\n${changes}"
|
||||
emailext to: 'builds@cassandra.apache.org', subject: "Build complete: ${currentBuild.fullDisplayName} [${currentBuild.result}] ${env.GIT_COMMIT}", body: '''
|
||||
slackSend channel: '#cassandra-builds', message: ":apache: <${env.BUILD_URL}|${currentBuild.fullDisplayName}> completed: ${currentBuild.result}. <https://github.com/apache/cassandra/commit/${env.GIT_COMMIT}|${env.GIT_COMMIT}>\n${changes}"
|
||||
emailext to: 'builds@cassandra.apache.org', subject: "Build complete: ${currentBuild.fullDisplayName} [${currentBuild.result}] ${env.GIT_COMMIT}", presendScript: '${FILE,path="cassandra-builds/jenkins-dsl/cassandra_email_presend.groovy"}', body: '''
|
||||
-------------------------------------------------------------------------------
|
||||
Build ${ENV,var="JOB_NAME"} #${BUILD_NUMBER} ${BUILD_STATUS}
|
||||
URL: ${BUILD_URL}
|
||||
|
|
@ -357,12 +287,12 @@ ${FILE,path="cassandra-test-report.txt"}
|
|||
}
|
||||
}
|
||||
|
||||
def copyTestResults(target) {
|
||||
def copyTestResults(target, build_number) {
|
||||
step([$class: 'CopyArtifact',
|
||||
projectName: "${env.JOB_NAME}-${target}",
|
||||
optional: true,
|
||||
fingerprintArtifacts: true,
|
||||
selector: [$class: 'StatusBuildSelector', stable: false],
|
||||
selector: specific("${build_number}"),
|
||||
target: target]);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -154,8 +154,8 @@ public class CassandraXMLJUnitResultFormatter implements JUnitResultFormatter, X
|
|||
doc = getDocumentBuilder().newDocument();
|
||||
rootElement = doc.createElement(TESTSUITE);
|
||||
String n = suite.getName();
|
||||
// if (n != null && !tag.isEmpty())
|
||||
// n = n + "-" + tag;
|
||||
if (n != null && !tag.isEmpty())
|
||||
n = n + "-" + tag;
|
||||
rootElement.setAttribute(ATTR_NAME, n == null ? UNKNOWN : n);
|
||||
|
||||
//add the timestamp
|
||||
|
|
|
|||
Loading…
Reference in New Issue