// vim: set ft=groovy : pipeline { agent { kubernetes { yamlFile 'ci/podTemplate.yaml' defaultContainer 'buildroot' workspaceVolume persistentVolumeClaimWorkspaceVolume( claimName: 'jenkins-ws-metricspi' ) } } options { buildDiscarder logRotator(numToKeepStr: '5') disableConcurrentBuilds() } parameters { booleanParam \ name: 'Clean', description: 'Clean the workspace and perform a full rebuild' } environment { BUILDROOT_SRC = "${env.WORKSPACE}/buildroot" } stages { stage('Prepare') { steps { script { if (params.Clean) { sh 'rm -rf _build' } } checkout poll: false, scm: [ $class: 'GitSCM', branches: [[name: '2022.05.x']], doGenerateSubmoduleConfigurations: false, userRemoteConfigs: [[url: 'git://git.buildroot.net/buildroot']], extensions: [ [ $class: 'RelativeTargetDirectory', relativeTargetDir: 'buildroot', ], ], ] } } stage('Build') { parallel { stage('Build Initramfs') { steps { sh 'make initramfs' } } stage('Build Rootfs') { steps { sh 'make rootfs' } } } } stage('Package') { steps { sh 'make package' } } } post { success { dir('_build') { archiveArtifacts 'metricspi.tar' } } } }