#!/usr/bin/env groovy /* * job name: firmware-repo */ def CopyFirmware(project) { copyArtifacts([ filter: 'rpms/*/*.rpm', flatten: true, projectName: project, selector: lastSuccessful(), target: "rpms/$project" ]) } pipeline { agent { kubernetes { yamlFile 'centos7-rpmbuild.yaml' defaultContainer 'centos7-rpmbuild' slaveConnectTimeout '3600' nodeSelector 'kubernetes.io/os=linux,kubernetes.io/arch=amd64' } } options { buildDiscarder(logRotator(numToKeepStr: '3')) disableConcurrentBuilds() } triggers { upstream(upstreamProjects: 'seabios,u-boot,coreboot,edk2,ipxe,qboot', threshold: hudson.model.Result.SUCCESS) } stages { stage ('cleanup') { steps { dir('rpms') { deleteDir() } } } stage ('copy firmware') { steps { CopyFirmware('coreboot') CopyFirmware('edk2') CopyFirmware('ipxe') CopyFirmware('seabios') CopyFirmware('u-boot') CopyFirmware('qboot') } } stage ('create repo') { steps { sh 'createrepo rpms' sh 'find rpms -print' archiveArtifacts 'rpms/*/*' } } } }