pipeline {
	agent any 
    parameters {
      buildSelector(
          defaultSelector: lastSuccessful(),
          description: 'Which build to use for copying artifacts',
          name: 'BUILD_SELECTOR')
    }
	stages {
		stage('checkout') {
			steps {
				checkout([$class: 'GitSCM', branches: [[name: '*/master']], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[url: 'https://git.wmi.amu.edu.pl/s426206/ium_426206.git']]])
			}
		}
        stage('Copy artifact') {
                steps {
                    copyArtifacts filter: 'model.pt', fingerprintArtifacts: false, projectName: 's426206-training', selector: buildParameter('BUILD_SELECTOR')
                    copyArtifacts filter: 'val_dataset.pt', fingerprintArtifacts: false, projectName: 's426206-create-dataset', selector: buildParameter('BUILD_SELECTOR')
                    copyArtifacts filter: 'metrics.tsv', fingerprintArtifacts: false, optional: true, projectName: 's426206-evaluation', selector: buildParameter('BUILD_SELECTOR')
                }
            }		
		stage('docker') {
			steps {
                script {
                    def img = docker.build('rokoch/ium:01')
                    img.inside {
                        sh 'chmod +x evaluation.py'
                        sh 'python3 ./evaluation.py >> metrics.tsv'
                    }
                }
			}
		}
		
		stage('end') {
            steps {
				//Zarchiwizuj wynik
				archiveArtifacts 'model.pt, metrics.tsv, plot.png'					
			}
		}
	}

	post {
		success {
			//Wysłanie maila
			emailext body: 'Success evaluation',
				subject: 's426206 evaluation',
				to: '26ab8f35.uam.onmicrosoft.com@emea.teams.ms'

		}
		unstable {
			emailext body: 'Unstable evaluation', subject: 's426206 evaluation', to: '26ab8f35.uam.onmicrosoft.com@emea.teams.ms'
		}
		failure {
			emailext body: 'Failure evaluation', subject: 's426206 evaluation', to: '26ab8f35.uam.onmicrosoft.com@emea.teams.ms'
		}
		changed {
			emailext body: 'Changed evaluation', subject: 's426206 evaluation', to: '26ab8f35.uam.onmicrosoft.com@emea.teams.ms'
		}
	}
}