node { stage('Preparation') { properties([ parameters([ buildSelector(defaultSelector: lastSuccessful(), description: 'Which build to use for copying datasets', name: 'BUILD_DATASET'), buildSelector(defaultSelector: lastSuccessful(), description: 'Which build to use for copying model', name: 'BUILD_MODEL'), gitParameter(branchFilter: 'origin/(.*)', defaultValue: 'master', name: 'BRANCH', type: 'PT_BRANCH') ]) ] ) } stage('Clone repo') { try { docker.image("karopa/ium:20").inside { stage('Test') { checkout([$class: 'GitSCM', branches: [[name: '*/evaluation']], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[url: 'https://git.wmi.amu.edu.pl/s434765/ium_434765']]]) copyArtifacts fingerprintArtifacts: true, projectName: 's434765-create-dataset', selector: buildParameter("BUILD_DATASET") copyArtifacts fingerprintArtifacts: true, projectName: 's434765-training/' + params.BRANCH + '/', selector: buildParameter("BUILD_MODEL") copyArtifacts fingerprintArtifacts: true, projectName: 's434765-evaluation/evaluation/', selector: lastSuccessful() sh ''' #!/usr/bin/env bash chmod 777 evaluate_network.py python3 evaluate_network.py | tee output.txt ''' archiveArtifacts 'output.txt' archiveArtifacts 'rmse.txt' archiveArtifacts 'evaluation.png' } def data = readFile(file: 'rmse.txt').split("/n") emailext body: 'Successful evaluation ${data[data.size()]}', subject: "s434765", to: "26ab8f35.uam.onmicrosoft.com@emea.teams.ms" } } catch (e) { emailext body: 'Failed evaluation', subject: "s434765", to: "26ab8f35.uam.onmicrosoft.com@emea.teams.ms" throw e } } }