node { checkout scm try { docker.image('s444452/ium:1.3').inside { stage('Preparation') { properties([ parameters([ gitParameter( branchFilter: 'origin/(.*)', defaultValue: 'master', description: 'Select branch', name: 'BRANCH', type: 'PT_BRANCH' ), buildSelector( defaultSelector: upstream(), description: 'Which build to use for copying artifacts', name: 'BUILD_SELECTOR' ), string( defaultValue: ".,14000,1,50,100", description: 'Test params: data_path,num_words,epochs,batch_size,pad_length', name: 'TEST_PARAMS' ), string( defaultValue: "0", description: 'Build number', name: 'BUILD_NR' ) ]) ]) } stage('Copy artifacts') { copyArtifacts filter: 'train_data.csv', fingerprintArtifacts: true, projectName: 's444452-create-dataset' copyArtifacts filter: 'test_data.csv', fingerprintArtifacts: true, projectName: 's444452-create-dataset' git branch: "${params.BRANCH}", url: 'https://git.wmi.amu.edu.pl/s444452/ium_444452.git' copyArtifacts filter: 'neural_network_evaluation.csv', projectName: "s444452-evaluation/${BRANCH}/", optional: true copyArtifacts filter: 'model/neural_net', projectName: "s444452-training/${BRANCH}/", selector: buildParameter('BUILD_SELECTOR') } stage('Run script') { withEnv(["TEST_PARAMS=${params.TEST_PARAMS}"]) { sh "python3 Scripts/evaluate_neural_network.py ${params.BUILD_NR} $TEST_PARAMS" } } stage('Archive artifacts') { archiveArtifacts "neural_network_evaluation.csv, evaluation.png" } stage('Echo branch') { sh "echo ${params.BRANCH}" } } } catch (e) { currentBuild.result = "FAILED" throw e } finally { notifyBuild(currentBuild.result) } } def notifyBuild(String buildStatus = 'STARTED') { buildStatus = buildStatus ?: 'SUCCESS' def subject = "Job: ${env.JOB_NAME}" def details = "Build nr: ${env.BUILD_NUMBER}, status: ${buildStatus} \n url: ${env.BUILD_URL} \n build params: ${params.TEST_PARAMS}" emailext ( subject: subject, body: details, to: 'e19191c5.uam.onmicrosoft.com@emea.teams.ms' ) }