
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
268 lines
4.5 KiB
YAML
268 lines
4.5 KiB
YAML
- job-template:
|
|
name: '{name}-coverage'
|
|
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:
|
|
- zuul_post
|
|
|
|
builders:
|
|
- gerrit_git_prep
|
|
- coverage
|
|
|
|
publishers:
|
|
- coverage
|
|
|
|
node: '{node}'
|
|
|
|
|
|
- job-template:
|
|
name: 'gate-{name}-pep8'
|
|
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:
|
|
- zuul
|
|
|
|
builders:
|
|
- gerrit_git_prep
|
|
- pep8
|
|
|
|
publishers:
|
|
- pep8
|
|
|
|
node: '{node}'
|
|
|
|
|
|
- job-template:
|
|
name: 'gate-{name}-python26'
|
|
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:
|
|
- zuul
|
|
|
|
builders:
|
|
- gerrit_git_prep
|
|
- python26
|
|
|
|
# >= precise does not have python2.6
|
|
node: oneiric
|
|
|
|
|
|
- job-template:
|
|
name: 'gate-{name}-python27'
|
|
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
|
|
|
|
parameters:
|
|
- label:
|
|
name: NODE_LABEL
|
|
description: Label of node to use for this build
|
|
default: '{node}'
|
|
|
|
triggers:
|
|
- zuul
|
|
|
|
builders:
|
|
- gerrit_git_prep
|
|
- python27
|
|
|
|
node: '{node}'
|
|
|
|
|
|
- job-template:
|
|
name: 'gate-{name}-merge'
|
|
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:
|
|
- zuul
|
|
|
|
builders:
|
|
- gerrit_git_prep
|
|
|
|
node: '{node}'
|
|
|
|
|
|
- job-template:
|
|
name: 'gate-{name}-docs'
|
|
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:
|
|
- zuul
|
|
|
|
builders:
|
|
- gerrit_git_prep
|
|
- docs
|
|
|
|
node: '{node}'
|
|
|
|
|
|
- job-template:
|
|
name: 'gate-{name}-pyflakes'
|
|
project-type: freestyle
|
|
concurrent: true
|
|
node: precise
|
|
|
|
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
|
|
|
|
wrappers:
|
|
- timeout:
|
|
timeout: 30
|
|
fail: true
|
|
- timestamps
|
|
|
|
triggers:
|
|
- zuul
|
|
|
|
builders:
|
|
- gerrit_git_prep
|
|
- pyflakes
|
|
|
|
|
|
- job-group:
|
|
name: python-jobs
|
|
jobs:
|
|
- '{name}-coverage'
|
|
- 'gate-{name}-merge'
|
|
- 'gate-{name}-pep8'
|
|
- 'gate-{name}-python26'
|
|
- 'gate-{name}-python27'
|
|
- 'gate-{name}-docs'
|
|
# pyflakes isn't standard
|