pipeline {
    agent any
    stages {
        stage('build') {
	    agent {
		docker {
		    image 'rust'
		    reuseNode true
		}
	    }
	    steps {
                sh 'cargo build --release'
		stash includes: 'target/release/telegram-leetbot', name: 'app'
            }
        }
	stage('docker build') {
	    steps {
		unstash 'app'

		echo 'Starting docker image build'
		script {
		    docker.withRegistry("pkg.northcode.no") {
			    def image = docker.build("pkg.northcode.no/telegram-leetbot")
			    image.push()
	   	    }
		}
	    }
	}
    }

    post {
	success {
	    unstash 'app'
	    
	    archiveArtifacts artifacts: 'target/debug/telegram-leetbot', fingerprint: true
	}
    }
}
