16 Commits

Author SHA1 Message Date
Doug Hellmann
81047e0096 add validation for sdist building
Try to build the sdist and wheel for python packages.

Change-Id: I6cf0ff8e7771367bce17061c9b21b7740516d31d
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2018-08-09 15:15:31 -04:00
Doug Hellmann
dcb0bbaa27 add a validation step to check README.rst parsing for PyPI
PyPI is now more strict about requiring README.rst files to be
parseable. Failures to parse the readme block uploading new versions
of packages. To detect these errors in advance, we should validate the
README formatting as part of validating a release.

Change-Id: I416befcf3e47818680018394fa63de8983351587
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2018-05-29 14:42:26 -04:00
Thierry Carrez
7e8f409ebc Fix XMLRPC URL after Pypi URL update
A seemingly-trivial change updated the URL for the
XMLRPC Pypi service from https://pypi.python.org/pypi
to https://pypi.org/project, while the XMLRPC service
lives at https://pypi.org/pypi. This resulted in
systematic validation failures.

Change-Id: I97218093a9346a7d84f58136764cce53930ddacb
2018-04-25 14:26:26 +02:00
Tovin Seven
0290a15965 Trivial: Update pypi url to new url
Pypi url changed from [1] to [2]

[1] https://pypi.python.org/pypi/<package>
[2] https://pypi.org/project/<package>

Change-Id: Iffc845fad9dab3c9af8c7b78bfa9fb8ab6fe0153
2018-04-20 17:29:00 +07:00
Doug Hellmann
4ad924d16f more robustly handle error when we can't determine sdist name
Instead of passing None to the service as the sdist name, report that
situation as an error.

Change-Id: Ib6380d997db780ae324a4df61fdfa7f17e4507c3
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2018-03-27 14:59:03 -04:00
Doug Hellmann
d6951955bd update list-deliverables to use object model classes
Change-Id: I93d0125d895c875f3e3a5e1579ec63b70ab16cae
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2018-03-08 13:18:31 -05: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
40a3e39d38 be consistent with use of log levels and print
Change-Id: I0bd5b6f871cc59e6fb5f29da9daa175524541132
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2018-03-07 10:49:49 -05: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
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
bfd96f4fc0 wrap subprocess to capture output in tests
Provide some wrappers around subprocess functions to capture stderr
and stdout and divert it to the logs so that the test output is less
cluttered with the output of various git commands.

Change-Id: If36ef013aca498e3a0a9cc3a2b78d666775439ab
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2018-02-08 05:14:13 -06: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
6dbce7dd42 make validate work with python 3
Update the check_output() calls used by the validate command so the
results are decoded before being treated as strings.

Change-Id: I099ff997f69743d2958fc5581292aacebd7f5d37
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2017-03-03 15:00:04 -05:00
Doug Hellmann
270492fc5a be more robust when getting the sdist name
Only look at the last line of output, in case the project relies on an
old pbr that spews extra information to stdout instead of stderr.

Comment out the 0.6.0 release because getting its name triggers an error
related to testrepository.

Change-Id: I9eb2bd7ad17130115fb189ef5296cff18af6edb4
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2017-03-02 13:48:21 -05:00
Doug Hellmann
d1566749d6 use tox env when asking pbr for its name
It seems pbr needs to be installed in order to get its name, so use tox
instead of the system python.

Change-Id: I8809978b23430daacfc6a48d1f4bc84cce24c003
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2017-02-08 07:53:33 -05:00
Doug Hellmann
32e9f4d7cc add validation rule to check tarball-base
We don't want to take the time to check out all of the source code for
all projects during the documentation build, so add a validation step to
check that the deliverable being modified has the tarball-base value set
properly, if it needs to be overridden from the default.

Change-Id: Id39bdd1e0a9fe771b78a053ba73803c3c095f135
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2016-12-16 16:26:28 -05:00