From 9e48ac437ced3ed064aa509324665f58d7ce06a901de8e73a13c1ce0d87c045d Mon Sep 17 00:00:00 2001 From: Matej Cepl Date: Tue, 14 Dec 2021 18:28:48 +0000 Subject: [PATCH] Accepting request 940361 from home:bnavigator:python-rpm-macros MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Update to 2.3.0 * [Bug]: The packaging.release.upload task wasn’t properly exposed externally, even though another task’s docstring referenced it. Fixed. * [Bug]: Ensure that the venv used for packaging.release.test_install has its pip upgraded to match the invoking interpreter’s version of same; this avoids common pitfalls where the “inner” pip is a bundled-with-venv, much-older version incapable of modern package installations. * [Support]: Overhaul testing and release procedures to use CircleCI & modern Invocations. * 2.2.0 2021-09-03 * [Feature]: Added the invocations.environment module with top-level functions such as in_ci. * [Feature]: packaging.release.push, in dry-run mode, now dry-runs its git push subcommand – meaning the subcommand itself is what is “dry-ran”, instead of truly executing git push --dry-run – when a CI environment is detected. * This prevents spurious errors when the git remote (eg Github) bails out on read-only authentication credentials, which is common within CI systems. * It’s also just not very useful to dry-run a real git push within CI, since almost certainly the commands to generate git objects to get pushed will themselves not have truly run! * [Bug]: packaging.release.status (and its use elsewhere, eg prepare) didn’t adequately reload the local project’s version module during its second/final recheck; this causes that check to fail when said version was edited as part of a prepare run. It now force-reloads said version module. - Release 2.1.0 OBS-URL: https://build.opensuse.org/request/show/940361 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-invocations?expand=0&rev=20 --- 1.4.0.tar.gz | 3 - invocations-2.3.0.tar.gz | 3 + invocations-no-bundled.patch | 8 +-- python-invocations.changes | 122 +++++++++++++++++++++++++++++++++++ python-invocations.spec | 24 ++++--- 5 files changed, 144 insertions(+), 16 deletions(-) delete mode 100644 1.4.0.tar.gz create mode 100644 invocations-2.3.0.tar.gz diff --git a/1.4.0.tar.gz b/1.4.0.tar.gz deleted file mode 100644 index 5928815..0000000 --- a/1.4.0.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:88d0fc74691ddd51ed26b1d09fe6647349cfba423f2b16005259acc5c9caa99c -size 41092 diff --git a/invocations-2.3.0.tar.gz b/invocations-2.3.0.tar.gz new file mode 100644 index 0000000..70b134a --- /dev/null +++ b/invocations-2.3.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fbc3526726de039c6296610a899d3deeff1f2d3d37b62e1cea7a8ab1e8ab6903 +size 51272 diff --git a/invocations-no-bundled.patch b/invocations-no-bundled.patch index f5abf1d..ede93de 100644 --- a/invocations-no-bundled.patch +++ b/invocations-no-bundled.patch @@ -14,9 +14,9 @@ Index: invocations-1.4.0/tests/packaging/release.py +except ImportError: + from six import PY2 + from lexicon import Lexicon - from invoke import MockContext, Result, Config - from mock import Mock, patch - from pytest import skip + from invoke import MockContext, Result, Config, Exit + from docutils.utils import Reporter + from mock import Mock, patch, call Index: invocations-1.4.0/invocations/console.py =================================================================== --- invocations-1.4.0.orig/invocations/console.py @@ -55,7 +55,7 @@ Index: invocations-1.4.0/invocations/packaging/release.py + from lexicon import Lexicon from blessings import Terminal - from enum import Enum + from docutils.utils import Reporter Index: invocations-1.4.0/invocations/packaging/semantic_version_monkey.py =================================================================== --- invocations-1.4.0.orig/invocations/packaging/semantic_version_monkey.py diff --git a/python-invocations.changes b/python-invocations.changes index 7884ac5..aa55dd5 100644 --- a/python-invocations.changes +++ b/python-invocations.changes @@ -1,3 +1,125 @@ +------------------------------------------------------------------- +Mon Dec 13 23:44:38 UTC 2021 - Ben Greiner + +- Update to 2.3.0 + * [Bug]: The packaging.release.upload task wasn’t properly + exposed externally, even though another task’s docstring + referenced it. Fixed. + * [Bug]: Ensure that the venv used for + packaging.release.test_install has its pip upgraded to match + the invoking interpreter’s version of same; this avoids common + pitfalls where the “inner” pip is a bundled-with-venv, + much-older version incapable of modern package installations. + * [Support]: Overhaul testing and release procedures to use + CircleCI & modern Invocations. + * 2.2.0 2021-09-03 + * [Feature]: Added the invocations.environment module with + top-level functions such as in_ci. + * [Feature]: packaging.release.push, in dry-run mode, now + dry-runs its git push subcommand – meaning the subcommand + itself is what is “dry-ran”, instead of truly executing git + push --dry-run – when a CI environment is detected. + * This prevents spurious errors when the git remote (eg Github) + bails out on read-only authentication credentials, which is + common within CI systems. + * It’s also just not very useful to dry-run a real git push + within CI, since almost certainly the commands to generate git + objects to get pushed will themselves not have truly run! + * [Bug]: packaging.release.status (and its use elsewhere, eg + prepare) didn’t adequately reload the local project’s version + module during its second/final recheck; this causes that check + to fail when said version was edited as part of a prepare run. + It now force-reloads said version module. +- Release 2.1.0 + * [Feature]: Added twine check (which validates packaging + metadata’s long_description) as a pre-upload step within + packaging.release.publish. + * This includes some tweaking of readme_renderer behavior (used + internally by twine) so it correctly spots more malformed RST, + as Sphinx does. + * [Feature]: Add packaging.release.push for pushing Git objects + as part of a release. + * [Feature]: The packaging.release.all_ task has been expanded to + actually do “ALL THE THINGS!!!”, given a dry_run flag, and + renamed on the CLI to all (no trailing underscore). + * [Feature]: packaging.release.prepare grew a dry_run flag to + match the rest of its friends. + * [Feature]: Add Codecov support to pytest.coverage. + * [Feature]: Add packaging.release.test_install task and call it + just prior to the final step in packaging.release.upload (so + one doesn’t upload packages which build OK but don’t actually + install OK). + * [Bug]: pytest.coverage incorrectly concatenated its opts + argument to internal options; this has been fixed. + * [Bug]: Correctly test for html report type inside of + pytest.coverage when deciding whether to run open at the end. + * [Bug]: packaging.release.publish missed a spot when it grew + “kwargs beat configuration” behavior - the index kwarg still + got overwritten by the config value, if defined. This has been + fixed. + * [Bug]: packaging.release.prepare now generates annotated Git + tags instead of lightweight ones. This was a perplexing + oversight (Git has always intended annotated tags to be used + for release purposes) so we’re considering it a bugfix instead + of a backwards incompatible feature change. + * [Support]: packaging.release.prepare now runs its internal + status check twice, once at the start (as before) and again at + the end (to prove that the actions taken did in fact satisfy + needs). + * [Support]: Rely on Invoke 1.6+ for some of its new features. +- Release 2.0.0 + * [Feature]: Add a warnings kwarg/flag to pytest.test, allowing + one to call it with --no-warnings as an inline ‘alias’ for + pytest’s own --disable-warnings flag. + * [Bug]: Fix minor display bug causing the pytest task module to + append a trailing space to the invocation of pytest itself. + * [Bug]: release.build and release.publish had bad + kwargs-vs-config logic preventing flags such as --wheel or + --python from actually working (config defaults always won out, + leading to silent ignoring of user input). This has been fixed; + config will now only be honored unless the CLI appears to be + overriding it. + * [Bug]: release.build’s --clean flag has been updated: + - It now honors configuration like the other flags in this + task, specifically packaging.clean. + - It now defaults to False (rationale: most build operations in + the wild tend to assume no cleaning by default, so defaulting + to the opposite was sometimes surprising). + + Warning: This is a backwards incompatible change. + - When True, it applies to both build and dist directories, + instead of just build. + + Warning: This is a backwards incompatible change. + * [Support]: Modify release task tree to look at main branches in + addition to master ones, for “are we on a feature release line + or a bugfix one?” calculations, etc. + * [Support]: Replace some old Python 2.6-compatible syntax bits. + * [Support]: Reverse the default value of release.build and + release.publish)’s wheel argument from False to True. Included + in this change is a new required runtime dependency on the + wheel package. + - Rationale: at this point in time, most users will be + expecting wheels to be available, and not building wheels is + likely to be the uncommon case. + - Warning: This is a backwards incompatible change. + * [Support] #21: Only require enum34 under Python 2 to prevent it + clashing with the stdlib enum under Python 3. Credit: Alex + Gaynor. + * [Support] #12: Upgrade our packaging manifest so tests (also + docs, requirements files, etc) are included in the distribution + archives. Thanks to Tomáš Chvátal for the report. + * [Support]: Drop Python 3.4 support. We didn’t actually do + anything to make the code not work on 3.4, but we’ve removed + some 3.4 related runtime (and development) dependency + limitations. Our CI will also no longer test on 3.4. + - Warning: This is a backwards incompatible change. +- Refresh invocations-no-bundled.patch + +------------------------------------------------------------------- +Mon Dec 13 23:28:12 UTC 2021 - Ben Greiner + +- Don't test on python310 because of pytest-relaxed not supporting + Pytest 6 -- gh#bitprophet/pytest-relaxed#12 + ------------------------------------------------------------------- Tue Oct 13 10:33:07 UTC 2020 - Benjamin Greiner diff --git a/python-invocations.spec b/python-invocations.spec index 105687d..681f8a1 100644 --- a/python-invocations.spec +++ b/python-invocations.spec @@ -1,7 +1,7 @@ # # spec file for package python-invocations # -# Copyright (c) 2020 SUSE LLC +# Copyright (c) 2021 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -19,37 +19,42 @@ %{?!python_module:%define python_module() python-%{**} python3-%{**}} %bcond_without python2 Name: python-invocations -Version: 1.4.0 +Version: 2.3.0 Release: 0 Summary: Reusable Invoke tasks License: BSD-2-Clause URL: https://github.com/pyinvoke/invocations -Source: https://github.com/pyinvoke/invocations/archive/%{version}.tar.gz +Source: https://github.com/pyinvoke/invocations/archive/%{version}.tar.gz#/invocations-%{version}.tar.gz Patch0: invocations-no-bundled.patch Patch1: invocations-py3.patch BuildRequires: %{python_module blessings >= 1.6} -BuildRequires: %{python_module invoke >= 1.0} +BuildRequires: %{python_module invoke >= 1.6} BuildRequires: %{python_module lexicon} -BuildRequires: %{python_module mock} -BuildRequires: %{python_module pytest-relaxed} -# gh#bitprophet/pytest-relaxed#12 -BuildRequires: %{python_module pytest < 6.1} BuildRequires: %{python_module releases >= 1.2} BuildRequires: %{python_module semantic_version >= 2.4} BuildRequires: %{python_module setuptools} BuildRequires: %{python_module six} BuildRequires: %{python_module tabulate >= 0.7.5} BuildRequires: %{python_module tqdm >= 4.8.1} +BuildRequires: %{python_module twine >= 1.15} +BuildRequires: %{python_module wheel >= 0.24.0} +# SECTION gh#bitprophet/pytest-relaxed#12, no pytest5 on python310 +BuildRequires: %{python_module mock if (%python-base without python310-base)} +BuildRequires: %{python_module pytest < 6.1 if (%python-base without python310-base)} +BuildRequires: %{python_module pytest-relaxed if (%python-base without python310-base)} +# /SECTION BuildRequires: fdupes BuildRequires: python-rpm-macros Requires: python-blessings >= 1.6 -Requires: python-invoke >= 1.0 +Requires: python-invoke >= 1.6 Requires: python-lexicon Requires: python-releases >= 1.2 Requires: python-semantic_version >= 2.4 Requires: python-six Requires: python-tabulate >= 0.7.5 Requires: python-tqdm >= 4.8.1 +Requires: python-twine >= 1.15 +Requires: python-wheel >= 0.24.0 BuildArch: noarch %if %{with python2} BuildRequires: python-enum34 @@ -87,6 +92,7 @@ the Invoke project's communication channels for updates. Thanks! # packaging: not applicable to openSUSE # cannot use --ignore because of pytest-relaxed plugin rm -r tests/autodoc/ tests/packaging/ +alias pytest-3.10='echo "Not testing: no pytest<6 on python 3.10"' %pytest %files %{python_files}