Reno produces anchor references for sections automatically now, and
those don't have URIs set up so we want to ignore them. If we do have
another target that does have a URI we want to include that, so test
whether we have the URI before including the target info in the
output.
Change-Id: I84f1b67b3078662f72c09c0f69bd09a45a7fe83e
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
Python 3 does not allow comparison between integers and strings. The
semver RulesTest class includes a case where the most recent tag is an
EOL name tag, and the comparison breaks under Python 3. This patch
modifies the comparison to skip over tags that can't be compared to only
look at numerical versions.
Depends-On: I9e56e1e5b0171f8ed4ae05c6aba36c4c733486fa
Change-Id: Id9ad068a279653ffb20c60d1752e41bb0e7bc5d1
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
Correct the logic related to parsing the server address so that the
default is not overwritten if there is no @ in the address.
Fix handling of a missing password by allowing an empty string to mean
no password was given.
Move the TO parsing out of the try/finally block so that errors in
parsing the message are not swallowed by errors when we quit a server
connection that wasn't opened properly.
Change-Id: I73a24a4d87c0f4a5aabd302d8a7d2884e5513c31
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
When running announce.sh from my local developer workstation I cannot
connect to lisst.openstack.org. I know my ISP filters outbound traffic
to port TCP:25 but there may be additional reasons.
This chnage enhances the --server option to allow you to provide
username, password hostname and TCP port with which to contact a mail
server.
This is not a complete solution but it makes it much easier for me to
work locally if needed.
Change-Id: I1a0f03341d1962a30c0737b59d32e8e68c28644b
Reno 2.1.0 had an API change. Update the release notes tool to use the
new API.
Change-Id: I23ce9a64ecd269e5b4ab9379a063067eb84d6460
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
This command was used to manually maintain the release dashboard, but we
no longer need to do that.
Change-Id: I1ac9457f44808d4bd1216e0dba125c8c19dbf23e
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
This command is no longer needed because the list-changes report for
patches to openstack/releases includes the information.
Change-Id: I7b1805279d615cba129c70614cd260adeda8ce25
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
These scripts are in
openstack-infra/project-config/jenkins/scripts/release-tools now.
Change-Id: I43bb89145a0e29eccf6624335926a044b1ffe009
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
This command has been replaced with list-deliverables.
Change-Id: I8df5d631baef7ecaa5c9f325aa718e92dd1b8220
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
If all we want is the list of changes, such as when called from
list_unreleased_changes.sh, then do not try to scan with reno. The scan
will fail anyway, because HEAD isn't a tag and reno rejects it.
Change-Id: I681ac8612758c0cd2a3abb62b11c36191c83861c
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
We're going to use the value of this option for more purposes, so change
the name to reflect that.
Change-Id: I10586095a2bc7c6654fcd309a5296fb006447eee
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
The instructions related to bug handling were not properly wrapped with
if/then so even if there was not bug url part of the instructions were
shown.
Change-Id: I9717c5c0da698f20861cf894cc6f28e39fe262cd
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
Some project names and tarball directories do not match. Add an option
to let the caller specify the proper name for the tarball location,
falling back to the name of the project when not given explicitly.
Change-Id: Icfc5ee2bc0538450a095c62d9ed34411ff2365bc
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
Use a simpler template that includes fewer details about changes and
simply encourages folks to review the candidate. This matches closely
the content we used for manually sent messages during Newton.
Change-Id: I4494403e764fc1046257e093f5ad62294d2d1a6e
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
Move the logic for picking the destination for the message into the
Python code where it is easier to change so we can add a rule in a later
patchset.
Change-Id: I32c6da93055ff8968fa001e7cc73ffd25a0a369f
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
Not all of the adjectives we had in the emotion list are appropriate,
and some produce awkward phrasing when used in the structure "are $word
to". Adjust the emotion list to remove the items that fit poorly and
adjust the template and remaining items to use "We $emotion announce" as
the structure, allowing more variation in the form of emotion being
plugged in.
Change-Id: I976fc6cd4305edc8ea04629bd3e4d4e68ad6bbc7
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
The API for interacting with reno directly changed to allow the use of a
configuration file, so we need to update how we invoke it.
Change-Id: I7e092034075e8017f90a42a91311952aaf9d3c52
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
This command has been replaced in the openstack/releases repository.
Change-Id: I0823f42a5c57f41f3770a14b9052d4efcef5b2d1
Depends-On: Ic613d65ae3d143cc910fec201205f1f84fde761c
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
When the release announces were posted on the general -announce
list, subject lines contained "[new]" and "release" keywords to
make it clear what the announce was about. Now that they are
posted to a specific list, this information is redundant and
wastes precious space.
Change-Id: Iee60c7f0d7c87de4bafdcce90ff5aa25b60fe649
$ list-repos --tag stable:follows-policy | head -n 5
openstack-dev/pbr
openstack/automaton
openstack/cinder
openstack/debtcollector
openstack/designate
$ list-repos --tag stable:follows-policy --include-team | head -n 5
oslo openstack-dev/pbr
oslo openstack/automaton
cinder openstack/cinder
oslo openstack/debtcollector
designate openstack/designate
This makes it possible to find the team the owns a repo that has a
particular tag.
Change-Id: I103280379f7869a13177e81022eae2948cad929c
In some cases the last release version was being parsed down to 2
places. Pad it out with an extra zero before trimming to ensure that we
always have three values in the version number.
Change-Id: I925647e7b53829d0f6015832bccdf84babd5a3d6
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
Sometimes we end up with a version number that looks like a float and
the parser converts it. Turn those back into strings before doing string
searches on them.
Change-Id: I76d29795741c003c513d27a7492253809ad495d8
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
Make it easier to get a list of the repositories for cycle-based
deliverables no matter their actual release model.
Change-Id: I3a48d0b95a2806b89c125738347f1c28fa913c84
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
If the project is uploaded to PyPI, give that link. Otherwise give a
link to tarballs.openstack.org.
Clean up the phrasing for references to the links at the same time.
Change-Id: I751c5beeb5357d00516b065a4c2d1091a70c5e31
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
When we see a directive we do not understand, skip it instead of
reporting an error. This avoids embedding system error messages in the
output at the expense of sometimes leaking rst directives.
See the murano-dashboard 3.0.0 release announcement for an example of
the error this
addresses. http://lists.openstack.org/pipermail/openstack-announce/2016-October/001748.html
Change-Id: I28dd334b7d326e13e7aaf7cd9c0a160ae1e9fa09
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
The admonition labels from the Sphinx code base are translated, but we
don't initialize the translation machinery when we convert the release
notes to text because we only publish the original text version. The
labels default to capitalized versions, so just use title() to produce
something similar without going through the un-initialized locale code.
This fixes the traceback we saw when publishing the newton release
announcement for nova:
http://logs.openstack.org/ad/ad68ee297842d142749877ccc66a6b677b576279/release/nova-announce-release/b6ca7ae/console.html
Change-Id: I29906fd0af2a507e3131923a659b7448d293dbc7
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
If the wrong branch is checked out or if the version requested doesn't
exist the reno scan fails. When that happens, instead of silently
skipping reno notes, emit a warning.
Change-Id: Ifcd05a81185a3ab970584a1434c215e12c65e1ab
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
Currently the PTL command has 2 issues that make it slightly hard to use.
1. $ ptl qa
No official team 'qa'
Traceback (most recent call last):
File ".tox/venv/bin/ptl", line 10, in <module>
sys.exit(main())
File "/Users/tony8129/projects/openstack/openstack-infra/release-tools/releasetools/cmds/ptl.py", line 110, in main
ptl = team['ptl']
KeyError: 'ptl'
Even though we know there isn't a team entry we still try to read the ptl key
2. $ ptl "stable branch maintenance"
usage: ptl [-h] team
ptl: error: unrecognized arguments: branch maintenance
There appears to be no way to pass a team name with a space.
This change:
1. Only prints the team data if it seems valid
2. Handles teams with embed spaces
3. Adds to aliases for teams as I really want to look up 'qa' rather than
'quality assurance'
Change-Id: Id5d5b4ed633df4c84b0cb96f52269a82ade2b193
If you specify an invalid team name you get a KeyError exception:
$ tox -evenv -- ptl qa
<snip>
venv runtests: commands[0] | ptl qa
No official team 'qa'
Traceback (most recent call last):
File ".tox/venv/bin/ptl", line 10, in <module>
sys.exit(main())
File "/Users/tony8129/projects/openstack/openstack-infra/release-tools/releasetools/cmds/ptl.py", line 110, in main
ptl = team['ptl']
KeyError: 'ptl'
Fix that.
Change-Id: I000182646e92e523c796bb1537e7589238682de3
Use a unicode string for the template to support PTL names that are not
all ASCII.
Change-Id: Ib444d65be1972c0c11e16e4a3b2efec02c24c66d
Signed-off-by: Doug Hellmann <doug@doughellmann.com>