summaryrefslogtreecommitdiffstats
path: root/job-cfg/qa.debian.org-tests.yaml.py
blob: 880003c182737ece11721504bc0c4339d70c9b20 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
#!/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}<br><br>Job configuration source is <a href="http://anonscm.debian.org/cgit/qa/jenkins.debian.net.git/tree/job-cfg/qa.debian.org-tests.yaml.py">qa.debian.org-tests.yaml.py</a>.'
    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).'