Commit Graph

31 Commits

Author SHA1 Message Date
Doug Hellmann
6fe3672660
add reno semver-next to the list-changes output
Use `reno semver-next` to check the proposed version against the types
of changes described in the release notes.

Change-Id: I9ac52ff524440670366ebeceb11dc04a446e876c
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2020-09-03 08:34:49 -04:00
Thierry Carrez
4e944ea7b4 Require latest governance parsing code
Bump openstack-governance requirements to 0.7.0 to pick up latest
governance parsing code, as the current state of governance files
will break anything <0.7.0.

Change-Id: I6306fc7a99419b4f1e7b56855f38e5ccb84eca13
2020-08-03 14:33:20 +02:00
Hervé Beraud
eea9bcaa71 Cap jsonschema 3.2.0 as the minimal version
Previous versions of jsonschema (<3.2.0) doesn't support python 3.8 [1].
Python 3.8 is part of the victoria supported runtimes [2] so we now force
to use jsonschema version 3.2.0 to avoid issues, remove ambiguity and ensure
that everything works with python 3 in general.

[1] https://github.com/Julian/jsonschema/pull/627
[2] https://governance.openstack.org/tc/reference/runtimes/victoria.html#python-runtimes-for-victoria

Change-Id: I7f477866430990f5fdcc1365ac4156a9cf0b5e58
2020-05-26 22:12:10 +02:00
Zuul
4b9898b2bd Merge "Add retries to sending emails" 2020-05-25 17:23:34 +00:00
Sean McGinnis
b19a92adbe
Install wheel in validate venv
During validation we need to build a bdist_wheel which is only available
as an extension when wheel is present in the environment. This adds
wheel and makes sure all requirements are installed for the validation
job.

Change-Id: Ied3b1ff4accf66e358cec4b209f4d3a65ae88d26
Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
2020-05-10 17:42:14 -05:00
Sean McGinnis
c5545ee077
Add retries to sending emails
We have occasional release announcement job failures due to network
issues or other SMTP errors sending the announcement. Most of these
appear to be temporary failures that would be resolved with another
attempt.

This patch adds exponential backoff retries to the sending process to
try to get around these failures.

Change-Id: I70bb470639385caecee7ccfc0e449449bfc9b871
Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
2020-04-27 11:23:28 -05:00
Thierry Carrez
e378cddcd0 Unpin keyring to unbork twine validate check
As reported by Tim Burke, just-released twine 3.0.0 requires
keyring>=15.1, but we have a 3-year-old keyring==7.3 pin in
releases requirements.

The pin was put to avoid installing a full desktop (through a
DBUS dependency introduced in >7.3) but this seem to have been
fixed between now and then.

Change-Id: I904ea3735daaa8892edc54be4a9611beb66fdfe2
2019-11-19 10:11:52 +01:00
Sean McGinnis
b6ca269386
Switch to ruamel for yaml handling
The Ruamel library has better support for modifying YAML while keeping
things like comments. This updates our yamlutil module to use
ruamel.yaml instead of PyYAML.

Story: 2002908
Task: 22880

Change-Id: I4ac66c9e3e40780b588377c1dfe42511eed231a3
Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
2019-07-08 11:40:11 -05:00
Sean McGinnis
5359acf788
Use recommended twine check for README validation
The use of ``python setup.py check -r -s`` is actually deprecated and
the recommended method for validating a README for PyPi upload is to
build the sdist and wheel and run ``twine check $DIST_PATH``. This
switches our validation check to use the supported method.

Change-Id: I321b8cf6f1e2116d2fe23059d5f13aa6f2ae8b4c
Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
2019-04-05 10:56:16 -05:00
Zuul
419691d85e Merge "Fix WordCompleter import" 2019-01-10 18:32:07 +00:00
Jean-Philippe Evrard
cbe188a36e Fix WordCompleter import
Since May 2018 [1], the WordCompleter and PathCompleter moved
from prompt_toolkit 's contrib module to prompt_toolkit.completion

Without this patch, it is impossible to use the interactive-release
CLI with the latest versions of prompt_toolkit, which is not freezed
in the requirements.

This fixes the issue by using the latest way to import WordCompleter
and ensuring users will have the latest prompt_toolkit versions
compatible with this change.

[1]: 8d12c16081 (diff-c25fe0509d70181361304341982e6d0f)

Change-Id: Ia9180a10f0aa8f6f8ed25d7fd5e4e3ec39f86714
2019-01-10 09:48:13 +01:00
Doug Hellmann
63d7394a36 update to use openstack_governance library
Remove the governance code in this repository and use the new
openstack_governance library instead.

Depends-On: https://review.openstack.org/614605
Change-Id: Ia7ffff3945462f4b568b55287dfdf45fe73a35d9
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2018-11-21 15:10:34 -05:00
Tony Breeds
77277a3e0f Remove duplicate packaging
In I6310585ff14c376e954b0edc9def67cd65a5d550 we added a second
requirement on packaging[1] so remove the older (lower) one

[1] http://logs.openstack.org/14/14b3647d04e433cefb5632a67155bc5c55185852/release-post/publish-static/b1ed821/job-output.txt.gz#_2018-03-08_03_14_32_519949

Change-Id: Iea001d5cefb2b150aa7250187c421e9128b07e39
2018-03-08 14:29:25 +11:00
Doug Hellmann
9b8f290117 use packaging to determine the canonical name for projects on PyPI
Rather than applying the rules ourselves, use the packaging project
utility function to prepare the canonical name.

Change-Id: I6310585ff14c376e954b0edc9def67cd65a5d550
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2018-03-07 10:49:50 -05:00
Doug Hellmann
a12d59edd1 add a script to examine the gerrit acls for issues
This is based on mnaser's work in https://review.openstack.org/533780/

Change-Id: Ie6f94db0dce2f5331c3d21a1192533ffc648329b
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2018-02-23 11:52:07 -05:00
Doug Hellmann
285532e323 show need for stable policy review more clearly
Change-Id: I79e2c75351fed75c6a2ab3a1af75c77eb5e18c82
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2017-11-28 11:04:26 -05:00
Doug Hellmann
34756ddbdf replace the use of zuul-cloner with a shell script
Under zuulv3 the behavior has changed significantly to now require
specifying which repositories need to be cloned for each job, and
zuul-cloner only copies the repositories that are already
available. As soon as zuulv3 is released, our jobs relying on the old
fallback behavior of checking out from a cache when present but using
the upstream server in other situations will fail.

The new script tools/clone_repo.sh handles the cases we have in the
tools and jobs within this repository, and should also be usable from
the tag-releases job.

zuul is removed from the list of requirements so it is no longer
installed when jobs run under tox.

list_unreleased_changes.sh is updated to drop the use of the
virtualenv, which was only present for zuul-cloner.

The other updates in the patch are to change the tools to use the new
script.

Change-Id: Ic559d27881a9a89fb0dcb5295a4d7ed7c578112f
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2017-10-17 15:24:30 -04:00
Doug Hellmann
f6a2c6c65d add warning to requirements list about updating bindep
Change-Id: I038ad88502bafb38aea984ec53d6cae2b8d1a125
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2017-10-17 09:43:36 -04:00
Doug Hellmann
70be592ba5 add release notes output to the list-changes job
Import the release-notes command from the release-tools repository and
integrate it with the list-changes command so that we see the release
notes for an upcoming release. This lets us review the release notes
output for warnings (like not having a documentation page linked) and
errors (such as reno failing to work).

Change-Id: I710606fe44601fe5414bfc82f25894319f16e558
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2017-10-11 13:44:46 -04:00
Doug Hellmann
305843fae3 add jsonschema
Use jsonschema to define the valid structure of a deliverables file.
Retain the custom logic for some of the more complex rules we have
relating values and checking types.

Change-Id: I5dc87445c505ebd978b4c1d59171217a2fe047c7
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2017-06-06 10:16:36 -04:00
Doug Hellmann
42e8a6fd7f remove unused tool with launchpadlib dependency
The only reason we have a dependency on launchpadlib and
lazr.restfulclient is for the old tool that imported project history
from launchpad. We no longer need the tool, so we can remove it and the
dependency as part of our python 3 port.

Change-Id: Ie87e6172c953df10cb70d34c9bc23ad30e97ce4d
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2017-03-03 14:59:59 -05:00
Doug Hellmann
893343361c add a command to produce a list of liaisons
This code is basically copied from the release-tools repository version
in ptl.py, with some enhancements to support the tests being added here.

Change-Id: Iabccb6fa6b20eb3c226fd0a16a736d993b78d330
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2017-01-20 09:01:28 -05:00
Doug Hellmann
aa9f19ba50 pin lazr.restfulclient because of bad pypi management
Change-Id: I8bdcbd8c84cf1f7418d97dc59131db6d8fa528df
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2016-07-27 10:11:00 -04:00
Doug Hellmann
a325868ea7 pin keyring dependency to avoid dbus dependency
Change-Id: I12e87f0f4736410712a188759282b10ad224aef3
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2016-06-27 08:09:52 -04:00
Tony Breeds
6ee15b0c7f Add Support for validating 4 digit verion strings
The xstatic packages have a 4 digit verion number 3-digit semver as
supplied by upstream and a local build number.  PBR only supports 3
digit semver.

To work with that create the concpet of a release type that can have
slightly different validation rules.  In this case use the 'packaging'
library.

This will allow the horizon team to use the standard release process.

For refernce see:
https://blueprints.launchpad.net/horizon/+spec/xstatic-release-process

Change-Id: Ie0f33097c31ee4006ec58147b35731913f7b6f4b
2016-06-21 14:17:32 +10:00
Joshua Harlow
f8a9d606b2 Add a interactive-cmd to propose library releases
Add a useful new command that augments some of the
existing commands and can be used in a interactive
manner to create a release for a given project or
view what a release could be composed of.

Change-Id: Ic0ee4ecc7c5abf0cd65d7cf19c132712a2acf4ae
2016-05-16 21:46:10 -07:00
Joshua Harlow
9c1ac3dace Add a yamlutils file and a reformatting command
Do note this will lose comments, if pyyaml ever supports
not losing those then this can avoid losing those.

Change-Id: I4b26362f7cab42eb40804751c86d9145490c78d9
2016-05-16 21:45:40 -07:00
Andreas Jaeger
f4e6e97c9f Remove argparse from requirements
argparse was external in python 2.6 but not anymore, remove it from
requirements.

This should help with pip 8.0 that gets confused in this situation.
Installation of the external argparse is not needed.

Change-Id: Ib7e74912b36c1b5ccb514e31fac35efeff57378d
2016-01-20 19:23:59 +01:00
Robert Collins
a6b99232b3 Update requirements
Change-Id: Ie9d283e8a7b27c2f75dbd782640b2315e0c92985
2015-10-08 10:54:33 +13:00
Doug Hellmann
2ab2ca2f9f Add list-changes command and tox environment
Add a tox environment to show the pending changes, if any.

Change-Id: If8a77cf24e8a0ac03dd065c5813960696730b864
2015-07-23 18:17:57 +00:00
Doug Hellmann
37303f87de tox setup
Change-Id: I8275843775b83511a8373997fa2eb054e236316e
2015-07-02 16:11:19 +00:00