#!/usr/bin/env groovy

def workspacePath = "/home/jenkins/workspace"
def buildLabel = "task.repo.create-${UUID.randomUUID().toString()}"
def sourcePath = "${workspacePath}/src"

// FIXME(jtgans): Get rid of privileged! This is a security risk!
def jnlpContainer = containerTemplate(name: 'jnlp',
                                      image: 'jenkins/jnlp-slave:alpine')
def debianContainer = containerTemplate(name: 'debian',
                                        image: 'gcr.io/mendel-linux-cloud-infra/mendel-builder:latest',
                                        command: 'cat',
                                        args: '',
                                        ttyEnabled: true,
                                        privileged: true)
def aptlyVolume = persistentVolumeClaim(claimName: 'aptly-state', mountPath: '/var/lib/aptly')

podTemplate(label: buildLabel, containers: [jnlpContainer, debianContainer], volumes: [aptlyVolume], envVars: []) {
    def date = new Date()
    String stamp = date.format("yyyyMMdd-HHmmss")

    node(buildLabel) {
        dir(sourcePath) {
            container('debian') {
                withEnv(['GNUPGHOME=/var/lib/aptly/.gnupg']) {
                    stage('Create') {
                        sh """
                           aptly -architectures="${params.architectures}" repo create ${params.name}
                           """
                    }
                }
            }
        }
    }
}
