Add support for jobs to build gerrit.

Change-Id: I3d244ed76c153ae2d23afb4f7ba7198f3c92ac08
This commit is contained in:
Monty Taylor 2012-05-26 12:46:30 -04:00
parent c30656b74d
commit 1360d5fc86
5 changed files with 271 additions and 0 deletions

View File

@ -200,6 +200,7 @@ node "jenkins.openstack.org" {
site => "openstack",
projects => [
'cinder',
'gerrit',
'glance',
'keystone',
'nova',

View File

@ -43,6 +43,16 @@ class builders(object):
def _gerrit_git_prep(self, xml_parent):
self._add_script(xml_parent, '/usr/local/jenkins/slave_scripts/gerrit-git-prep.sh {site}'.format(site=self.data['main']['review_site']))
def _maven_test(self, xml_parent):
self._add_script(xml_parent, 'mvn test')
def _maven_package(self, xml_parent):
self._add_script(xml_parent, 'mvn package')
def _gerrit_package(self, xml_parent):
self._add_script(xml_parent,
'/usr/local/jenkins/slave_scripts/package-gerrit.sh')
def _pep8(self, xml_parent):
self._add_script(xml_parent, 'tox -v -epep8 | tee pep8.txt')

View File

@ -0,0 +1,41 @@
#! /usr/bin/env python
# Copyright (C) 2012 OpenStack, LLC.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
# Jenkins Job module for war publishers
# To use you add the following into your YAML:
# publish:
# site: 'nova.openstack.org'
# warfile: 'gerrit-war/target/gerrit*.war'
# target_path: 'tarballs/ci/'
import xml.etree.ElementTree as XML
class publisher_war(object):
def __init__(self, data):
self.data = data
def gen_xml(self, xml_parent):
site = self.data['publisher']['site']
publishers = XML.SubElement(xml_parent, 'publishers')
archiver = XML.SubElement(publishers, 'hudson.tasks.ArtifactArchiver')
XML.SubElement(archiver, 'artifacts').text = self.data['publisher']['warfile']
XML.SubElement(archiver, 'latestOnly').text = 'false'
scp = XML.SubElement(publishers, 'be.certipost.hudson.plugin.SCPRepositoryPublisher')
XML.SubElement(scp, 'siteName').text = site
entries = XML.SubElement(scp, 'entries')
entry = XML.SubElement(entries, 'be.certipost.hudson.plugin.Entry')
XML.SubElement(entry, 'filePath').text = self.data['publisher']['target_path']
XML.SubElement(entry, 'sourceFile').text = self.data['publisher']['warfile']
XML.SubElement(entry, 'keepHierarchy').text = 'false'

View File

@ -0,0 +1,212 @@
---
modules:
- properties
- scm
- assignednode
- trigger_gerrit
- builders
- publisher_none
main:
name: 'gate-gerrit-merge'
github_org: 'openstack-ci'
review_site: 'review.openstack.org'
project: 'gerrit'
authenticatedBuild: 'true'
disabled: 'false'
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: 'openstack-ci/gerrit'
branchCompareType: 'ANT'
branchPattern: '**'
builders:
- gerrit_git_prep
scm:
scm: 'false'
assignednode:
node: 'oneiric'
---
modules:
- properties
- scm
- assignednode
- trigger_gerrit
- builders
- publisher_none
main:
name: 'check-gerrit-merge'
github_org: 'openstack-ci'
review_site: 'review.openstack.org'
project: 'gerrit'
authenticatedBuild: 'true'
disabled: 'false'
trigger:
triggerOnPatchsetUploadedEvent: 'true'
triggerOnChangeMergedEvent: 'false'
triggerOnCommentAddedEvent: 'false'
triggerOnRefUpdatedEvent: 'false'
overrideVotes: 'true'
gerritBuildSuccessfulVerifiedValue: 1
gerritBuildFailedVerifiedValue: -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: 'openstack-ci/gerrit'
branchCompareType: 'ANT'
branchPattern: '**'
builders:
- gerrit_git_prep
scm:
scm: 'false'
assignednode:
node: 'oneiric'
---
# check-gerrit-unittests
modules:
- properties
- scm
- assignednode
- trigger_gerrit
- builders
- publisher_none
main:
name: 'check-gerrit-unittests'
review_site: 'review.openstack.org'
github_org: 'openstack-ci'
project: 'gerrit'
authenticatedBuild: 'true'
disabled: 'false'
trigger:
triggerOnPatchsetUploadedEvent: 'true'
triggerOnChangeMergedEvent: 'false'
triggerOnCommentAddedEvent: 'false'
triggerOnRefUpdatedEvent: 'false'
overrideVotes: 'true'
gerritBuildSuccessfulVerifiedValue: 1
gerritBuildFailedVerifiedValue: -1
failureMessage: ''
projects:
- projectCompareType: 'PLAIN'
projectPattern: 'openstack-ci/gerrit'
branchCompareType: 'ANT'
branchPattern: '**'
builders:
- gerrit_git_prep
- maven_test
scm:
scm: 'true'
assignednode:
node: 'oneiric'
---
# gate-gerrit-unittests
modules:
- properties
- scm
- assignednode
- trigger_gerrit
- builders
- publisher_none
main:
name: 'gate-gerrit-unittests'
review_site: 'review.openstack.org'
github_org: 'openstack-ci'
project: 'gerrit'
authenticatedBuild: 'true'
disabled: 'false'
trigger:
triggerOnPatchsetUploadedEvent: 'false'
triggerOnChangeMergedEvent: 'false'
triggerOnCommentAddedEvent: 'true'
triggerOnRefUpdatedEvent: 'false'
triggerApprovalCategory: 'APRV'
triggerApprovalValue: 1
failureMessage: ''
projects:
- projectCompareType: 'PLAIN'
projectPattern: 'openstack-ci/gerrit'
branchCompareType: 'ANT'
branchPattern: '**'
builders:
- gerrit_git_prep
- maven_test
scm:
scm: 'true'
assignednode:
node: 'oneiric'
---
# gerrit-package
modules:
- properties
- scm
- assignednode
- trigger_gerrit
- builders
- publisher_war
main:
name: 'gerrit-package'
review_site: 'review.openstack.org'
github_org: 'openstack-ci'
project: 'gerrit'
authenticatedBulid: 'false'
disabled: 'false'
trigger:
triggerOnPatchsetUploadedEvent: 'false'
triggerOnChangeMergedEvent: 'false'
triggerOnCommentAddedEvent: 'false'
triggerOnRefUpdatedEvent: 'true'
triggerApprovalCategory: ''
triggerApprovalValue: ''
failureMessage: ''
projects:
- projectCompareType: 'PLAIN'
projectPattern: 'openstack-ci/gerrit'
branchCompareType: 'REG_EXP'
branchPattern: '^(?!refs/).*$'
builders:
- gerrit_git_prep
- gerrit_package
scm:
scm: 'true'
assignednode:
node: 'oneiric'
publisher:
site: 'nova.openstack.org'
warfile: 'gerrit-war/target/gerrit*.war'
target_path: 'tarballs/ci/'

View File

@ -0,0 +1,7 @@
#!/bin/bash -xe
rm -fr ~/.m2
rm -fr ~/.java
./tools/version.sh --release
mvn clean package -Dgerrit.include-documentation=1 -X
./tools/version.sh --reset