aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--jenkinsfile.firmware.hagrid61
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/"
+ }
+ }
+ }
+}