pipeline {
  agent {
    docker {
      image 'rust:1.59'
      args '-v "$PWD":/usr/src/image-api'
    }
  }

  stages {
    stage('build') {
      steps {
        sh 'cargo build --release'
        archiveArtifacts artifacts: '**/target/release/image-api', fingerprint: true
      }
    }

    stage('test') {
      steps {
        sh 'echo "BASE_PATH=$PWD" > .env'
        sh 'cargo test'
      }

      post {
        always {
          sh 'rm -f .env'
        }
      }
    }
  }
}
