mirror of
https://github.com/valitydev/salt.git
synced 2024-11-06 16:45:27 +00:00
72b1830974
Moved the archive to the always statement. Doesn't change the junit stuff, but now we at least save the XML when we fail.
67 lines
2.9 KiB
Plaintext
67 lines
2.9 KiB
Plaintext
pipeline {
|
|
agent { label 'kitchen-slave' }
|
|
environment {
|
|
SALT_KITCHEN_PLATFORMS = "/var/jenkins/workspace/platforms.yml"
|
|
SALT_KITCHEN_DRIVER = "/var/jenkins/workspace/driver.yml"
|
|
PATH = "/usr/local/rbenv/shims/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/root/bin"
|
|
RBENV_VERSION = "2.4.2"
|
|
TEST_SUITE = "py3"
|
|
TEST_PLATFORM = "centos-7"
|
|
}
|
|
stages {
|
|
stage('github-pending') {
|
|
steps {
|
|
githubNotify credentialsId: 'test-jenkins-credentials',
|
|
description: "running ${TEST_SUITE}-${TEST_PLATFORM}...",
|
|
status: 'PENDING',
|
|
context: "jenkins/pr/${TEST_SUITE}-${TEST_PLATFORM}"
|
|
}
|
|
}
|
|
stage('setup') {
|
|
steps {
|
|
sh 'bundle install --with ec2 windows --without opennebula docker'
|
|
}
|
|
}
|
|
stage('run kitchen') {
|
|
steps {
|
|
script { withCredentials([[$class: 'AmazonWebServicesCredentialsBinding', accessKeyVariable: 'AWS_ACCESS_KEY_ID', credentialsId: 'AWS_ACCESS_KEY_ID', secretKeyVariable: 'AWS_SECRET_ACCESS_KEY']]) {
|
|
sshagent(credentials: ['jenkins-testing-ssh-key']) {
|
|
sh 'ssh-add ~/.ssh/jenkins-testing.pem'
|
|
sh 'bundle exec kitchen converge $TEST_SUITE-$TEST_PLATFORM || bundle exec kitchen converge $TEST_SUITE-$TEST_PLATFORM'
|
|
sh 'bundle exec kitchen verify $TEST_SUITE-$TEST_PLATFORM'
|
|
}
|
|
}}
|
|
}
|
|
post {
|
|
always {
|
|
script { withCredentials([[$class: 'AmazonWebServicesCredentialsBinding', accessKeyVariable: 'AWS_ACCESS_KEY_ID', credentialsId: 'AWS_ACCESS_KEY_ID', secretKeyVariable: 'AWS_SECRET_ACCESS_KEY']]) {
|
|
sshagent(credentials: ['jenkins-testing-ssh-key']) {
|
|
sh 'ssh-add ~/.ssh/jenkins-testing.pem'
|
|
sh 'bundle exec kitchen destroy $TEST_SUITE-$TEST_PLATFORM'
|
|
}
|
|
}}
|
|
archiveArtifacts artifacts: 'artifacts/xml-unittests-output/*.xml'
|
|
}
|
|
}
|
|
}
|
|
}
|
|
post {
|
|
always {
|
|
junit 'artifacts/xml-unittests-output/*.xml'
|
|
cleanWs()
|
|
}
|
|
success {
|
|
githubNotify credentialsId: 'test-jenkins-credentials',
|
|
description: "The ${TEST_SUITE}-${TEST_PLATFORM} job has passed",
|
|
status: 'SUCCESS',
|
|
context: "jenkins/pr/${TEST_SUITE}-${TEST_PLATFORM}"
|
|
}
|
|
failure {
|
|
githubNotify credentialsId: 'test-jenkins-credentials',
|
|
description: "The ${TEST_SUITE}-${TEST_PLATFORM} job has failed",
|
|
status: 'FAILURE',
|
|
context: "jenkins/pr/${TEST_SUITE}-${TEST_PLATFORM}"
|
|
}
|
|
}
|
|
}
|