Add a repository-settings field for a name to override the name used
on the python package index.
Change-Id: Ie4dc2226ea0765919a9e6eb400983260094784a7
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
We added logic to change underscores to dashes when checking package
names on pypi. Apparently there is a mix of conventions used here as
this caused some checks to fail.
This changes the check to try the expected sdist name first, and if
that fails, try again with the modified name.
Change-Id: I8c0f2cd6866f295a622c3ccce9620bf4358327af
Our validation logic expects OpenStack branching, but for upstream
branch types these are names outside of our actual branches. This
updates the validation logic to recognize the upstream type and
not try to validate the branch point.
Change-Id: Ifd4f144bad0b7291406c4e55c0813ffc5ee861c9
Issues seen with validating openstack/requirements permissions
while attempting to branch. For now, just disable the check
until a better point in the cycle to troubleshoot.
Change-Id: If753f872ad519edb9bbf6631b17f4a0ada88fce2
Projects that are going to try to upload releases to PyPI need to have
given openstackci permission to do that.
Change-Id: I8e5e60ea6bf2842e834d2352134a11b1f9fe02b9
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
Instead of passing a full project dict, pass just the value we
need. This will let us reuse this function in places where we don't
have a project dict.
Change-Id: Id25e98c7b6dbf3cfb711447394f2d9ade5fc5674
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
Skip the PyPI checks for things that are not python modules.
Change-Id: I15b0e42c961f7fae600f88ffe23edc22d1f98922
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
Use the codesearch service to find repositories that use a library to
make it easier to anticipate the impact of releasing a new
version. Only official repositories are included.
Change-Id: I656d9bb09d1b4ed485a29061dede8ab86ef5bdca
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
Apply rules about where we expect branches to be created, when we
know. Also try to report errors in a way that makes it clear that
updating the branch settings after a branch has been created is
invalid.
Change-Id: I04befc1f3b0196ee2693bab5c61c399096c301a9
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
Require all repositories in a release to be listed in the
repository-settings section of the deliverable file.
Change-Id: I80c3763d62dd776af0912f92d20353d94d0e6d91
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
Trying to simplify some of the logic in validate_releases()
Change-Id: I8db1ee9311a53891d7cc98882f5181d3c83c745b
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
We want teams to use reno for release notes and cycle-highlights for
more general notes. This patch disallows the use of release-specific
highlights for new releases from the new series with a message
explaining why. We can change the schema and let the yamllint perform
the check after running this way for a while.
Change-Id: I8e885b856f3412a3f6df691abbfd8c78037bcd91
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
There is no need to show the contents of a release if the tag has
already been applied. Provide a command line option to be used when
running the tool interactively to disable this behavior, just in case.
Change-Id: I0db8075a750cba76eef40eb7a5656307ffe78992
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
Change validate_releases() so that most of the rules are only applied
to a repository if it has not been tagged with the new tag value,
yet. This significantly speeds up the job.
Change-Id: I5f2ded1b2788d55d787027e0cc0bc93714ebfafc
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
The validation job is doing a lot of work now and it isn't always easy
to tell which step causes which message. Add some headers and
formatting to separate the parts of the report from each other.
Change-Id: Iafdda1e48922b1ec966af3250fa8f0ff3dd79e97
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
We do not need to verify that a repo has valid release jobs configured
if we are only importing existing tags. This also helps us modify the
schema of older deliverable files if a repo hasn't been tagged in a
while.
Change-Id: I2b7c3091b9b3cfd7a9d550797a7154a56649f1ce
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
When the name looks like the repo contains a tempest plugin, set the
type accordingly.
Change-Id: I2e40f85a2c0047825ef07080cb491bacb86e8409
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
The action is set to append but the default is still None so if --type
is not provided on the command line the option's value isn't iterable
and trying to use it causes an exception.
Change-Id: I17e027088db305fac51a557e7005293d904cf890
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
This commmand assumed all deliverables would have a release.
It will now capture this and print out a list at the end of
deliverables that did not include releases.
Change-Id: Ib2834aed97af0f08bac25fbe0769258b385007f2
At the end of the queens cycle we had several libraries that had no
releases at all. In order to create the stable/queens branches we
wanted to go back to the point where the stable/pike branch had been
created and tag again, raising the minor version number. This patch
updates the new-release command to compute those values automatically
when an argument of "procedural" is given.
It also extends the schema for the deliverable file to support a
"comment" field. We can't use regular source comments because there is
no way to tell the formatter to emit them.
Change-Id: I53850f55e4bae54e82b715888b33e8ea87e264d5
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
If the user does not filter on type, or filters on multiple types, show
the type in the verbose output of list-deliverables.
Change-Id: Id4c1f7dcb540f4a15634d6bcd9c1da78792e7d68
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
We now have a way to preserve the order and other general formatting
settings when rewriting a YAML file, so use it instead of tacking a
blob of text onto the end of the file.
Change-Id: Icd3a6a4d75e3e86acbec66503f4b99951460c2f7
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
Look for the expected package types and report what is found or not in
case only part of an upload process works.
Change-Id: I7324687cfb4208da190b14f56b3b55b2e6023dae
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
We access the version string frequently so use a local variable for it.
Change-Id: I566b3465445bcf3512103a67968f90cda5c19b64
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
Extend the missing-releases command to look at PyPI for uploads there.
Change-Id: I5693686bbe46a4ec90944bbf2fa81e1c5c91749e
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
If the release request includes a diff-start instruction, use that as
the starting point for release notes instead of the most recent tag.
Change-Id: I8a4f78366bfc19d667057629fb9f772aaa6b2ff9
Signed-off-by: Doug Hellmann <doug@doughellmann.com>