Commit Graph

57 Commits

Author SHA1 Message Date
Monty Taylor 355f7090a6 Remove zuul v2 and jjb content
It's migrated, it can be removed now.

Depends-On: I6a89752d74ed7424267c3af3937ad01fb4bb8f86
Change-Id: Id67d0149b645bd23e460cef65719541f76f0967b
2017-10-24 08:50:05 +02:00
Monty Taylor b4fd783219
Remove unmatched single quotes from jenkins jobs
The v3 migration script can handle these just fine - but if we go ahead
and remove them the output can be predominantely shell rather than
script.

Change-Id: I440851a0149e1cc7f8c5c6e8a4e3e0b94088ee82
2017-09-20 09:27:26 -05:00
Andreas Jaeger 796ca3000f Remove trusty docs publish job
As part of the docs-migration, we already changed the publish job to
only run on xenial - all official repos have eol'ed mitaka. Thus, remove
the job definition for trusty as well.

Change-Id: I8840ac0f4dafeaedb2743f5f89f876532336bf70
2017-07-08 17:37:02 +02:00
Doug Hellmann 8763a01914 fix publishing directory depth for the unified publishing job
The run-docs.sh script already does some renaming and file moving for
us, so the unified publishing job needs to be more careful about the
renaming it does as it prepares files for publishing. We want everything
for a project to appear under docs.o.o/$project/, with master going to
"latest", other stable branches going to $series, and tagged versions
going to a directory named for the tag.

Change-Id: I4c0350b29ff910e5acdd1c0982d0096a20188495
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2017-07-05 15:21:03 -04:00
Jenkins 3b536d443d Merge "Use unified docs job everywhere" 2017-07-03 15:56:13 +00:00
Jenkins 5b6df1d9fc Merge "remove job templates for server and client publish jobs" 2017-07-03 15:53:54 +00:00
Andreas Jaeger bcf8bf5bd3 Use unified docs job everywhere
Since we're publishing now with every commit, use the unified publish
jobs everywhere. Stop publishing pre-release docs, we don't use
pre-releases and always have current docs up, so can use the template
everywhere.

Also, remove one obsolete comment.

Change-Id: I6cc2cf94a90494959219448d62993bef014714f6
2017-07-03 15:53:26 +02:00
Doug Hellmann 0518a27ee2 fix reference parsing in the unified publishing job for tagged releases
Fix an off-by-one error in the publishing job that made the job try to
set up doc/publish/tags/1.12.0 instead of doc/publish/1.12.0 (and fail
because the intermediate tags directory did not exist).

See
http://logs.openstack.org/7e/7e88422ffd84664bbdcf07c03428694d26ed3897/release/openstackdocstheme-docs-unified-ubuntu-xenial/26e912a/console.html#_2017-07-03_11_08_11_042419
for an example of a failure.

Change-Id: Iacbfdab106367e33f267665cd9463fc4789dcfba
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2017-07-03 07:44:49 -04:00
Doug Hellmann ac7885a26c remove job templates for server and client publish jobs
After the doc migration, these templates should no longer be needed.

Change-Id: Id997f88a34501824ea1fcd3ee5cd6fff085225ad
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2017-07-03 07:28:20 -04:00
Doug Hellmann 780cfd5270 update unified publishing job to work for tags
The old version of the job converted the tag name to a branch and used
that as the publishing location. We do, however, want to be able to
publish docs for a given version of a deliverable when we tag it. That
will allow us to refer users directly to the guide for the version of
their tool or service.

This change assumes that the job is only configured in the release queue
and will not be run for pre-releases. If it sees that the trigger for
the job is a tag, it uses that as the output location. Otherwise it uses
the branch name. That gives us docs.openstack.org/$project/$version or
docs.openstack.org/$project/latest or
docs.openstack.org/$project/$series as the final destination of the
docs.

Change-Id: I5a3fe2775fc21c23fb1df6f6c987ec63000f1c7c
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2017-06-28 15:13:21 -04:00
Doug Hellmann f163f0ce9f define a unified project documentation build job
This new job will be used after we migrate the content from the
openstack-manuals repo into project trees.

Change-Id: Icfe74c1f9eabe50bbf6fe686c2e948fceca135cb
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2017-06-07 17:45:36 -04:00
Andreas Jaeger bb75639300 Remove branch-git-prep
Remove branch-git-prep, we can use zuul-cloner everywhere.

Rework zuul-git-branch-prep to follow the logic of
zuul-git-branch-prep-upper-constraints. Note that zuul-git-branch-prep was not
used prior to this patch.

Change occurences of branch-git-prep to zuul-git-branch-prep.

Change-Id: Id938a858a0ff1967b97293405ef41b9b281f407f
2017-04-07 07:45:11 +02:00
Andreas Jaeger 58b73f1f72 Stop publishing to previous Cloud sites docs.o.o
The AFS based publishing and serving via files.openstack.org works fine,
we can stop publishing to docs.openstack.org

Change-Id: I4d6b51c7f8065e5cd21942acc64ae56639bb185b
2017-01-13 19:58:02 +01:00
Jeremy Stanley a584363a4e Remove pointless doc-publisher-site parameter
Across the entirety of our job config corpus, we only ever set the
doc-publisher-site parameter to docs.openstack.org. Instead just set
it directly in the publishers where it's needed and reduce
unwarranted confusion for people writing job configs.

Change-Id: I87a17ee7de618361f12a025d23629b7d5d711810
2016-12-19 14:53:46 +00:00
Clark Boylan 34304bc9ff Run docs tags only plublish on Xenial
I don't think we can switch on branch name for these release queue jobs
because the ref info will always be fore refs/tags/*. Just move forward
to running this on Xenial since the vast majority of our future releases
that need publishing will have been tested on Xenial.

Change-Id: I855a2242af4644dd86117812a5efab4643a3f771
2016-12-08 10:10:47 -08:00
Andreas Jaeger 65512b5462 Move JJB include scripts to subdir
Create jenkins/jobs/include directory and move the two scripts that we
currently have into that directory.

Adjust builders using the scripts.

Change-Id: If0cda5a6749dd19fdc57b6f64a6f7ed5ac5bfc00
2016-11-18 20:31:52 +01:00
Andreas Jaeger e9fd2eeb87 Generate translated release notes
Testing was successfull, see
https://review.openstack.org/#/c/383857/  (with translations)
https://review.openstack.org/#/c/383858/ (without translations)

Remove test job and change standard release notes jobs to generate
translated release notes.

Change-Id: I808d9e531300f9dda449812aee0ad3c9058da6d5
2016-10-07 20:45:48 +02:00
Andreas Jaeger 19ea9dcda2 Translate releasenotes
Add a new script to build release notes including translation,
we will run this script as part of each release notes build.

The new script will build releasenotes and all translations for them.
It checks for available translations and only builds for these.

The translated releasenotes are published in-tree, so for
trove-dashboard this would publish:
/releasenotes/trove-dashboard # Original untranslated content
/releasenotes/trove-dashboard/ja/  # Japanese translation
/releasenotes/trove-dashboard/ko_KR/ # Korean translation

The index file gets automatically enhanced to include
links to the translated releasenotes.

A preview of the generated release notes are at:
http://users.suse.com/~aj/horizon-releasenotes/
http://users.suse.com/~aj/trove-dashboard-releasenotes/

Include the file directly in JJB so that it can be changed anytime.
For details, see:
http://docs.openstack.org/infra/jenkins-job-builder/definition.html#module-jenkins_jobs.local_yaml

This needs a change for jenkins-projects-checks.py: The yaml is now an
extented yaml, use the JJB yaml loader to parse it.

For now, use a separate job gate-{name}-i18n-releasenotes-nv and add it
only to horizon and openstack-manuals so that we can evaluate that this
works as expected. A followup will add this for all jobs and the
publishing as well.

Co-Authored-By: Akihiro Motoki <amotoki@gmail.com>
Change-Id: Ic64d571a91bc1bd292d45c0f6ba1a67bfee75997
2016-10-07 10:58:28 +02:00
James E. Blair 6dcebba9f8 Add AFS publishers to all docs jobs
This adds an equivalent AFS publisher everywhere we currently have
an FTP publisher.

Change-Id: Ie0bdedfeab7f7e7d831acbabd347ef5b26dfcc8b
2016-09-30 08:47:38 -07:00
Jeremy Stanley 1bafff1d3f Merge "Revert "Merge zuul-git-prep-upper-constraints/zuul-release-git-prep-upper-constraints"" 2016-09-26 14:48:18 +00:00
Jeremy Stanley 452e91444f Revert "Merge zuul-git-prep-upper-constraints/zuul-release-git-prep-upper-constraints"
This reverts commit 7944e1a114.

Change-Id: I52b2675d5d315db56e5e4406b60c6a036d5c4fe0
2016-09-26 14:22:50 +00:00
Jenkins f2d1cf71ed Merge "Merge zuul-git-prep-upper-constraints/zuul-release-git-prep-upper-constraints" 2016-09-26 13:18:37 +00:00
Andreas Jaeger ea0c547f6c Add root-marker for api-ref, api-guide,install-guide jobs
This is so that we can create a list of directories to ignore when we
rsync documentation builds to a publishing site. Some builds are
published as subdirectories underneath the results of superior builds.

This allows those superior builds to be rsynced without removing the
other builds that were published under them.

Also, create a common builder add-docs-root-marker and use it where
possible and update publishing of release notes as well.

Change-Id: I34cd631eb199d77801ad9fa068aa209f02ad1cfd
2016-09-14 19:18:11 +02:00
Andreas Jaeger 20973c3e6b Include marker file for release notes
This is so that we can create a list of directories to ignore when we
rsync documentation builds to a publishing site. Some builds are
published as subdirectories underneath the results of superior builds.
This allows those superior builds to be rsynced without removing the
other builds that were published under them.

Change-Id: Ie2eb32c4853188fa059018dffb0e161fcf95c085
2016-09-14 10:46:12 +02:00
Andreas Jaeger 7944e1a114 Merge zuul-git-prep-upper-constraints/zuul-release-git-prep-upper-constraints
Both builders do basically the same thing: Check out a repository and
the requirements repo and make the upper-constraints file available.

Problem is that zuul-git-prep-upper-constraints cannot use in
tag/release queues. The builder
zuul-release-git-prep-upper-constraints was written for this. It can be
used in all queues, so let's use that one instead of having two
builders.

The change removes zuul-git-prep-upper-constraints, renames
zuul-release-git-prep-upper-constraints to
zuul-git-prep-upper-constraints and changes usage of
zuul-release-git-prep-upper-constraints to
zuul-git-prep-upper-constraints.

So, we now have one builder under the
name zuul-git-prep-upper-constraints that can be used everywhere.

Change-Id: Ifbebd0f8a7b265dfe517b4c180502580b4b0b55f
2016-08-23 20:03:59 +02:00
Jenkins 77b4697f78 Merge "Use zuul-cloner for docs publishing" 2016-08-09 07:41:48 +00:00
Jenkins 0bcde40bd4 Merge "Enable constraints for releasenotes" 2016-08-08 19:04:24 +00:00
Andreas Jaeger 125e4e5ec4 Use zuul-cloner for docs publishing
Use zuul-cloner with constraints for {name}-docs-{node} and
{name}-docs-tags-only jobs. These jobs run in release and post
pipelines, so use zuul-release-git-prep-upper-constraints builder.

Change-Id: I87406f3f42e8d3f2d093b1bccc11f7e479f0aac7
2016-08-05 11:15:11 +02:00
Andreas Jaeger d8d99557b0 Enable constraints for releasenotes
Testing of releasenotes publishing looks fine with the test job, remove
the test job and enable zuul-cloner for the releasenotes jobs.

Since releasenotes are always published from master, run the publish
jobs as well as the check/gate jobs on xenial.

Change-Id: If5d6b11bd795091eef949001cca6e8d4ec723ef2
2016-08-04 21:29:51 +02:00
Jenkins d7db04fb6b Merge "Move {name}-docs to ubuntu-xenial" 2016-08-04 07:23:38 +00:00
Paul Belanger 16ab739787 Move {name}-docs to ubuntu-xenial
This is part of our effort to migrate to ubuntu-xenial.

Change-Id: Ida82b5c601bd3c1cc2eb1e52dbdde566777f1a44
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
2016-08-01 23:56:42 -07:00
Andreas Jaeger 95cae23ab3 Revert "Use constraints for venv"
This does not checkout yet the correct version.

This reverts commit a7d0a08e86.

Change-Id: Ia4fbb4db2e2b944e401c384a75cfda06dff5c900
2016-08-01 15:47:34 +00:00
Andreas Jaeger a7d0a08e86 Use constraints for venv
Use zuul-cloner with constraints for python jobs that use venv.
Those jobs all run on ubuntu nodes, so zuul-cloner is available.

Note that we can switch using constraints in projects yet since the
translation jobs use venv environment and run on the proposal node that
does not have constraints setup.

Change-Id: I1cd03efc184a7fba6073afd0dd16e6e9f17facd8
2016-07-29 09:15:00 +02:00
Andreas Jaeger c693ec1738 Add some debug output for release-note test, add further job
Add more information to see whether all branches have the proper state
and tags are available.

Run the test job also on openstack-manuals for further coverage.

Change-Id: I58a862271e4f4d2bd0ac92ee00e59aac490595b8
2016-07-27 09:18:40 +02:00
Andreas Jaeger a986cc3b67 Test constraints for release-notes
Add new job for testing that constraints work with release notes.
This job runs on master, so let's run it directly on xenial.

Change-Id: Iec2af9380534672786ef36fed74b374f99c30859
2016-07-20 21:57:10 +02:00
Andreas Jaeger ea85c42219 Add client-publish-job group
We defined with the openstack-publish-jobs group both doc and
doc-tags-only jobs, but each repos uses either of these, never both of
them.

Create a new openstack-client-publish-jobs group and use that as
appropriate. Remove the docs-tags-only job from
openstack-publish-jobs.

This removes 387 unused jobs.

Change-Id: I441c75debe9e9f744790a60cc51d93eef6460a9c
2016-07-04 20:48:04 +02:00
Andreas Jaeger 5f73b62b70 Fix doc publishing for infra
Documents that we only publish in the release pipeline, need to get
published to the top level directory as well as to a versioned subdir.

Create docs-tags job for publishing of these repositories, like it was
done for normal python projects.

Remove the storyboard publish jobs, we can use the normal infra publish
jobs for these. ci.openstack.org is not used anymore and the location
http://ci.openstack.org/storyboard
redirects to http://docs.openstack.org/infra/storyboard/

Also, update a misleading description.

Change-Id: Ibef97f8d0c06b9f7f000872de14283e2911d3099
2016-06-29 21:31:54 +02:00
Doug Hellmann 7119efe40d stop merging tags from stable branches into master
As discussed on the mailing list [1], merging tags between branches
confuses the history as reno sees it and results in invalid release
notes builds.

[1] http://lists.openstack.org/pipermail/openstack-dev/2016-June/096895.html

Change-Id: Ie09158ca0d522905b229251564ff5141e59e2b6c
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2016-06-23 11:26:52 -04:00
Clark Boylan 6da143d2cd Stop uploading to job logs to swift
We have some headroom on the logs filesystem and this allows us to go
back to more reliable methods of grabbing logs. Specifically we are not
required to have http access back to the jenkins master from every job
that runs into order to get the console logs then upload them to swift.

Change-Id: Ie8479c224b2fd3c3efca4e1bf4157656540eccff
2016-04-15 10:20:25 -07:00
Andreas Jaeger 61646a0090 Use ubuntu-trusty for releasenotes jobs
Convert releasenotes jobs to use ubuntu-trusty instead of bare-trusty.

Change-Id: I09c0bf11af6324c91195fc9cda2cdb8308a56162
2016-03-08 20:20:17 +01:00
Jenkins 69083f40f5 Merge "always build release notes from master" 2016-03-08 19:15:43 +00:00
Doug Hellmann 45a3a7260f always build release notes from master
Ensure that the release notes job that runs after a patch merges or when
a tag is applied always checks out the master branch of the project so
the full set of notes is built, and not just the version from the branch
into which the patch merged.

Change-Id: I7cbb0f60d8120300c438cb44598b9f7b16e8abe5
Closes-Bug: #1552911
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2016-03-08 13:48:30 -05:00
Andreas Jaeger ee7435e4f4 Use ubuntu-trusty for docs jobs
Convert {name}-docs to use ubuntu-trusty.

Change-Id: Ide37e9b38c07023ae1e8ab8a616475140af369cd
2016-03-07 19:59:20 +01:00
Andreas Jaeger b8ac11a310 Remove constraints jobs
No projects uses the constraints jobs anymore, we can remove the jobs
from Jenkins setup now.

Remove also conditions for constraints in zuul/layout.yaml that are not
needed anymore since there's no job called -constraints anymore.

Change-Id: I93f2fc2a875ceab9483e9170274761e82d497aed
Depends-On: I48ecd961d68b36e5d418171cc449681092816523
2016-03-07 19:55:25 +01:00
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
Doug Hellmann f2591225e1 switch releasenotes job to branch-git-prep
Use branch-git-prep instead of zuul-git-branch-prep to prepare the local
source repository, since it appears the latter does not work properly in
post jobs, yet.

Change-Id: I8cbcd49ff4bf7234e149985535f394bb686c58c3
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2016-01-20 12:26:26 -05:00
Jeremy Stanley 0af9b2c178 Get rid of precise||trusty job node declarations
Between the Icehouse and Juno releases, OpenStack changed its
supported Ubuntu LTS platform from Precise to Trusty. In support of
continuing testing stable/icehouse and prior branches on Precise
while starting to test newer branches on Trusty, a branch-based
decision tree was introduced into our Zuul configuration by way of
complex parameter functions with an ever growing list of regular
expression matches on job names.

Now that Icehouse is EOL (in fact, Juno is too) this simply adds
unnecessary complexity and an attractive nuisance for cargo-cult
copying into new job and job-template definitions which don't even
need it. In preparation to remove the associated parameter
functions, get rid of multiple labels in all jobs and set them to
whatever label Zuul would ultimately select.

This change touches a vast number, possibly a majority, of our jobs
and so manual jenkins-jobs updates on all Jenkins masters will be
needed after this merges, before it's safe to approve the
corresponding Zuul configuration cleanup.

Change-Id: Ic952ee02da2c77fe2ace81c4e2fa87531be6119c
2015-12-21 20:52:17 +00:00
Andreas Jaeger 4331f670b4 Print the JJB template name in some more jobs
Print JJB template name in more job templates so that it's easy to
identify them.

Change-Id: Ia92e39d0ac8c7655577e8fa4accde5748f30d5f1
2015-11-26 20:09:53 +01:00
Jenkins 07783883a0 Merge "Fix releasenotes post job" 2015-11-25 16:04:23 +00:00
Sachi King b35740121c Fix '{name}-docs-constraints' jobs
Need to use zuul-git-prep-upper-constraints instead of gerrit-git-prep
here.

Change-Id: Ia7f432ea8f4839390bb55fcacd9a0f5c0a10bc19
2015-11-25 22:46:57 +11:00