project-config/jenkins/jobs/openstack-publish-jobs.yaml
Andreas Jaeger 68c2723f49 Fix tag publishing of server projects
Projects using openstack-server-publish-jobs publish documents both from
post and release pipelines. Now a tag on stable branch will publish the
documents both to developer/$project/$tag and developer/$project. This
overrides the documents published in the post pipeline - replacing
master documents with stable documents.

The publishing to both locations is correct for projects that only
publish as part of releases but not for those useing
openstack-server-publish-jobs.

To fix this:
Create a new job '{name}-docs-tags-only' that adds a new parameter to
run-docs script. If that parameter is passed, tag publishing will only
happen to developer/$project/$tag . Add the new job to the
openstack-publish-jobs so that all projects can use it.

Adapt openstack-server-publish-jobs in zuul to use the new job.

This change also adds constraint version of the publishing job. A new
builder docs-tags-only-env has beend added for the new jobs.

Change-Id: If0d000358f17a7d9ea0b8c3e3aada1c16291b3ee
2016-02-17 19:29:33 +01:00

166 lines
3.7 KiB
YAML

- job-template:
name: '{name}-docs'
node: bare-trusty
builders:
- print-template-name:
template-name: "{template-name}"
- revoke-sudo
- gerrit-git-prep
- docs
publishers:
- ftp:
site: '{doc-publisher-site}'
source: 'doc/build/html/**'
target: 'developer/{name}'
remove-prefix: 'doc/build/html'
excludes: ''
- console-log
- job-template:
name: '{name}-docs-tags-only'
description: Publish documents only to tag location
node: bare-trusty
builders:
- print-template-name:
template-name: "{template-name}"
- revoke-sudo
- gerrit-git-prep
- docs-tags-only-env:
env: venv
publishers:
- ftp:
site: '{doc-publisher-site}'
source: 'doc/build/html/**'
target: 'developer/{name}'
remove-prefix: 'doc/build/html'
excludes: ''
- console-log
- job-template:
name: '{name}-docs-constraints'
node: bare-trusty
builders:
- print-template-name:
template-name: "{template-name}"
- revoke-sudo
- zuul-git-prep-upper-constraints
- docs-env:
env: venv-constraints
publishers:
- ftp:
site: '{doc-publisher-site}'
source: 'doc/build/html/**'
target: 'developer/{name}'
remove-prefix: 'doc/build/html'
excludes: ''
- console-log
- job-template:
name: '{name}-docs-tags-only-constraints'
description: Publish documents only to tag location, uses constraints
node: bare-trusty
builders:
- print-template-name:
template-name: "{template-name}"
- revoke-sudo
- zuul-git-prep-upper-constraints
- docs-tags-only-env:
env: venv-constraints
publishers:
- ftp:
site: '{doc-publisher-site}'
source: 'doc/build/html/**'
target: 'developer/{name}'
remove-prefix: 'doc/build/html'
excludes: ''
- console-log
- job-template:
name: '{name}-merge-release-tags'
builders:
- print-template-name:
template-name: "{template-name}"
- revoke-sudo
- gerrit-git-prep
- shell: |
#!/bin/bash -xe
TAG=`echo $ZUUL_REFNAME | sed 's/refs.tags.//'`
/usr/local/jenkins/slave_scripts/merge_tags.sh $TAG
publishers:
- console-log
node: 'proposal'
# Publish releasenotes to docs.openstack.org/releasenotes/. This is
# always published from master branch.
- job-template:
name: '{name}-releasenotes'
node: bare-trusty
builders:
- print-template-name:
template-name: "{template-name}"
- revoke-sudo
- branch-git-prep:
branch: master
- tox:
envlist: 'releasenotes'
publishers:
- ftp:
site: '{doc-publisher-site}'
source: 'releasenotes/build/html/**'
target: 'releasenotes/{name}'
remove-prefix: 'releasenotes/build/html'
excludes: ''
- console-log
- job-template:
name: 'gate-{name}-releasenotes'
node: bare-trusty
builders:
- print-template-name:
template-name: "{template-name}"
- revoke-sudo
- gerrit-git-prep
- tox:
envlist: 'releasenotes'
publishers:
- upload-releasenotes-draft
- zuul-swift-upload-console-log
- job-group:
name: openstack-publish-jobs
jobs:
- '{name}-docs'
- '{name}-docs-tags-only'
- '{name}-docs-constraints'
- '{name}-docs-tags-only-constraints'
- '{name}-merge-release-tags'
- job-group:
name: openstack-releasenotes-jobs
jobs:
- 'gate-{name}-releasenotes'
- '{name}-releasenotes'