jenkins-job-builder/example/python-bitrot-jobs.yml
James E. Blair 8f09841693 Refactor modules and templating.
Switch to using entry points for loading modules as well as
individual buliders, triggers, publishers, etc.

Remove most openstack-specific python code.

Change templating so it's less repetitive -- a single project
definition will suffice for multiple jobs or job-groups.

This outputs XML that is identical to the current production XML,
warts and all.  There are significant improvements that can be made
to the YAML in a separate change, as they will cause minor changes
to existing jobs (adding timestamps, logrotate, etc.).  These are
mostly marked with TODO in this change.

Change-Id: Idcfddb3b43b6cfef4b20919a84540706d7a0a0b1
Reviewed-on: https://review.openstack.org/11000
Approved: James E. Blair <corvus@inaugust.com>
Reviewed-by: James E. Blair <corvus@inaugust.com>
Tested-by: Jenkins
2012-08-10 16:00:42 +00:00

141 lines
2.7 KiB
YAML

- job-template:
name: 'periodic-{name}-python26-{branch-name}'
concurrent: true
wrappers:
- timeout:
timeout: 30
fail: true
- timestamps
properties:
- github:
url: 'https://github.com/{github-org}/{name}'
- throttle:
max-per-node: 0
max-total: 0
option: project
enabled: false
logrotate:
daysToKeep: 28
numToKeep: -1
artifactDaysToKeep: -1
artifactNumToKeep: -1
triggers:
- timed: '@daily'
builders:
- python26
scm:
- git:
url: 'git://github.com/{github-org}/{name}.git'
branches:
- 'origin/{branch}'
# >= precise does not have python2.6
node: oneiric
- job-template:
name: 'periodic-{name}-python27-{branch-name}'
concurrent: true
wrappers:
- timeout:
timeout: 30
fail: true
- timestamps
properties:
- github:
url: 'https://github.com/{github-org}/{name}'
- throttle:
max-per-node: 0
max-total: 0
option: project
enabled: false
logrotate:
daysToKeep: 28
numToKeep: -1
artifactDaysToKeep: -1
artifactNumToKeep: -1
triggers:
- timed: '@daily'
builders:
- python27
scm:
- git:
url: 'git://github.com/{github-org}/{name}.git'
branches:
- 'origin/{branch}'
node: '{node}'
- job-template:
name: 'periodic-{name}-docs-{branch-name}'
concurrent: true
wrappers:
- timeout:
timeout: 30
fail: true
- timestamps
properties:
- github:
url: 'https://github.com/{github-org}/{name}'
- throttle:
max-per-node: 0
max-total: 0
option: project
enabled: false
logrotate:
daysToKeep: 28
numToKeep: -1
artifactDaysToKeep: -1
artifactNumToKeep: -1
triggers:
- timed: '@daily'
builders:
- docs
scm:
- git:
url: 'git://github.com/{github-org}/{name}.git'
branches:
- 'origin/{branch}'
node: '{node}'
- job-group:
name: python-diablo-bitrot-jobs
branch: 'stable/diablo'
branch-name: 'stable-diablo'
node: oneiric
jobs:
- 'periodic-{name}-python26-{branch-name}'
- 'periodic-{name}-python27-{branch-name}'
- 'periodic-{name}-docs-{branch-name}'
- job-group:
name: python-essex-bitrot-jobs
branch: 'stable/essex'
branch-name: 'stable-essex'
node: precise
jobs:
- 'periodic-{name}-python26-{branch-name}'
- 'periodic-{name}-python27-{branch-name}'
- 'periodic-{name}-docs-{branch-name}'