pipeline {
    agent {
        docker {
            image 's449288/ium:lab8.1'
            args '-v /mlruns:/mlruns'
        }
        }
    stages {
        stage('Stage 1') {
            steps {
                    sh 'cd lab8/'
				    sh 'chmod u+x simple_regression_lab8.py'
					echo 'Copying datasets from create-dataset...'
					copyArtifacts filter: '*', projectName: 's449288-create-dataset'
					echo 'Datasets copied'
					echo 'Conducting simple regression model test'
					sh 'python3 simple_regression_lab8.py'
					echo 'Model and predictions saved'
                    sh 'head lego_reg_results.csv'
                    echo 'Archiving model...'
                    sh 'ls -lh lego_reg_model'
                    sh 'tar -czf lego_reg_model.tar.gz lego_reg_model/'
                    archiveArtifacts 'lego_reg_model.tar.gz'
                    echo 'Model archived'
                    echo 'Archiving the MLflow repo...'
                    sh 'ls -lh mlruns'
                    sh 'tar -czf mlruns.tar.gz mlruns/'
                    archiveArtifacts 'mlruns.tar.gz'
                    echo 'MLflow repo archived'
					echo 'Launching the s449288-evaluation job...'
					build job: 's449288-evaluation/master/'
				}
            }
        }
    post {
        success {
            emailext body: 'SUCCESS', subject: 's449288-training build status', to: 'e19191c5.uam.onmicrosoft.com@emea.teams.ms'
        }
        failure {
            emailext body: 'FAILURE', subject: 's449288-training build status', to: 'e19191c5.uam.onmicrosoft.com@emea.teams.ms'
        }
        unstable {
            emailext body: 'UNSTABLE', subject: 's449288-training build status', to: 'e19191c5.uam.onmicrosoft.com@emea.teams.ms'
        }
        changed {
            emailext body: 'CHANGED', subject: 's449288-training build status', to: 'e19191c5.uam.onmicrosoft.com@emea.teams.ms'
        }		
    }
}