#!/usr/bin/env groovy

def targets = [ 'cross', 'native' ]

targets.each {
    def target = it

    pipelineJob("global.pbuilder.${target}") {
        description("Build pbuilder ${target}-base.tgz")

        definition {
            cpsScm {
                scm {
                    git {
                        remote {
                            url('https://coral.googlesource.com/gke-jenkins')
                        }
                        branches('*/master')
                    }
                }
                scriptPath("cicd/pipelines/global/pbuilder_${target}.jenkins")
            }
        }
    }
}
