summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xbin/test_torbrowser-launcher.sh53
-rw-r--r--job-cfg/torbrowser-launcher.yaml143
-rw-r--r--logparse/torbrowser-launcher.rules4
3 files changed, 200 insertions, 0 deletions
diff --git a/bin/test_torbrowser-launcher.sh b/bin/test_torbrowser-launcher.sh
new file mode 100755
index 00000000..68384eaf
--- /dev/null
+++ b/bin/test_torbrowser-launcher.sh
@@ -0,0 +1,53 @@
+#!/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 "$@"
+
+set -e
+
+cleanup_all() {
+ cd
+ # delete session if it still exists
+ schroot --end-session -c tbb-launcher-$SUITE-$(basename $TMPDIR) > /dev/null 2>&1 || true
+ # delete main work dir
+ rm $TMPDIR -r
+ echo "$(date -u) - $TMPDIR deleted. Cleanup done."
+}
+
+first_test() {
+ set -x
+ local SESSION="tbb-launcher-$SUITE-$(basename $TMPDIR)"
+ schroot --begin-session --session-name=$SESSION -c jenkins-torbrowser-launcher-$SUITE
+ schroot --run-session -c $SESSION --directory /tmp -- torbrowser-launcher --version
+ schroot --run-session -c $SESSION --directory /tmp -- torbrowser-launcher https://www.debian.org
+ schroot --end-session -c $SESSION
+ if ! "$DEBUG" ; then set +x ; fi
+}
+
+#
+# main
+#
+
+TMPDIR=$(mktemp -d) # where everything actually happens
+trap cleanup_all INT TERM EXIT
+cd $TMPDIR
+
+SUITE=$1
+echo "$(date -u) - testing torbrowser-launcher on $SUITE now."
+#
+# this is WIP in an early stage (and it will not work as X aint configured yet)
+# - test package build from git (todo)
+# - test package from the archive (done)
+# - test updates (todo)
+#
+first_test
+
+cd
+cleanup_all
+trap - INT TERM EXIT
+echo "$(date -u) - the end."
+
diff --git a/job-cfg/torbrowser-launcher.yaml b/job-cfg/torbrowser-launcher.yaml
new file mode 100644
index 00000000..a36de747
--- /dev/null
+++ b/job-cfg/torbrowser-launcher.yaml
@@ -0,0 +1,143 @@
+- defaults:
+ name: torbrowser-launcher
+ 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/torbrowser-launcher
+ text: torbrowser-launcher 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
+ description: '{my_description}<br>Job configuration source is <a href="http://anonscm.debian.org/cgit/qa/jenkins.debian.net.git/tree/job-cfg/torbrowser-launcher.yaml">torbrowser-launcher.yaml</a>.<br>Results are available at <a href="https://torbrowser-launcher.debian.net/">https://torbrowser-launcher.debian.net</a>.'
+ logrotate:
+ daysToKeep: 90
+ numToKeep: 30
+ artifactDaysToKeep: -1
+ artifactNumToKeep: -1
+ builders:
+ - shell: '{my_shell}'
+ publishers:
+ - logparser:
+ parse-rules: '/srv/jenkins/logparse/torbrowser-launcher.rules'
+ unstable-on-warning: 'true'
+ fail-on-error: 'true'
+ - email:
+ recipients: '{my_recipients}'
+ node: '{my_node}'
+
+- defaults:
+ name: torbrowser-launcher_git
+ project-type: freestyle
+ triggers:
+ - timed: '{my_timed}'
+ - pollscm: '*/6 * * * *'
+ 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/torbrowser-launcher
+ text: torbrowser-launcher 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
+ description: '{my_description}<br>Job configuration source is <a href="http://anonscm.debian.org/cgit/qa/jenkins.debian.net.git/tree/job-cfg/torbrowser-launcher.yaml">torbrowser-launcher.yaml</a>.<br>Results are available at <a href="https://torbrowser-launcher.debian.net/">https://torbrowser-launcher.debian.net</a>.'
+ logrotate:
+ daysToKeep: 90
+ numToKeep: 20
+ artifactDaysToKeep: -1
+ artifactNumToKeep: -1
+ builders:
+ - shell: '{my_shell}'
+ publishers:
+ - logparser:
+ parse-rules: '/srv/jenkins/logparse/torbrowser-launcher.rules'
+ unstable-on-warning: 'true'
+ fail-on-error: 'true'
+ - email:
+ recipients: '{my_recipients}'
+ scm:
+ - git:
+ url: '{my_gitrepo}'
+ branches:
+ - master
+ node: '{my_node}'
+
+- job-template:
+ defaults: torbrowser-launcher
+ name: '{name}_setup_schroot_unstable_amd64'
+
+- job-template:
+ defaults: torbrowser-launcher
+ name: '{name}_setup_schroot_stretch_amd64'
+
+- job-template:
+ defaults: torbrowser-launcher
+ name: '{name}_setup_schroot_jessie_amd64'
+
+- job-template:
+ defaults: torbrowser-launcher_git
+ name: '{name}_test_unstable_amd64'
+
+- job-template:
+ defaults: torbrowser-launcher_git
+ name: '{name}_test_stretch_amd64'
+
+- job-template:
+ defaults: torbrowser-launcher_git
+ name: '{name}_test_jessie_amd64'
+
+- project:
+ name: torbrowser-launcher
+ jobs:
+ - '{name}_setup_schroot_unstable_amd64':
+ my_description: 'Setup unstable/amd64 schroot for testing torbrowser-launcher.'
+ my_timed: '42 1 * * *'
+ my_shell: '/srv/jenkins/bin/schroot-create.sh torbrowser-launcher torbrowser-launcher-unstable unstable torbrowser-launcher'
+ my_recipients: 'holger@layer-acht.org'
+ my_node: ''
+ - '{name}_setup_schroot_stretch_amd64':
+ my_description: 'Setup stretch/amd64 schroot for testing torbrowser-launcher.'
+ my_timed: '42 1 * * *'
+ my_shell: '/srv/jenkins/bin/schroot-create.sh torbrowser-launcher torbrowser-launcher-stretch stretch torbrowser-launcher'
+ my_recipients: 'holger@layer-acht.org'
+ my_node: ''
+ - '{name}_setup_schroot_jessie_amd64':
+ my_description: 'Setup jessie/amd64 schroot for testing torbrowser-launcher.'
+ my_timed: '42 1 * * *'
+ my_shell: '/srv/jenkins/bin/schroot-create.sh torbrowser-launcher torbrowser-launcher-jessie jessie torbrowser-launcher'
+ my_recipients: 'holger@layer-acht.org'
+ my_node: ''
+ - '{name}_test_unstable_amd64':
+ my_description: 'Test torbrowser-launcher on unstable/amd64 daily and on every commit to GIT.'
+ my_timed: '20 24 * * *'
+ my_gitrepo: 'git://git.debian.org/git/collab-maint/torbrowser-launcher.git'
+ my_shell: '/srv/jenkins/bin/test_torbrowser-launcher.sh unstable'
+ my_recipients: 'holger@layer-acht.org'
+ my_node: ''
+ - '{name}_test_stretch_amd64':
+ my_description: 'Test torbrowser-launcher on stretch/amd64 daily and on every commit to GIT.'
+ my_timed: '20 24 * * *'
+ my_gitrepo: 'git://git.debian.org/git/collab-maint/torbrowser-launcher.git'
+ my_shell: '/srv/jenkins/bin/test_torbrowser-launcher.sh stretch'
+ my_recipients: 'holger@layer-acht.org'
+ my_node: ''
+ - '{name}_test_jessie_amd64':
+ my_description: 'Test torbrowser-launcher on jessie/amd64 daily and on every commit to GIT.'
+ my_timed: '20 24 * * *'
+ my_gitrepo: 'git://git.debian.org/git/collab-maint/torbrowser-launcher.git'
+ my_shell: '/srv/jenkins/bin/test_torbrowser-launcher.sh jessie'
+ my_recipients: 'holger@layer-acht.org'
+ my_node: ''
+
diff --git a/logparse/torbrowser-launcher.rules b/logparse/torbrowser-launcher.rules
new file mode 100644
index 00000000..cd57c74f
--- /dev/null
+++ b/logparse/torbrowser-launcher.rules
@@ -0,0 +1,4 @@
+# see https://wiki.jenkins-ci.org/display/JENKINS/Log+Parser+Plugin
+
+# list of warnings here...
+