#!groovy
pipeline {
    agent any
    options {
        ansiColor(colorMapName: 'XTerm')
        disableConcurrentBuilds()
        timestamps()
    }
    parameters {
        string(name: 'version', defaultValue: '4.1.0', description: 'Teleport version to build')
    }
    stages {
        stage('Create files/build directory') {
            steps {
                dir('assets/marketplace') {
                    sh 'mkdir -p files/build'
                }
            }
        }
        stage('Run Packer to build specified version') {
            steps {
                dir('assets/marketplace') {
                    sh "PUBLIC_AMI_NAME=gravitational-teleport-ami-oss-${params.version} MARKETPLACE_AMI_NAME=gravitational-teleport-marketplace-ami-oss-${params.version} TELEPORT_VERSION=${params.version} make oss-jenkins-build"
                }
            }
        }
        stage('Make OSS AMIs public') {
            steps {
                dir('assets/marketplace') {
                    sh 'make change-amis-to-public-oss'
                }
            }
        }
    }
}