debian-forge-composer/schutzbot/Jenkinsfile
Major Hayden efed778006 Add RHEL 8.2 testing
Run the base and image tests on RHEL 8.2. 🚂

Signed-off-by: Major Hayden <major@redhat.com>
2020-05-15 08:57:17 -05:00

111 lines
No EOL
3.2 KiB
Groovy

pipeline {
agent none
options {
timestamps()
ansiColor('xterm')
}
stages {
stage("Functional Testing") {
parallel {
stage('Fedora 31 base') {
agent { label "fedora31" }
environment { TEST_TYPE = "base" }
steps {
run_tests()
}
post {
always {
preserve_logs('fedora31-base')
}
}
}
stage('Fedora 31 image') {
agent { label "fedora31" }
environment { TEST_TYPE = "image" }
steps {
run_tests()
}
post {
always {
preserve_logs('fedora31-image')
}
}
}
stage('Fedora 32 base') {
agent { label "fedora32" }
environment { TEST_TYPE = "base" }
steps {
run_tests()
}
post {
always {
preserve_logs('fedora32-base')
}
}
}
stage('Fedora 32 image') {
agent { label "fedora32" }
environment { TEST_TYPE = "image" }
steps {
run_tests()
}
post {
always {
preserve_logs('fedora32-image')
}
}
}
stage('RHEL 8.2 base') {
agent { label "rhel82" }
environment { TEST_TYPE = "base" }
steps {
run_tests()
}
post {
always {
preserve_logs('rhel82-base')
}
}
}
stage('RHEL 8.2 image') {
agent { label "rhel82" }
environment { TEST_TYPE = "image" }
steps {
run_tests()
}
post {
always {
preserve_logs('rhel82-image')
}
}
}
}
}
}
}
// Set up a function to hold the steps needed to run the tests so we don't
// need to copy/paste the same lines over and over above.
void run_tests() {
// Run the tests from the repository.
sh "schutzbot/run_tests.sh"
}
// Move logs to a unique location and tell Jenkins to capture them on success
// or failure.
void preserve_logs(test_slug) {
// Make a directory for the log files and move the logs there.
sh "mkdir ${test_slug} && mv *.log ${test_slug}/"
// Artifact the logs.
archiveArtifacts (
allowEmptyArchive: true,
artifacts: "${test_slug}/*.log"
)
}