blob: 0d7ef362176f9a702175463708b96977040ba9cf [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
"""
}
}
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/binary-arm64
apt-ftparchive packages pool/core > dists/unstable/core/binary-arm64/Packages
gzip -9c dists/unstable/core/binary-arm64/Packages >dists/unstable/core/binary-arm64/Packages.gz
mkdir -p dists/unstable/core/source
apt-ftparchive sources pool/core > dists/unstable/core/source/Sources
gzip -9c dists/unstable/core/source/Sources >dists/unstable/core/binary-arm64/Sources.gz
apt-ftparchive release -o APT::FTPArchive::Release::Suite="unstable" dists/unstable > dists/unstable/Release
gzip -9c dists/unstable/Release >dists/unstable/Release.gz
"""
}
}
}
stage('Deploy') {
container('debian') {
googleStorageUpload(bucket: 'gs://mendel-linux-apt/',
credentialsId: 'mendel-linux-cloud-infra',
pattern: 'mendel/**',
sharedPublicly: true)
}
}
}
}
}