Commit Graph

348 Commits

Author SHA1 Message Date
Doug Hellmann
556e08a29f support pypi-name in repository-settings
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>
2018-02-21 16:22:49 -05:00
Sean McGinnis
80a0c30a36 Retry pypi name checking
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
2018-02-21 16:22:49 -05:00
Sean McGinnis
8575d99c38 Handle upstream branching in validation
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
2018-02-21 16:22:49 -05:00
Zuul
4495c82e3c Merge "Upgrade hacking 1.x" 2018-02-21 05:41:08 +00:00
Doug Hellmann
8454def9cf update the pypi permission validation to handle _ in names
Change-Id: Idd87c39d062452eb7f3a4eed2bf7cb62713b6126
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2018-02-16 16:28:29 -05:00
Sean McGinnis
3335358934 Disable pypi permission verification
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
2018-02-12 11:05:28 -06:00
Zuul
3047b94f53 Merge "show which repos use a library" 2018-02-12 09:51:02 +00:00
Dirk Mueller
aa3d3bbc66 Upgrade hacking 1.x
Change-Id: Id54894246f3db134a3868609dbbaa60062a92c5e
2018-02-11 18:01:01 +01:00
Doug Hellmann
1bb935477a add validation step for pypi permissions
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>
2018-02-08 17:07:42 -05:00
Doug Hellmann
4fc9741ad3 update get_release_type to take a repo name
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>
2018-02-08 17:07:15 -05:00
Doug Hellmann
59a998da02 update missing-releases to handle non-python projects better
Skip the PyPI checks for things that are not python modules.

Change-Id: I15b0e42c961f7fae600f88ffe23edc22d1f98922
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2018-02-08 15:22:02 -05:00
Doug Hellmann
ef2d7e3908 show which repos use a library
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>
2018-02-08 12:12:09 -05:00
Doug Hellmann
91f5f51f48 try to validate the starting points for branches
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>
2018-02-08 05:14:52 -06:00
Doug Hellmann
1305c6a975 treat extra repos as errors
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>
2018-02-08 05:14:41 -06:00
Doug Hellmann
64c1d37c9c use consistent log formatting for list-changes and validate
Change-Id: I2b2357c8e1ce9c5bf27e5707d3a2dd3ed905e9f8
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2018-02-08 05:14:27 -06:00
Doug Hellmann
aa8ee5a83a split validation of tarball-base into its own function
Trying to simplify some of the logic in validate_releases()

Change-Id: I8db1ee9311a53891d7cc98882f5181d3c83c745b
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2018-02-08 05:14:01 -06:00
Doug Hellmann
bbbe66d728 deprecate the use of highlights attached to a release
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>
2018-02-08 05:13:38 -06:00
Doug Hellmann
f2f6d19d4c skip list-changes for retired repositories
Change-Id: Iba1deb443e89e5b5ca3f3e2b58d9e4121d4226d6
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2018-02-07 18:21:36 -05:00
Doug Hellmann
c69d3b5fc8 by default skip projects that have had tags applied
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>
2018-02-07 18:21:36 -05:00
Doug Hellmann
f570dec981 only validate releases that have not yet been tagged
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>
2018-02-07 18:21:36 -05:00
Doug Hellmann
1951c5d727 make validate report more verbose
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>
2018-02-07 18:21:36 -05:00
Doug Hellmann
659b595fd4 only check release jobs if there are new releases to tag
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>
2018-02-07 18:21:36 -05:00
Doug Hellmann
b898e9ace9 add a warning for repo used in release but not in repository-settings
Change-Id: I5f2acb23977ed3523bc7d098823a7cc5c45e4175
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2018-02-07 18:21:32 -05:00
Doug Hellmann
6c3be826ad implicitly set type to tempest-plugin based on the name
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>
2018-02-06 14:22:21 -05:00
Doug Hellmann
84dce327eb don't allow branching for tempest plugins
Change-Id: Ic709f3ab06466e8614756fbfaee19ef1c1409b32
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2018-02-06 14:20:36 -05:00
Zuul
b0a4c1894f Merge "set default for --type to an empty list" 2018-02-05 18:01:41 +00:00
Zuul
f8ecfb7840 Merge "check_diff_start: Handle deliverables with no releases" 2018-02-05 18:01:19 +00:00
Zuul
50e1764178 Merge "list_constraints: handle unreleased deliverables" 2018-02-05 18:01:18 +00:00
Doug Hellmann
5166e80222 set default for --type to an empty list
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>
2018-02-05 09:07:46 -05:00
Sean McGinnis
c051ae9f9a check_diff_start: Handle deliverables with no releases
Change-Id: I3163a42185b0829051b2cb416659593ca1e8b16d
2018-02-02 14:54:40 -06:00
Sean McGinnis
ca0a575e7b list_constraints: handle unreleased deliverables
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
2018-02-02 13:58:51 -06:00
Zuul
c732c0ffa6 Merge "show type in list-deliverables output when more than one option" 2018-02-02 18:15:31 +00:00
Doug Hellmann
b6fccdc62f update new-release to support forced procedural tags
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>
2018-01-31 15:53:19 -05:00
Doug Hellmann
5d1a19ebc2 show type in list-deliverables output when more than one option
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>
2018-01-31 09:33:46 -05:00
Zuul
5f00e51c87 Merge "extend missing-releases to look for specific package types on PyPI" 2018-01-31 13:14:07 +00:00
Zuul
092a457f7e Merge "set up local variable 'version'" 2018-01-31 13:14:06 +00:00
Zuul
4354702016 Merge "extend missing-releases to look at pypi" 2018-01-31 13:14:05 +00:00
Zuul
91f4e2c9b7 Merge "show all release notes in list-changes" 2018-01-31 13:13:17 +00:00
Doug Hellmann
752e24cef1 add --dry-run to propose-library-branches
Change-Id: I40b8868f2c02901628024a1ef4023bc451ad7e74
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2018-01-29 19:32:51 -05:00
Doug Hellmann
59e1013777 change propose-library-branches to use yamlutils
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>
2018-01-29 19:32:51 -05:00
Doug Hellmann
5d7d357c8f add client-library deliverable type
Change-Id: I71cc5f979b20ac9218520c75d85237ea81867581
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2018-01-29 19:32:51 -05:00
Doug Hellmann
e0c6924037 constrain the valid values for the --type option to list-deliverables
Change-Id: I1204d1193e0a67486664e9175b923e18218fc73a
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2018-01-29 19:31:18 -05:00
Doug Hellmann
68e91e3369 allow list-deliverables to support multiple types
Change-Id: Ic62a882dfda9b4f6252402bb68e6d508ff54d4bd
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2018-01-29 19:31:18 -05:00
Doug Hellmann
ad9f159d52 extend missing-releases to look for specific package types on PyPI
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>
2018-01-29 10:13:39 -05:00
Doug Hellmann
9a1c1c1cab set up local variable 'version'
We access the version string frequently so use a local variable for it.

Change-Id: I566b3465445bcf3512103a67968f90cda5c19b64
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2018-01-29 10:13:13 -05:00
Doug Hellmann
6c7a19708b extend missing-releases to look at pypi
Extend the missing-releases command to look at PyPI for uploads there.

Change-Id: I5693686bbe46a4ec90944bbf2fa81e1c5c91749e
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2018-01-29 10:07:01 -05:00
Doug Hellmann
37272b701b show all release notes in list-changes
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>
2018-01-26 17:09:39 -05:00
Zuul
a52aa0b2ad Merge "show changes to documentation requirements list" 2018-01-11 20:54:56 +00:00
Zuul
1f5d2c5484 Merge "show bindep.txt changes as requirements changes" 2018-01-11 20:54:55 +00:00
Zuul
10a257e418 Merge "pass title to git_diff" 2018-01-11 20:50:37 +00:00