The old flake8 version we used was causing trouble. This commit
uncaps the flake8 version, and fixes the new warnings and errors.
Change-Id: I533ddcc8fc14dfaf9dd32fa3e69f4acee06ceae7
This fixes:
File "rpm-packaging-status.py", line 153, in find_highest_release_version
return max(releases, key=lambda x: version.parse(str(x['version'])))
ValueError: max() arg is an empty sequence
Change-Id: Ide1068e1b0614b099cd4fa88dad1e5581884bf9a
Instead of calling
./tools/rpm-packaging-status.py ../releases/ ../rpm-packaging/ \
../requirements train
do now
./tools/rpm-packaging-status.py status ../releases/ \
../rpm-packaging/ ../requirements train
With that we can introduce other commands in the future.
Change-Id: I182c3e4c8a0e0d3bad7e9636050a328d6ca72b03
When a package tracks a stable branch rather than release, the spec file
doesn't contain a specific version number and so the status tool usually
reports it as "{{ py2rpmversion() }}" which gets converted to a Version
object that uses version 0.0. This causes the report to make it appear
like this packages need to be upgraded, but in reality no changes are
needed because they automatically track the branch. This change detects
versions like this and reports them as "ok" instead of "needs upgrade".
Change-Id: Ia1191c6c0938e78d8824cb8d893d561ddd99de4a
This patch ensures that the status check tool is run in CI when changes
are made so that we can properly validate the changes and see the
example output.
Change-Id: Ide20064713e54638661b779e371ee9dbbdff1634
Without this change, in order to run the rpm status check you need to
figure out by trial and error what the script's dependencies are and
manually install them. With this change, running the script is as simple
as
$ tox -evenv -- python tools/rpm-packaging-status.py $releases $rpmpackaging $requirements stein
Change-Id: I4dd6ca73d3522e5aeace2b9fd81cd8b39be755a0
When run under python3, comparing a Version object with the string
obtained from parsing upper constraints caused a TypeError:
TypeError: '>' not supported between instances of 'Version' and 'str'
This patch converts the upper constraints version number to a Version so
that it can be properly compared. It skips this if the string is '-'
because that means it is not in upper constraints.
Change-Id: Id1c97d42100cb973b856ecfbb8162ff30e94042d
We want to default to running all tox environments under python 3, so
set the basepython value in each environment.
We do not want to specify a minor version number, because we do not
want to have to update the file every time we upgrade python.
We do not want to set the override once in testenv, because that
breaks the more specific versions used in default environments like
py35 and py36.
Change-Id: I4099b85b36164577f238001acd520e4322cf3d8e
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
This is a mechanically generated patch to complete step 1 of moving
the zuul job settings out of project-config and into each project
repository.
Because there will be a separate patch on each branch, the branch
specifiers for branch-specific jobs have been removed.
Because this patch is generated by a script, there may be some
cosmetic changes to the layout of the YAML file(s) as the contents are
normalized.
See the python3-first goal document for details:
https://governance.openstack.org/tc/goals/stein/python3-first.html
Change-Id: Ifbdbbd18184e4ba78b1ce9e933cdea271486c640
Story: #2002586
Task: #24323
When a package is switched from release-independent to
release-trailing the version comparisons were actually incorrect.
Prefer a series entry over _independent. Without this patch,
python-magnumclient is compared against "_independent" version
of 2.0.0 instead of 2.10.0 in "stable/rocky".
Change-Id: Ia5283589ce43523899df21df27adf6c8ea4f61f3
When upstream_version() is used as a function with a static version,
fix the detection.
The detection for dynamic versioning is still broken.
Change-Id: Ief534ad74d91c5a2e305f294707abda9642bfe71
Instead of maintaining a list with name mappings, use the
'tarball-base' attribute for name mappings.
Change-Id: I9f4bce72aeba15894b3818a35e19ccb664e16480
The version for renderspec spec templates can be set via the 'upstream_version'
variable. Check for that when showing/comparing the versions.
Change-Id: I6fa48058ef37d42890137936f29978cfb7fd4ec5
Change I9b9c776aad8acbdbb002a8e6615e3bf90095b2ca added deliverable
yaml files without any release.
Just skip these files and do not fail in that case.
This fixes:
Traceback (most recent call last):
File "rpm-packaging-status.py", line 336, in <module>
sys.exit(main())
File "rpm-packaging-status.py", line 286, in main
v_release = find_highest_release_version(data['releases'])
KeyError: 'releases'
Change-Id: Iae5a086e53e6ea8568cd2193a7199305c9c43f1e
This adds the basic tox test infrastructure. It is now possible
to run "tox -epep8".
Also fix the current flake8 errors and add a .gitignore.
Depends-On: I84807f555ef97cd3661e1f6a5423bd2a2b86b416
Change-Id: I053ad914e282e3cbde71ba40eaef37c5424289ea
When listing the status for the different projects,
also show the open reviews. This is useful to find similar
reviews for a given project.
Change-Id: Id9421148e82c27b5dbe8227f2a44e35768379532
rpmUtils is from yum but we just need a single function to
split a rpm filename into it's components.
So copy the function from rpmUtils and use the copy.
Change-Id: I4c0826aebaee9e65ae852d0d1e0e88341053dc4b
The OpenBuildService has a published XML format with packages and
versions. Add an optional parameter "--obs-published-xml" which
points to an xml file. If that parameter is given, also evaluate
the xml file and output the version from the OBS xml in the tables.
Change-Id: I74d56a538c17192f8132814eaa7f207bf14577e9