69 lines
1.6 KiB
Groovy
69 lines
1.6 KiB
Groovy
pipeline {
|
|
parameters {
|
|
booleanParam 'CLEAN_BUILD'
|
|
}
|
|
|
|
options {
|
|
disableConcurrentBuilds()
|
|
}
|
|
|
|
agent {
|
|
kubernetes {
|
|
yamlFile 'ci/podTemplate.yaml'
|
|
yamlMergeStrategy merge()
|
|
workspaceVolume persistentVolumeClaimWorkspaceVolume(
|
|
claimName: 'buildroot-airplaypi'
|
|
)
|
|
defaultContainer 'build'
|
|
}
|
|
}
|
|
|
|
environment {
|
|
BR2_CCACHE_DIR = "${env.JENKINS_AGENT_WORKDIR}/br2-ccache"
|
|
}
|
|
|
|
stages {
|
|
stage('Clean') {
|
|
when {
|
|
expression {
|
|
return params.CLEAN_BUILD
|
|
}
|
|
}
|
|
steps {
|
|
sh 'git clean -fdx'
|
|
}
|
|
}
|
|
|
|
stage('Prepare') {
|
|
steps {
|
|
container('jnlp') {
|
|
sh 'git submodule update --remote aimee-os'
|
|
}
|
|
}
|
|
}
|
|
|
|
stage('Build') {
|
|
steps {
|
|
sh 'make config && make update-config'
|
|
sh 'make all'
|
|
}
|
|
post {
|
|
success {
|
|
dir('_build') {
|
|
archiveArtifacts('.config')
|
|
}
|
|
dir('_build/images') {
|
|
sh 'zstd -f firmware.img'
|
|
sh 'zstd -f sdcard.img'
|
|
archiveArtifacts([
|
|
'firmware.img.zst',
|
|
'rootfs.squashfs',
|
|
'sdcard.img.zst',
|
|
].join(','))
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|