#!/usr/bin/env groovy

def label = "build-jenkins-operator-${UUID.randomUUID().toString()}"
def home = "/home/jenkins"
def workspace = "${home}/workspace/build-pbuilder-cross"
def workdir = "${workspace}/src"

podTemplate(label: label,
        containers: [
                containerTemplate(name: 'jnlp', image: 'jenkins/jnlp-slave:alpine'),
                containerTemplate(name: 'debian', image: 'debian:buster-slim', command: 'cat', ttyEnabled: true, privileged: true),
        ],
        envVars: [
        ],
        ) {

    node(label) {
        dir(workdir) {
            stage('Init') {
                container('debian') {
                    sh """
                       apt-get update
                       apt-get -y install build-essential python curl git qemu-user-static sudo
                       curl https://storage.googleapis.com/git-repo-downloads/repo > /usr/local/bin/repo
                       chmod a+x /usr/local/bin/repo
                       mkdir -p ${workdir}/.repo/local_manifests
                       """
                    timeout(time: 3, unit: 'MINUTES') {
                        checkout([$class: 'RepoScm',
                                  currentBranch: true,
                                  jobs: 24,
                                  manifestRepositoryUrl: 'http://coral.googlesource.com/manifest',
                                  manifestBranch: 'master',
                                  manifestFile: 'enterprise.xml',
                                  depth: 1,
                                  quiet: true])
                    }
                }
            }

            stage('Build') {
                container('debian') {
                    sh """
                       bash -c 'source build/setup.sh; m prereqs \$ROOTDIR/cache/cross-base.tgz; exit \$?'
                       """
                }
            }

            stage('Deploy') {
                archiveArtifacts artifacts: "cache/cross-base.tgz", fingerprint: true
            }
        }
    }
}
