#!/usr/bin/env groovy pipeline { agent {label 'nomad-builder'} environment { DOCKER_HOST = 'tcp://127.0.0.1:2375' WORKSPACE_PATH = "/var/lib/nomad/alloc/${NOMAD_ALLOC_ID}/${NOMAD_TASK_NAME}${WORKSPACE}" } stages { stage('Info') { steps { sh script: 'hostname' echo "WORKSPACE_PATH: $WORKSPACE_PATH" } } stage('Build') { steps { echo "No build required" } } stage('Test') { steps { echo "Running test" sh script: './test_changed.sh' sh script: 'python validate_yaml.py' } } stage('Deploy') { steps { echo "No deploy step required for Merge Request" } } } post { success { gitlabCommitStatus(name: "$JOB_NAME") { // Test passed, update commit with green checkbox } // Notify Eng Viz of successful build // slackSend color: 'good', message: "Passed Build: $BUILD_URL", channel: '#eng-invisibility' } failure { gitlabCommitStatus(name: "$JOB_NAME") { // Test failed, update commit status with red x error("Build failed, check ${BUILD_URL} for details.") } // On failure send an email to Eng Vis mail body: 'Please check ${BUILD_URL} or details.', subject: 'Jenkins job ${JOB_NAME} build #${BUILD_NUMBER} failed', from: 'Jenkins', to: 'eng-visibility@qualtrics.com' // Finally send a warning message to Eng Vis slack channel // slackSend color: 'warn', message: 'Failed Build: $BUILD_URL', channel: '#eng-invisibility' } } }