Andrew Hutchings c3db5b210a Jenkins Job builder 2.0
This uses a python script with modules for parts of the XML.  The parameters for the projects are provided using YAML scripts.

It also includes a Jenkins API module to directly inject jobs into Jenkins without requiring a restart/reload as well as a memory of which jobs have been pushed to Jenkins.

It is currently configured to replace the original Jenkins Jobs in StackForge.

What it won't yet do:
1. Delete jobs (although it isn't far off being able to)
2. check-* jobs (need to modify the trigger_gerrit module to support that)

Documentation to follow

Fixes bug #995599

Change-Id: I2a67ee2d9e8f43cbced56425ef7f80dc6a30a814
2012-05-11 14:43:52 +01:00

330 lines
5.2 KiB
YAML

---
# coverage
modules:
- logrotate
- properties
- scm
- assignednode
- trigger_timed
- builders
- publisher_coverage
main:
name: 'reddwarf-coverage'
site: 'stackforge'
project: 'reddwarf'
authenticatedBuild: 'false'
disabled: 'true'
trigger:
timed: '*/15 * * * *'
builders:
- copy_bundle
- coverage
scm:
scm: 'true'
assignednode:
node: 'oneiric'
logrotate:
daysToKeep: 3
numToKeep: 20
artifactDaysToKeep: -1
artifactNumToKeep: -1
---
# pep8-gate
modules:
- properties
- scm
- assignednode
- trigger_gerrit
- builders
- publisher_pep8
main:
name: 'gate-reddwarf-pep8'
site: 'stackforge'
project: 'reddwarf'
authenticatedBuild: 'true'
disabled: 'true'
trigger:
triggerOnPatchsetUploadedEvent: 'false'
triggerOnChangeMergedEvent: 'false'
triggerOnCommentAddedEvent: 'true'
triggerOnRefUpdatedEvent: 'false'
triggerApprovalCategory: 'APRV'
triggerApprovalValue: 1
failureMessage: ''
projects:
- projectCompareType: 'PLAIN'
projectPattern: 'stackforge/reddwarf'
branchCompareType: 'ANT'
branchPattern: '**'
builders:
- gerrit_git_prep
- copy_bundle
- pep8
scm:
scm: 'false'
assignednode:
node: 'oneiric'
---
# python26-gate
modules:
- properties
- scm
- assignednode
- trigger_gerrit
- builders
- publisher_none
main:
name: 'gate-reddwarf-python26'
site: 'stackforge'
project: 'reddwarf'
authenticatedBuild: 'true'
disabled: 'true'
trigger:
triggerOnPatchsetUploadedEvent: 'false'
triggerOnChangeMergedEvent: 'false'
triggerOnCommentAddedEvent: 'true'
triggerOnRefUpdatedEvent: 'false'
triggerApprovalCategory: 'APRV'
triggerApprovalValue: 1
failureMessage: ''
projects:
- projectCompareType: 'PLAIN'
projectPattern: 'stackforge/reddwarf'
branchCompareType: 'ANT'
branchPattern: '**'
builders:
- gerrit_git_prep
- copy_bundle
- python26
scm:
scm: 'true'
assignednode:
node: 'oneiric'
---
# python27-gate
modules:
- properties
- scm
- assignednode
- trigger_gerrit
- builders
- publisher_none
main:
name: 'gate-reddwarf-python27'
site: 'stackforge'
project: 'reddwarf'
authenticatedBuild: 'true'
disabled: 'true'
trigger:
triggerOnPatchsetUploadedEvent: 'false'
triggerOnChangeMergedEvent: 'false'
triggerOnCommentAddedEvent: 'true'
triggerOnRefUpdatedEvent: 'false'
triggerApprovalCategory: 'APRV'
triggerApprovalValue: 1
failureMessage: ''
projects:
- projectCompareType: 'PLAIN'
projectPattern: 'stackforge/reddwarf'
branchCompareType: 'ANT'
branchPattern: '**'
builders:
- gerrit_git_prep
- copy_bundle
- python27
scm:
scm: 'true'
assignednode:
node: 'oneiric'
---
# venv
modules:
- properties
- scm
- assignednode
- trigger_timed
- builders
- publisher_venv
main:
name: 'reddwarf-venv'
site: 'stackforge'
project: 'reddwarf'
authenticatedBuild: 'false'
disabled: 'true'
trigger:
timed: '@midnight'
builders:
- venv
scm:
scm: 'true'
assignednode:
node: 'oneiric'
---
# docs
modules:
- properties
- scm
- assignednode
- trigger_timed
- builders
- publisher_docs
main:
name: 'reddwarf-docs'
site: 'stackforge'
project: 'reddwarf'
authenticatedBuild: 'false'
disabled: 'true'
trigger:
timed: '*/15 * * * *'
builders:
- copy_bundle
- docs
scm:
scm: 'true'
assignednode:
node: 'oneiric'
---
# merge-gate
modules:
- properties
- scm
- assignednode
- trigger_gerrit
- builders
- publisher_none
main:
name: 'gate-reddwarf-merge'
site: 'stackforge'
project: 'reddwarf'
authenticatedBuild: 'true'
disabled: 'true'
trigger:
triggerOnPatchsetUploadedEvent: 'false'
triggerOnChangeMergedEvent: 'false'
triggerOnCommentAddedEvent: 'true'
triggerOnRefUpdatedEvent: 'false'
triggerApprovalCategory: 'APRV'
triggerApprovalValue: 1
failureMessage: 'This change was unable to be automatically merged with the current state of the repository. Please rebase your change and upload a new patchset.'
projects:
- projectCompareType: 'PLAIN'
projectPattern: 'stackforge/reddwarf'
branchCompareType: 'ANT'
branchPattern: '**'
builders:
- gerrit_git_prep
scm:
scm: 'false'
assignednode:
node: 'oneiric'
---
# ppa
modules:
- properties
- scm
- assignednode
- trigger_none
- builders
- publisher_ppa
main:
name: 'reddwarf-ppa'
site: 'stackforge'
project: 'reddwarf'
authenticatedBuild: 'false'
disabled: 'true'
builders:
- ppa
scm:
scm: 'false'
assignednode:
node: 'oneiric'
---
# tarball
modules:
- properties
- scm
- assignednode
- trigger_gerrit
- builders
- publisher_tarball
main:
name: 'reddwarf-tarball'
site: 'stackforge'
project: 'reddwarf'
authenticatedBulid: 'false'
disabled: 'true'
trigger:
triggerOnPatchsetUploadedEvent: 'false'
triggerOnChangeMergedEvent: 'false'
triggerOnCommentAddedEvent: 'false'
triggerOnRefUpdatedEvent: 'true'
triggerApprovalCategory: ''
triggerApprovalValue: ''
failureMessage: ''
projects:
- projectCompareType: 'PLAIN'
projectPattern: 'stackforge/reddwarf'
branchCompareType: 'REG_EXP'
branchPattern: '^(?!refs/).*$'
builders:
- gerrit_git_prep
- copy_bundle
- tarball
scm:
scm: 'true'
assignednode:
node: 'oneiric'