blob: c0e878cca0e140669cb8886e05694a490581227a [file] [log] [blame]
#!/usr/bin/env groovy
library 'functions'
def packageBuildNames = [
'core.mendel-minimal',
'core.base-files',
'core.edgetpuvision',
'core.edgetpudemo',
'core.mdt-services',
'core.mendel-distro-info-data',
'core.mendel-keyring',
'core.runonce',
'core.usb-gadget',
'core.vitalsd',
'core.meta-mendel'
]
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),
],
envVars: [
],
) {
node(label) {
dir(workdir) {
stage('Init') {
container('debian') {
sh """
apt-get update
apt-get -y install apt-utils git
git clone https://coral.googlesource.com/gke-jenkins gke-jenkins
cp gke-jenkins/apt-ftparchive/apt-ftparchive.conf .
cp gke-jenkins/apt-ftparchive/unstable.conf .
"""
}
}
stage('Build') {
container('debian') {
packageBuildNames.each {
copyArtifacts(projectName: it,
filter: '**/*',
flatten: true,
target: 'mendel/pool/core',
selector: lastSuccessful())
}
dir('mendel') {
sh """
mkdir -p dists/unstable/core/{source,binary-{all,arm64,armhf}}
find pool -name *.dsc >../sources.txt
find pool -name *.deb >../packages.txt
apt-ftparchive -c ../apt-ftparchive.conf \
-o APT::FTPArchive::Release::Codename="unstable" \
-o APT::FTPArchive::Release::Label="Coral Mendel Linux unstable release" \
generate ../unstable.conf
"""
}
}
}
stage('Deploy') {
container('debian') {
googleStorageUpload(bucket: 'gs://mendel-linux-apt/',
credentialsId: 'mendel-linux-cloud-infra',
pattern: 'mendel/**',
pathPrefix: 'mendel/',
sharedPublicly: true)
}
}
}
}
}