node {
         stage('Preparation') {

                properties([
                    parameters([
                        buildSelector(defaultSelector: lastSuccessful(),
                            description: 'Which build to use for copying artifacts',
                            name: 'BUILD_SELECTOR'),
                        string(defaultValue: '30',
                            description: 'Amount of epochs',
                            name: 'EPOCHS',
                            trim: false)
                            ])
                ]
                )

        }
        stage('Clone repo') {
                    try { docker.image("karopa/ium:11").inside {
                        stage('Test') {
                            checkout([$class: 'GitSCM', branches: [[name: '*/master']], 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_SELECTOR")
                            sh '''
                                #!/usr/bin/env bash
                                chmod 777 neural_network.sh
                                ./neural_network.sh $EPOCHS | tee output.txt
                            '''
                            archiveArtifacts 'output.txt'
                            archiveArtifacts 'model/**/*.*'
                        }
                        emailext body: 'Successful build',
                        subject: "s434765",
                        to: "26ab8f35.uam.onmicrosoft.com@emea.teams.ms"
                        }

                    }
                     catch (e) {
                            emailext body: 'Failed build',
                            subject: "s434765",
                            to: "26ab8f35.uam.onmicrosoft.com@emea.teams.ms"
                            throw e
                     }
        }
        stage ("build evaluation") {		//an arbitrary stage name
            steps {
                build 's434765-evaluation/evaluation/'	//this is where we specify which job to invoke.
            }
        }
}