diff options
Diffstat (limited to 'jenkinsfile.firmware.hagrid')
-rw-r--r-- | jenkinsfile.firmware.hagrid | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/jenkinsfile.firmware.hagrid b/jenkinsfile.firmware.hagrid new file mode 100644 index 0000000..bcb787b --- /dev/null +++ b/jenkinsfile.firmware.hagrid @@ -0,0 +1,61 @@ +#!/usr/bin/env groovy + +//def base = "hagrid.kraxel.org:/public/vhosts/www.kraxel.org/repos" +def base = "/var/www/html/" +def dest = "firmware" + +def CopyFirmware(project) { + copyArtifacts([ + filter: 'rpms/*/*.rpm', + flatten: true, + projectName: project, + selector: lastSuccessful(), + target: "rpms/$project" + ]) +} + +pipeline { + agent { node 'master' } + + options { + buildDiscarder(logRotator(numToKeepStr: '3')) + disableConcurrentBuilds() + } + + triggers { + upstream(upstreamProjects: 'seabios,u-boot,edk2,ipxe,qboot', + threshold: hudson.model.Result.SUCCESS) + } + + stages { + stage ('cleanup') { + steps { + dir('rpms') { + deleteDir() + } + } + } + stage ('copy firmware') { + steps { + CopyFirmware('edk2') + CopyFirmware('ipxe') + CopyFirmware('seabios') + CopyFirmware('u-boot') + CopyFirmware('qboot') + } + } + stage ('create repo') { + steps { + sh 'createrepo rpms' + sh 'find rpms -print' + archiveArtifacts 'rpms/*/*' + } + } + + stage ('rsync repo') { + steps { + sh "scripts/rsync-rpm-repo.sh rpms/ $base/$dest/" + } + } + } +} |