#!/usr/bin/python packages = """ lintian debsums """.split() shell = { 'lintian': 'timeout 6h debian/rules runtests', 'debsums': 'timeout 5m prove -v' } distros = { 'lintian': ( 'sid', 'jessie', 'wheezy backports' ), 'debsums': ( 'sid', 'jessie', 'wheezy' ) } #FIXME: add stretch too recipients = { 'lintian': 'jenkins+debian-qa qa-jenkins-scm@lists.alioth.debian.org lintian-maint@debian.org', 'debsums': 'jenkins+debian-qa qa-jenkins-scm@lists.alioth.debian.org pkg-perl-maintainers@lists.alioth.debian.org' } git-repo = { 'lintian': 'git://anonscm.debian.org/lintian/lintian.git', 'debsums': 'git://anonscm.debian.org/pkg-perl/packages/debsums.git' } # # nothing to edit below # print(""" - defaults: name: qa.debian.org-tests project-type: freestyle 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/qa.debian.org/ text: Jobs for Debian QA related packages 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}

Job configuration source is qa.debian.org-tests.yaml.py.' logrotate: daysToKeep: 90 numToKeep: 30 artifactDaysToKeep: -1 artifactNumToKeep: -1 scm: - git: url: '{my_repo}' branches: - master builders: - shell: '/srv/jenkins/bin/chroot-run.sh {my_distro} {my_shell}' """) for package in sorted(packages): print(""" - job-template: defaults: qa.debian.org-tests name: '%(package)s_wheezy' publishers: - email: recipients: '%(recipients)s' - job-template: defaults: qa.debian.org-tests name: '%(package)s_jessie' publishers: - email: recipients: '%(recipients)s' - trigger: project: '{my_trigger}' - job-template: defaults: qa.debian.org-tests name: '%(package)s_sid' triggers: - pollscm: '*/6 * * * *' publishers: - email: recipients: '%(recipients)s' - trigger: project: '{my_trigger}' """ % dict(package=package, recipients=recipients[package])) print(""" - project: name: qa.debian.org-tests jobs:""") for package in sorted(packages): print(""" my_view: '%(view)s' my_description: '%(description)s'""" % dict(base_distro=base_distro, action=action, shell=shell, prio=prio, trigger=trigger, recipients=get_recipients(target), view=get_view(target, base_distro), second_base=distro_upgrades[base_distro], description=description)) - '{name}_sid': my_distro: 'sid' my_shell: 'timeout 6h debian/rules runtests' my_description: 'Debian/Lintian testsuite running on sid.' my_trigger: 'qa.debian.org-tests_jessie' - '{name}_jessie': my_distro: 'jessie' my_shell: 'timeout 6h debian/rules runtests' my_description: 'Debian/Lintian testsuite running on jessie.' my_trigger: 'qa.debian.org-tests_wheezy' - '{name}_wheezy': my_distro: 'wheezy backports' my_shell: 'timeout 6h debian/rules runtests' my_description: 'Debian/Lintian testsuite running on wheezy (+backports).'