diff options
-rwxr-xr-x | bin/test_torbrowser-launcher.sh | 53 | ||||
-rw-r--r-- | job-cfg/torbrowser-launcher.yaml | 143 | ||||
-rw-r--r-- | logparse/torbrowser-launcher.rules | 4 |
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... + |