summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xbin/jenkins_node_wrapper.sh2
-rwxr-xr-xbin/reproducible_html_rsync_remote_results.sh16
-rw-r--r--job-cfg/reproducible.yaml64
3 files changed, 79 insertions, 3 deletions
diff --git a/bin/jenkins_node_wrapper.sh b/bin/jenkins_node_wrapper.sh
index 1c13ce36..1bde7fe2 100755
--- a/bin/jenkins_node_wrapper.sh
+++ b/bin/jenkins_node_wrapper.sh
@@ -73,6 +73,8 @@ elif [ "$1" = "/srv/jenkins/bin/reproducible_build.sh" ] && ( [ "$2" = "1" ] ||
exec /srv/jenkins/bin/reproducible_build.sh "$2" "$3" "$4" "$5" ; croak "Exec failed";
elif [[ "$*" =~ rsync\ --server\ --sender\ .*\ .\ /srv/reproducible-results/tmp.* ]] ; then
exec rsync --server --sender "$4" . "$6" ; croak "Exec failed";
+elif [[ "$*" =~ rsync\ --server\ --sender\ .*\ .\ /var/lib/jenkins/userContent/reproducible/.* ]] ; then
+ exec rsync --server --sender "$4" . "$6" ; croak "Exec failed";
elif [[ "$*" =~ rm\ -r\ /srv/reproducible-results/tmp.* ]] ; then
exec rm -r "$3" ; croak "Exec failed";
elif [[ "$*" =~ reproducible_setup_pbuilder_unstable_.*_.* ]] ; then
diff --git a/bin/reproducible_html_rsync_remote_results.sh b/bin/reproducible_html_rsync_remote_results.sh
new file mode 100755
index 00000000..8727b2c9
--- /dev/null
+++ b/bin/reproducible_html_rsync_remote_results.sh
@@ -0,0 +1,16 @@
+#!/bin/bash
+
+# Copyright 2015 Holger Levsen <holger@layer-acht.org>
+# released under the GPLv=2
+
+DEBUG=false
+. /srv/jenkins/bin/common-functions.sh
+common_init "$@"
+
+# common code defining db access
+. /srv/jenkins/bin/reproducible_common.sh
+
+# that's all
+for PROJECT in coreboot openwrt netbsd ; do
+ rsync -r -v -e ssh profitbricks-build4.amd64:$BASE/$PROJECT/ $BASE/$PROJECT/
+done
diff --git a/job-cfg/reproducible.yaml b/job-cfg/reproducible.yaml
index c8e274f4..5c102223 100644
--- a/job-cfg/reproducible.yaml
+++ b/job-cfg/reproducible.yaml
@@ -214,6 +214,51 @@
recipients: '{my_recipients}'
node: '{my_node}'
+- defaults:
+ name: reproducible_other_projects_trigger
+ project-type: freestyle
+ triggers:
+ - timed: '{my_timed}'
+ properties:
+ - sidebar:
+ url: https://jenkins.debian.net/userContent/about.html
+ text: About jenkins.debian.net
+ icon: /userContent/images/debian-swirl-24x24.png
+ - sidebar:
+ url: https://jenkins.debian.net/view/reproducible
+ text: reproducible builds jobs
+ icon: /userContent/images/debian-jenkins-24x24.png
+ - sidebar:
+ url: http://www.profitbricks.co.uk
+ text: Sponsored by Profitbricks
+ icon: /userContent/images/profitbricks-24x24.png
+ - throttle:
+ max-total: 9
+ max-per-node: 9
+ enabled: true
+ option: category
+ categories:
+ - reproducible # no special category yet
+ description: '{my_description}<br>Job configuration source is <a href="http://anonscm.debian.org/cgit/qa/jenkins.debian.net.git/tree/job-cfg/reproducible.yaml">reproducible.yaml</a>.<br>Results are available at <a href="https://reproducible.debian.net/">https://reproducible.debian.net</a>.'
+ logrotate:
+ daysToKeep: 90
+ numToKeep: 30
+ artifactDaysToKeep: -1
+ artifactNumToKeep: -1
+ builders:
+ - shell: '{my_shell}'
+ publishers:
+ - logparser:
+ parse-rules: '/srv/jenkins/logparse/reproducible-extra.rules'
+ unstable-on-warning: 'true'
+ fail-on-error: 'true'
+ - email:
+ recipients: '{my_recipients}'
+ - trigger:
+ project: '{my_trigger}'
+ node: '{my_node}'
+
+
- job-template:
defaults: reproducible
name: '{name}_maintenance_amd64_jenkins'
@@ -464,6 +509,10 @@
- job-template:
defaults: reproducible
+ name: '{name}_html_rsync_remote_results'
+
+- job-template:
+ defaults: reproducible
name: '{name}_create_meta_pkg_sets'
- job-template:
@@ -653,15 +702,15 @@
name: '{name}_builder_armhf_10'
- job-template:
- defaults: reproducible_other_projects
+ defaults: reproducible_other_projects_trigger
name: '{name}_coreboot'
- job-template:
- defaults: reproducible_other_projects
+ defaults: reproducible_other_projects_trigger
name: '{name}_openwrt'
- job-template:
- defaults: reproducible_other_projects
+ defaults: reproducible_other_projects_trigger
name: '{name}_netbsd'
- job-template:
@@ -1055,6 +1104,12 @@
my_shell: '/srv/jenkins/bin/reproducible_html_breakages.py'
my_recipients: 'qa-jenkins-scm@lists.alioth.debian.org'
my_node: ''
+ - '{name}_html_rsync_remote_results':
+ my_description: 'rsync the results from some remote jobs to the main node.'
+ my_timed: ''
+ my_shell: '/srv/jenkins/bin/reproducible_html_rsync_remote_results.sh'
+ my_recipients: 'qa-jenkins-scm@lists.alioth.debian.org'
+ my_node: ''
- '{name}_html_live_status':
my_description: 'Generate an HTML page showing the live status of all builds happening or scheduled by humans.'
my_timed: 'H/2 * * * *'
@@ -1334,18 +1389,21 @@
- '{name}_coreboot':
my_description: 'Rebuild all coreboot ROMs twice (with variations) and investigate regarding reproducibility.'
my_timed: '42 23 * * 1'
+ my_trigger: 'reproducible_html_rsync_remote_results'
my_shell: '/srv/jenkins/bin/jenkins_master_wrapper.sh'
my_recipients: 'qa-jenkins-scm@lists.alioth.debian.org'
my_node: 'profitbricks3'
- '{name}_openwrt':
my_description: 'Rebuild OpenWrt (some targets, some packages) twice (with variations) and investigate regarding reproducibility.'
my_timed: '42 23 * * 2'
+ my_trigger: 'reproducible_html_rsync_remote_results'
my_shell: '/srv/jenkins/bin/jenkins_master_wrapper.sh'
my_recipients: 'qa-jenkins-scm@lists.alioth.debian.org'
my_node: 'profitbricks3'
- '{name}_netbsd':
my_description: 'Rebuild NetBSD (for some archs) twice (with variations) and investigate regarding reproducibility.'
my_timed: '42 23 * * 3'
+ my_trigger: 'reproducible_html_rsync_remote_results'
my_shell: '/srv/jenkins/bin/jenkins_master_wrapper.sh'
my_recipients: 'qa-jenkins-scm@lists.alioth.debian.org'
my_node: 'profitbricks3'