Remove merge jobs.
Zuul internally merges or cherry-picks changes before running jobs and gerrit-git-prep now uses the output of that. Therefore, merge jobs are redundant. However, some projects have no gate tests, so create a noop job for those projects so Zuul has something to run. As long as it doesn't actually do anything with a git repo, it can be shared by all projects. * Remove definitions of merge jobs in jjb. * Add a new singleton 'gate-noop' job. * Remove invocations of -merge jobs in zuul, replacing them with -noop jobs if they are the only jobs for a pipeline. * Update new job documentation to mention gate-noop, and lack of need to update projects.yaml if not using python-jobs. Change-Id: I56d3f0f99b2f05780fc82222854db4f1c8f68b57 Reviewed-on: https://review.openstack.org/18246 Reviewed-by: Jeremy Stanley <fungi@yuggoth.org> Approved: Monty Taylor <mordred@inaugust.com> Reviewed-by: Monty Taylor <mordred@inaugust.com> Tested-by: Jenkins
This commit is contained in:
parent
704a02d3d5
commit
e04970cc53
@ -85,81 +85,59 @@ these additional tools.
|
||||
Add Jenkins Jobs to StackForge Projects
|
||||
=======================================
|
||||
|
||||
In the same openstack-infra/config repository (and in the same change if
|
||||
you like) we need to edit two additional files to setup Jenkins jobs
|
||||
In the same openstack-infra/config repository (and in the same change
|
||||
if you like) we need to edit additional files to setup Jenkins jobs
|
||||
and Zuul for the new StackForge project.
|
||||
|
||||
Edit
|
||||
If you are interested in using the standard python Jenkins jobs (docs,
|
||||
pep8, python 2.6 and 2.7 unittests, and coverage), edit
|
||||
``openstack-infra/config/modules/openstack_project/files/jenkins_job_builder/config/projects.yaml``
|
||||
and add a new section for your project at the end of the file. It should
|
||||
look something like::
|
||||
and add a new section for your project at the end of the file. It
|
||||
should look something like::
|
||||
|
||||
- project:
|
||||
name: project-name
|
||||
github-org: stackforge
|
||||
node: precise
|
||||
|
||||
jobs:
|
||||
- gate-{name}-merge
|
||||
|
||||
This will add a single Jenkins job for your project called
|
||||
gate-project-name-merge. This job will return success if the submitted
|
||||
change can be merged into the current state of your project's master
|
||||
branch and failure otherwise.
|
||||
|
||||
The above config is the bare minimum Jenkins job config needed. If you
|
||||
are interested in using the standard python Jenkins jobs (docs, pep8,
|
||||
python 2.6 and 2.7 unittests, and coverage) your entry in
|
||||
``projects.yaml`` should look like this instead::
|
||||
|
||||
- project:
|
||||
name: project-name
|
||||
github-org: stackforge
|
||||
# Requires additional config please discuss docs with infra team.
|
||||
doc-publisher-site: some.ftp.host
|
||||
node: precise
|
||||
|
||||
jobs:
|
||||
- python-jobs
|
||||
|
||||
Now that we have a Jenkins job we need to tell Zuul to run that job when
|
||||
If you aren't ready to run any gate tests yet, you don't need to edit
|
||||
``projects.yaml``.
|
||||
|
||||
Now that we have Jenkins jobs we need to tell Zuul to run them when
|
||||
appropriate. Edit
|
||||
``openstack-infra/config/modules/openstack_project/files/zuul/layout.yaml``
|
||||
and add a new section for your project at the end of the file. It should
|
||||
look something like::
|
||||
and add a new section for your project at the end of the file. It
|
||||
should look something like::
|
||||
|
||||
- name: stackforge/project-name
|
||||
check:
|
||||
- gate-project-name-merge
|
||||
- gate-project-name-docs
|
||||
- gate-project-name-pep8
|
||||
- gate-project-name-python26
|
||||
- gate-project-name-python27
|
||||
gate:
|
||||
- gate-project-name-merge
|
||||
|
||||
This configures zuul to check if change patchsets can merge on every
|
||||
submission to Gerrit and will check that the change can merge before
|
||||
attempting to merge approved changes.
|
||||
|
||||
If you configured the ``python-jobs`` your ``zuul/layout.yaml`` should
|
||||
look like this instead::
|
||||
|
||||
- name: stackforge/project-name
|
||||
check:
|
||||
- gate-project-name-merge
|
||||
- gate-project-name-docs
|
||||
- gate-project-name-pep8
|
||||
- gate-project-name-python26
|
||||
- gate-project-name-python27
|
||||
gate:
|
||||
- gate-project-name-merge
|
||||
- gate-project-name-docs
|
||||
- gate-project-name-pep8
|
||||
- gate-project-name-python26
|
||||
- gate-project-name-python27
|
||||
- gate-project-name-docs
|
||||
- gate-project-name-pep8
|
||||
- gate-project-name-python26
|
||||
- gate-project-name-python27
|
||||
post:
|
||||
- project-name-coverage
|
||||
- project-name-docs
|
||||
publish:
|
||||
- project-name-docs
|
||||
|
||||
If you aren't ready to run any gate tests yet and did not configure
|
||||
python-jobs in project.yaml, it should look like this instead::
|
||||
|
||||
- name: stackforge/project-name
|
||||
check:
|
||||
- gate-noop
|
||||
gate:
|
||||
- gate-noop
|
||||
|
||||
That concludes the bare minimum openstack-infra/config changes necessary to
|
||||
add a project to StackForge. You can commit these changes and submit
|
||||
them to review.openstack.org at this point, or you can wait a little
|
||||
|
@ -1,8 +1,3 @@
|
||||
- job-group:
|
||||
name: api-jobs
|
||||
jobs:
|
||||
- gate-{name}-merge
|
||||
|
||||
# this moves the openstack-api-programming job from manuals.yaml and adjusts target
|
||||
# and publishers accordingly
|
||||
- job:
|
||||
|
@ -0,0 +1,7 @@
|
||||
- job:
|
||||
name: gate-noop
|
||||
|
||||
triggers:
|
||||
- zuul
|
||||
|
||||
node: precise
|
@ -1,12 +1,3 @@
|
||||
- project:
|
||||
name: api-site
|
||||
github-org: openstack
|
||||
node: precise
|
||||
doc-publisher-site: api.openstack.org
|
||||
|
||||
jobs:
|
||||
- gate-{name}-merge
|
||||
|
||||
- project:
|
||||
name: ceilometer
|
||||
github-org: openstack
|
||||
@ -43,43 +34,6 @@
|
||||
- openstack-compute-api-doc
|
||||
|
||||
|
||||
- project:
|
||||
name: devstack-gate
|
||||
github-org: openstack-infra
|
||||
node: precise
|
||||
|
||||
jobs:
|
||||
- gate-{name}-merge
|
||||
|
||||
|
||||
- project:
|
||||
name: devstack
|
||||
github-org: openstack-dev
|
||||
node: precise
|
||||
|
||||
jobs:
|
||||
- gate-{name}-merge
|
||||
|
||||
|
||||
- project:
|
||||
name: diskimage-builder
|
||||
github-org: stackforge
|
||||
node: precise
|
||||
tarball-publisher-site: 173.203.107.207
|
||||
|
||||
jobs:
|
||||
- gate-{name}-merge
|
||||
|
||||
|
||||
- project:
|
||||
name: gerrit
|
||||
github-org: openstack-infra
|
||||
node: precise
|
||||
|
||||
jobs:
|
||||
- gate-{name}-merge
|
||||
|
||||
|
||||
- project:
|
||||
name: gerritbot
|
||||
github-org: openstack-infra
|
||||
@ -88,7 +42,6 @@
|
||||
tarball-publisher-site: 173.203.107.207
|
||||
|
||||
jobs:
|
||||
- gate-{name}-merge
|
||||
- gate-{name}-pep8
|
||||
- gate-{name}-pyflakes
|
||||
- '{name}-sdist-tarball'
|
||||
@ -104,7 +57,6 @@
|
||||
tarball-publisher-site: nova.openstack.org
|
||||
|
||||
jobs:
|
||||
- gate-{name}-merge
|
||||
- gate-{name}-pep8
|
||||
- gate-{name}-pyflakes
|
||||
- '{name}-pypi-sdist'
|
||||
@ -119,7 +71,6 @@
|
||||
tarball-publisher-site: nova.openstack.org
|
||||
|
||||
jobs:
|
||||
- gate-{name}-merge
|
||||
- gate-{name}-pep8
|
||||
- gate-{name}-pyflakes
|
||||
- '{name}-pypi-sdist'
|
||||
@ -131,7 +82,6 @@
|
||||
github-org: openstack-infra
|
||||
node: precise
|
||||
jobs:
|
||||
- gate-{name}-merge
|
||||
- gate-{name}-pep8
|
||||
|
||||
|
||||
@ -217,7 +167,6 @@
|
||||
tarball-publisher-site: nova.openstack.org
|
||||
|
||||
jobs:
|
||||
- gate-{name}-merge
|
||||
- gate-{name}-pep8
|
||||
- gate-{name}-pyflakes
|
||||
- '{name}-sdist-tarball'
|
||||
@ -241,33 +190,6 @@
|
||||
- translation-jobs
|
||||
|
||||
|
||||
- project:
|
||||
name: lodgeit
|
||||
github-org: openstack-infra
|
||||
node: precise
|
||||
|
||||
jobs:
|
||||
- gate-{name}-merge
|
||||
|
||||
|
||||
- project:
|
||||
name: meetbot
|
||||
github-org: openstack-infra
|
||||
node: precise
|
||||
|
||||
jobs:
|
||||
- gate-{name}-merge
|
||||
|
||||
|
||||
- project:
|
||||
name: MRaaS
|
||||
github-org: stackforge
|
||||
node: precise
|
||||
|
||||
jobs:
|
||||
- gate-{name}-merge
|
||||
|
||||
|
||||
- project:
|
||||
name: netconn-api
|
||||
github-org: openstack
|
||||
@ -299,7 +221,6 @@
|
||||
tarball-publisher-site: 173.203.107.207
|
||||
|
||||
jobs:
|
||||
- gate-{name}-merge
|
||||
- '{name}-sdist-tarball'
|
||||
- '{name}-pypi-sdist'
|
||||
- '{name}-pypi-upload'
|
||||
@ -322,15 +243,6 @@
|
||||
- translation-jobs
|
||||
|
||||
|
||||
- project:
|
||||
name: config
|
||||
github-org: openstack-infra
|
||||
node: precise
|
||||
|
||||
jobs:
|
||||
- gate-{name}-merge
|
||||
|
||||
|
||||
- project:
|
||||
name: object-api
|
||||
github-org: openstack
|
||||
@ -356,46 +268,6 @@
|
||||
- gate-{name}-pyflakes
|
||||
|
||||
|
||||
- project:
|
||||
name: openstack-nose
|
||||
github-org: openstack-dev
|
||||
node: precise
|
||||
tarball-publisher-site: nova.openstack.org
|
||||
doc-publisher-site: docs.openstack.org
|
||||
|
||||
jobs:
|
||||
- gate-{name}-merge
|
||||
|
||||
|
||||
- project:
|
||||
name: openstack-chef
|
||||
github-org: openstack
|
||||
node: precise
|
||||
tarball-publisher-site: nova.openstack.org
|
||||
doc-publisher-site: docs.openstack.org
|
||||
|
||||
jobs:
|
||||
- gate-{name}-merge
|
||||
|
||||
|
||||
- project:
|
||||
name: openstack-qa
|
||||
github-org: openstack-dev
|
||||
node: precise
|
||||
|
||||
jobs:
|
||||
- gate-{name}-merge
|
||||
|
||||
|
||||
- project:
|
||||
name: openstack-planet
|
||||
github-org: openstack
|
||||
node: precise
|
||||
|
||||
jobs:
|
||||
- gate-{name}-merge
|
||||
|
||||
|
||||
- project:
|
||||
name: pbr
|
||||
github-org: openstack-dev
|
||||
@ -408,33 +280,6 @@
|
||||
- pypi-jobs
|
||||
|
||||
|
||||
- project:
|
||||
name: puppet-apparmor
|
||||
github-org: openstack-infra
|
||||
node: precise
|
||||
|
||||
jobs:
|
||||
- gate-{name}-merge
|
||||
|
||||
|
||||
- project:
|
||||
name: puppet-dashboard
|
||||
github-org: openstack-infra
|
||||
node: precise
|
||||
|
||||
jobs:
|
||||
- gate-{name}-merge
|
||||
|
||||
|
||||
- project:
|
||||
name: puppet-vcsrepo
|
||||
github-org: openstack-infra
|
||||
node: precise
|
||||
|
||||
jobs:
|
||||
- gate-{name}-merge
|
||||
|
||||
|
||||
- project:
|
||||
name: python-ceilometerclient
|
||||
github-org: openstack
|
||||
@ -552,15 +397,6 @@
|
||||
- python-jobs
|
||||
|
||||
|
||||
- project:
|
||||
name: reddwarf-integration
|
||||
github-org: stackforge
|
||||
node: precise
|
||||
|
||||
jobs:
|
||||
- gate-{name}-merge
|
||||
|
||||
|
||||
- project:
|
||||
name: python-reddwarfclient
|
||||
github-org: stackforge
|
||||
@ -638,24 +474,6 @@
|
||||
- hook-{name}-rtfd
|
||||
|
||||
|
||||
- project:
|
||||
name: requirements
|
||||
github-org: openstack
|
||||
node: precise
|
||||
|
||||
jobs:
|
||||
- gate-{name}-merge
|
||||
|
||||
|
||||
- project:
|
||||
name: sandbox
|
||||
github-org: openstack-dev
|
||||
node: precise
|
||||
|
||||
jobs:
|
||||
- gate-{name}-merge
|
||||
|
||||
|
||||
- project:
|
||||
name: swift
|
||||
github-org: openstack
|
||||
@ -677,28 +495,9 @@
|
||||
node: precise
|
||||
|
||||
jobs:
|
||||
- gate-{name}-merge
|
||||
- gate-{name}-pep8
|
||||
|
||||
|
||||
- project:
|
||||
name: volume-api
|
||||
github-org: openstack
|
||||
node: precise
|
||||
|
||||
jobs:
|
||||
- gate-{name}-merge
|
||||
|
||||
|
||||
- project:
|
||||
name: openstack-manuals
|
||||
github-org: openstack
|
||||
node: precise
|
||||
|
||||
jobs:
|
||||
- gate-{name}-merge
|
||||
|
||||
|
||||
- project:
|
||||
name: zuul
|
||||
github-org: openstack-infra
|
||||
@ -713,14 +512,6 @@
|
||||
- '{name}-pypi-upload'
|
||||
|
||||
|
||||
- project:
|
||||
name: openstack-qa
|
||||
github-org: openstack-dev
|
||||
node: precise
|
||||
jobs:
|
||||
- gate-{name}-merge
|
||||
|
||||
|
||||
- project:
|
||||
name: devstack-node-provider-rackspace
|
||||
provider: rackspace
|
||||
|
@ -174,20 +174,6 @@
|
||||
|
||||
node: '{node}'
|
||||
|
||||
- job-template:
|
||||
name: 'gate-{name}-merge'
|
||||
|
||||
triggers:
|
||||
- zuul
|
||||
|
||||
builders:
|
||||
- gerrit-git-prep
|
||||
|
||||
publishers:
|
||||
- console-log
|
||||
|
||||
node: '{node}'
|
||||
|
||||
|
||||
- job-template:
|
||||
name: 'gate-{name}-docs'
|
||||
@ -224,7 +210,6 @@
|
||||
name: python-jobs
|
||||
jobs:
|
||||
- '{name}-coverage'
|
||||
- 'gate-{name}-merge'
|
||||
- 'gate-{name}-pep8'
|
||||
- 'gate-{name}-python26'
|
||||
- 'gate-{name}-python27'
|
||||
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user