Compare commits

...

61 Commits

Author SHA1 Message Date
Miro Hrončok fbeaddaea8 CI: Make pypy3.7 optional, as it was retired on Fedora 37+ 2022-11-25 13:23:32 +01:00
Miro Hrončok 7c86179926 CI: Add Python 3.12 2022-11-25 12:53:14 +01:00
Miro Hrončok d6ac38c0a6 Update to 3.27.1 2022-11-25 12:25:25 +01:00
Miro Hrončok 83c7b43fe1 Update the test comment: the package name is different for a long time 2022-11-25 12:25:25 +01:00
Miro Hrončok 9100fc98b1 Relax the minimal tomli version to support Fedora 35 and 36 2022-09-14 16:08:44 +02:00
Miro Hrončok 066e7174f8 Update to 3.26.0 2022-09-14 14:52:45 +02:00
Fedora Release Engineering b1d265dfe5 Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-07-22 23:01:41 +00:00
Lumir Balhar 95d829b80a Fix names of dependencies for tests in CI 2022-07-14 09:05:36 +02:00
Lumir Balhar fc33709c23 Update to 3.25.1 2022-07-13 10:49:15 +02:00
Python Maint 3646d9e27b Rebuilt for Python 3.11 2022-06-13 19:56:57 +02:00
Miro Hrončok ef76b4eeb6 /usr/bin/poetry is not needed for tests, poetry is pip-installed as a build backend 2022-05-09 13:03:09 +02:00
Miro Hrončok cbec16b980 Update to 3.25.0 2022-05-09 12:37:30 +02:00
Miro Hrončok 97ce88bf7b Prepare spec for multiple flags in %py3_shebang_flags
See the relevant change of packaging guidelines:
https://pagure.io/packaging-committee/pull-request/1165

tl;dr If we ever add more flags, we want to remove s here, not all flags.
2022-03-23 12:31:47 +01:00
Miro Hrončok cc6fb71c00 CI: Test PyPys 2022-03-20 16:15:06 +01:00
Miro Hrončok 0a9fe2fa07 Add Python 3.11 CI test and assert all packages that supplement tox are tested 2022-03-20 13:50:23 +00:00
Rich Megginson 455a6d994d Set py3_shebang_flags to nil so tox will not have -s in shebang line
This way, it can see user-installed plugins.

Fixes https://bugzilla.redhat.com/2057015
"Tox cannot use user installed plugins, as it has -s in the shebang"
2022-02-23 10:32:08 +01:00
Miro Hrončok 5591696515 Update to 3.24.5 2022-01-25 16:41:41 +01:00
Fedora Release Engineering a509cb804f - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-01-21 16:06:42 +00:00
Miro Hrončok 0e1b27dd8f Add a comment about recommending new Pythons 2021-12-13 12:59:02 +01:00
Miro Hrončok 667844d3b0 Hardcoded the obsoleted python3-tox version, as Fedora 33 is no more 2021-12-13 12:57:01 +01:00
Miro Hrončok e398b79264 Remove no longer needed obsoletes of python3-detox 2021-12-13 12:56:06 +01:00
Miro Hrončok 3b05ca432b Always BuildRequire runtime dependencies to avoid non-installable builds 2021-12-13 12:53:38 +01:00
Tomáš Hrnčiar ce51ff31fb Update to 3.24.4 2021-10-13 16:04:53 +02:00
Miro Hrončok 576c760753 Update to 3.24.3 2021-08-31 13:49:44 +02:00
Miro Hrončok b6b37aeed5 Obsolete newer versions of python3-tox 2021-08-04 12:16:12 +02:00
Miro Hrončok 0d724156e9 Update to 3.24.1 2021-08-03 13:30:33 +02:00
Miro Hrončok 7220117b81 Remove Recommends Python 3.5, add Recommends for Python 3.10
- https://fedoraproject.org/wiki/Changes/RetirePython3.5
- https://fedoraproject.org/wiki/Changes/Python3.10
2021-08-02 14:08:50 +02:00
Miro Hrončok 04c9269866 Update to 3.24.0 2021-07-26 12:28:42 +02:00
Fedora Release Engineering c48b048f2f - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-07-23 10:01:01 +00:00
Python Maint 5f0b848a6a Rebuilt for Python 3.10 2021-06-02 13:58:53 +02:00
Miro Hrončok f0abbe2cbc Fedora CI: Cleanup for Fedora 32 EOL and prepare for Python 3.5 retirement
Fedora 32 was the last one to include Python 3.4
https://fedoraproject.org/wiki/Changes/RetirePython34

Fedora 35 will be the first one not to include Python 3.5
https://fedoraproject.org/wiki/Changes/RetirePython3.5
2021-05-25 00:40:24 +02:00
Miro Hrončok e06327a4fc Allow building with setuptools_scm 6+ 2021-03-30 13:24:07 +02:00
Miro Hrončok 38b887f490 Update to 3.23.0 2021-03-17 13:41:22 +01:00
Miro Hrončok 7e75ae2dcd Update to 3.21.4 2021-02-02 22:57:02 +01:00
Fedora Release Engineering c2cf7e2e87 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-01-27 13:53:43 +00:00
Miro Hrončok e2c1378f46 Convert to pyproject-rpm-macros, rename the installable package to "tox"
Remove old obsoletes.
Pathlib2 is now only imported on old Pythons.
2021-01-11 13:55:23 +01:00
Miro Hrončok 4bd496ae58 Update to 3.21.0 2021-01-08 22:59:34 +01:00
Miro Hrončok d26876d9ad Add Python 3.10 to the CI tests 2020-12-30 10:19:22 +01:00
Tomas Hrnciar 3d1b4d74bc Update to 3.20.0
Fixes https://bugzilla.redhat.com/show_bug.cgi?id=1874601
2020-09-08 13:15:38 +02:00
Miro Hrončok 3219259dc0 Update to 3.19.0
Fixes https://bugzilla.redhat.com/show_bug.cgi?id=1861313
2020-08-07 21:03:10 +02:00
Miro Hrončok cfee9c0b17 Run Python 3.4 tests optionally
https://fedoraproject.org/wiki/Changes/RetirePython34
2020-08-04 20:43:37 +02:00
Fedora Release Engineering b231b676ad - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-07-29 04:20:59 +00:00
Miro Hrončok cbe4f3a6b8 Update to 3.18.0
Fixes https://bugzilla.redhat.com/show_bug.cgi?id=1859875
2020-07-23 18:36:37 +02:00
Miro Hrončok 6c2ec881c3 Update to 3.17.0
Fixes https://bugzilla.redhat.com/show_bug.cgi?id=1856985
2020-07-15 12:11:22 +02:00
Miro Hrončok b0cb698c46 Simplify the %check section, we cannot reasonably test without tox installed 2020-07-09 12:05:00 +02:00
Miro Hrončok d154cf5aab Update to 3.16.1
Fixes https://bugzilla.redhat.com/show_bug.cgi?id=1851519
2020-07-09 11:47:17 +02:00
Miro Hrončok f18e06aaf4 Update to 3.15.2
Resolves https://bugzilla.redhat.com/1844689
2020-06-08 14:33:39 +02:00
Miro Hrončok e20f7b254b Fedora CI: Run rpmbuild --with internet 2020-06-03 11:34:04 +02:00
Miro Hrončok 9533571c2c Allow to run the tests with pip 19.3.1 2020-06-02 19:40:28 +02:00
Miro Hrončok 3fff713f26 Add missing test BRs 2020-06-02 14:41:40 +02:00
Charalampos Stratakis b5021c52af Update to 3.15.1 (#1838137) 2020-06-01 22:34:06 +02:00
Miro Hrončok ee641c06d9 Rebuilt for Python 3.9 2020-05-23 20:39:53 +02:00
Miro Hrončok b680470056 Stop recommending Python 3.4, use pythonX.Y names for recommends
See https://fedoraproject.org/wiki/Changes/RetirePython34
See https://lists.fedoraproject.org/archives/list/python-devel@lists.fedoraproject.org/message/VIUS7WMQMDX6H2WEIH7TVTMBB6SUHY7E/
2020-05-14 17:36:55 +02:00
Tomas Hrnciar 74d980a69d Update to 3.15.0 2020-05-13 11:13:12 +02:00
Tomas Hrnciar c347739df6 Update to 3.14.6 2020-03-25 15:22:06 +00:00
Miro Hrončok 3f3d092b74 Fedora CI: Test pyproject-rpm-macros (for %tox) 2020-03-25 12:08:33 +01:00
Miro Hrončok 502656b77b Add Python 3.9 to the CI 2020-02-06 13:18:01 +01:00
Miro Hrončok bde7ce687a Update to 3.14.3 (#1725939)
- Fix invocation with Python 3.9 (#1798929)
- Recommend Python 3.9
2020-02-06 12:31:58 +01:00
Fedora Release Engineering 7dd27a8770 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-01-30 15:50:38 +00:00
Miro Hrončok 21f3945b3b Rebuilt for Python 3.8.0rc1 (#1748018) 2019-10-03 14:33:49 +02:00
Miro Hrončok 39e36355f8 Rebuilt for Python 3.8 2019-08-17 01:11:24 +02:00
6 changed files with 358 additions and 239 deletions
+2 -14
View File
@@ -1,14 +1,2 @@
/tox-1.4.2.zip /tox-*.tar.gz
/tox-1.6.1.tar.gz /tox-*/
/tox-1.7.1.tar.gz
/tox-1.8.1.tar.gz
/tox-2.1.1.tar.gz
/tox-2.3.1.tar.gz
/tox-2.7.0.tar.gz
/tox-2.9.1.tar.gz
/tox-3.0.0.tar.gz
/tox-3.4.0.tar.gz
/tox-3.5.3.tar.gz
/tox-3.9.0.tar.gz
/tox-3.13.1.tar.gz
/tox-3.13.2.tar.gz
-112
View File
@@ -1,112 +0,0 @@
From dab74691cd1cd55621c943fc869f8ee821746ff6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= <miro@hroncok.cz>
Date: Mon, 8 Jul 2019 19:08:17 +0200
Subject: [PATCH] Use importlib.metadata from the standard library on Python
3.8+
Fixes https://github.com/tox-dev/tox/issues/1367
---
CONTRIBUTORS | 1 +
setup.cfg | 2 +-
src/tox/config/__init__.py | 2 +-
src/tox/session/commands/show_config.py | 2 +-
src/tox/util/stdlib.py | 5 +++++
tox.ini | 2 +-
6 files changed, 10 insertions(+), 4 deletions(-)
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index 39d848b..ad0168f 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -58,6 +58,7 @@ Mattieu Agopian
Michael Manganiello
Mickaël Schoentgen
Mikhail Kyshtymov
+Miro Hrončok
Monty Taylor
Morgan Fainberg
Nick Douma
diff --git a/setup.cfg b/setup.cfg
index 3950ea3..c2bb1c2 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -37,7 +37,7 @@ classifiers =
packages = find:
python_requires = >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*
install_requires =
- importlib-metadata >= 0.12, <1
+ importlib-metadata >= 0.12, <1;python_version<"3.8"
packaging >= 14
pluggy >= 0.12.0, <1
py >= 1.4.17, <2
diff --git a/src/tox/config/__init__.py b/src/tox/config/__init__.py
index c1a3239..849b31f 100644
--- a/src/tox/config/__init__.py
+++ b/src/tox/config/__init__.py
@@ -15,7 +15,6 @@ from fnmatch import fnmatchcase
from subprocess import list2cmdline
from threading import Thread
-import importlib_metadata
import pluggy
import py
import toml
@@ -34,6 +33,7 @@ from tox.reporter import (
verbosity1,
)
from tox.util.path import ensure_empty_dir
+from tox.util.stdlib import importlib_metadata
from .parallel import ENV_VAR_KEY as PARALLEL_ENV_VAR_KEY
from .parallel import add_parallel_config, add_parallel_flags
diff --git a/src/tox/session/commands/show_config.py b/src/tox/session/commands/show_config.py
index 11c5cf2..efb713a 100644
--- a/src/tox/session/commands/show_config.py
+++ b/src/tox/session/commands/show_config.py
@@ -1,13 +1,13 @@
import sys
from collections import OrderedDict
-import importlib_metadata
from packaging.requirements import Requirement
from packaging.utils import canonicalize_name
from six import StringIO
from six.moves import configparser
from tox import reporter
+from tox.util.stdlib import importlib_metadata
DO_NOT_SHOW_CONFIG_ATTRIBUTES = (
"interpreters",
diff --git a/src/tox/util/stdlib.py b/src/tox/util/stdlib.py
index 0b25859..5f687b7 100644
--- a/src/tox/util/stdlib.py
+++ b/src/tox/util/stdlib.py
@@ -3,6 +3,11 @@ import threading
from contextlib import contextmanager
from tempfile import TemporaryFile
+if sys.version_info >= (3, 8):
+ from importlib import metadata as importlib_metadata # noqa
+else:
+ import importlib_metadata # noqa
+
def is_main_thread():
"""returns true if we are within the main thread"""
diff --git a/tox.ini b/tox.ini
index fa5b321..fcb1418 100644
--- a/tox.ini
+++ b/tox.ini
@@ -139,7 +139,7 @@ include_trailing_comma = True
force_grid_wrap = 0
line_length = 99
known_first_party = tox,tests
-known_third_party = apiclient,docutils,filelock,flaky,freezegun,git,httplib2,importlib_metadata,oauth2client,packaging,pathlib2,pluggy,py,pytest,setuptools,six,sphinx,toml
+known_third_party = apiclient,docutils,filelock,flaky,freezegun,git,httplib2,oauth2client,packaging,pathlib2,pluggy,py,pytest,setuptools,six,sphinx,toml
[testenv:release]
description = do a release, required posarg of the version number
--
2.21.0
+204 -98
View File
@@ -1,27 +1,49 @@
# Tests requiring Internet connections are disabled by default # Tests are disbaled by default, they require:
# pass --with internet to run them (e.g. when doing a local rebuild # a) tested tox to be installed
# for sanity checks before committing). Example: # b) internet connection
# $ mock --enable-network --with internet <SRPM> # To test, do the following:
%bcond_with internet # 1) Build --without tests (the default)
# (e.g. fedpkg mockbuild)
# 2) Install the built package
# (e.g. mock install ./results_python-tox/.../tox-...rpm)
# 3) Build again --with tests (and internet connection)
# (e.g. fedpkg mockbuild --enable-network --no-clean-all --with tests)
# The Fedora CI tests do this.
%bcond_with tests
# Unset -s on python shebang - ensure that extensions installed with pip
# to user locations are seen and properly loaded
# Fixes https://bugzilla.redhat.com/2057015
%global py3_shebang_flags %(echo %py3_shebang_flags | sed s/s//)
%global pypi_name tox Name: python-tox
Name: python-%{pypi_name} Version: 3.27.1
Version: 3.13.2 Release: 1%{?dist}
Release: 2%{?dist}
Summary: Virtualenv-based automation of test activities Summary: Virtualenv-based automation of test activities
License: MIT License: MIT
URL: https://tox.readthedocs.io/ URL: https://tox.readthedocs.io/
Source0: %{pypi_source} Source0: %{pypi_source tox}
# Use importlib.metadata from stdlib on Python 3.8
# Rebased from https://github.com/tox-dev/tox/pull/1368
Patch0: 1368.patch
BuildArch: noarch BuildArch: noarch
%description BuildRequires: python3-devel
BuildRequires: pyproject-rpm-macros
%if %{with tests}
BuildRequires: /usr/bin/gcc
BuildRequires: /usr/bin/git
BuildRequires: /usr/bin/pip
BuildRequires: /usr/bin/pytest
BuildRequires: /usr/bin/python
BuildRequires: libffi-devel
# xdist is not used upstream, but we use it to speed up the %%check
BuildRequires: python3-pytest-xdist
# The tests only work if the tested tox is installed :(
BuildRequires: tox = %{version}-%{release}
%endif
%global _description %{expand:
Tox as is a generic virtualenv management and test command line tool you Tox as is a generic virtualenv management and test command line tool you
can use for: can use for:
@@ -30,16 +52,13 @@ can use for:
- running your tests in each of the environments, configuring your test tool - running your tests in each of the environments, configuring your test tool
of choice of choice
- acting as a frontend to Continuous Integration servers, greatly reducing - acting as a frontend to Continuous Integration servers, greatly reducing
boilerplate and merging CI and shell-based testing. boilerplate and merging CI and shell-based testing.}
%description %_description
%package -n python3-%{pypi_name} %package -n tox
Summary: %{summary} Summary: %{summary}
%{?python_provide:%python_provide python3-%{pypi_name}}
Provides: %{pypi_name} = %{version}-%{release}
BuildRequires: python3-devel
BuildRequires: python3-setuptools
BuildRequires: python3-setuptools_scm
# Recommend "all the Pythons" # Recommend "all the Pythons"
# Why? Tox exists to enable developers to test libraries against various Python # Why? Tox exists to enable developers to test libraries against various Python
@@ -49,103 +68,190 @@ BuildRequires: python3-setuptools_scm
# however it launches other Python versions as subprocesses. # however it launches other Python versions as subprocesses.
# It recommends all Python versions it supports. (This is an exception to # It recommends all Python versions it supports. (This is an exception to
# the rule that Fedora packages may not require the alternative interpreters.) # the rule that Fedora packages may not require the alternative interpreters.)
Recommends: python27 Recommends: python2.7
Recommends: python34 Recommends: python3.6
Recommends: python35 Recommends: python3.7
Recommends: python36 Recommends: python3.8
Recommends: python37 Recommends: python3.9
Recommends: python38 Recommends: python3.10
Recommends: pypy2-devel Recommends: pypy2-devel
Recommends: pypy3-devel Recommends: pypy3-devel
Recommends: python2-devel Recommends: python2-devel
Recommends: python3-devel Recommends: python3-devel
# Instead of adding new Pythons here, add `Supplements: tox` to them, see:
# https://lists.fedoraproject.org/archives/list/python-devel@lists.fedoraproject.org/thread/NVVUXSVSPFQOWIGBE2JNI67HEO7R63ZQ/
# Replace the python2 version %py_provides python3-tox
Obsoletes: python2-tox < 2.9.1-4 # Remove this once Fedora 36 goes EOL:
Obsoletes: python3-tox < 3.24.4-2
# Replace detox (no longer supported, functionality is now in tox) %description -n tox %_description
Obsoletes: python3-detox < 0.19-5
%if %{with internet}
# for tests
BuildRequires: python3-filelock
BuildRequires: python3-flaky
BuildRequires: python3-freezegun
BuildRequires: python3-packaging
BuildRequires: python3-pathlib2
BuildRequires: python3-pip
BuildRequires: python3-pluggy >= 0.12
BuildRequires: python3-psutil
BuildRequires: python3-py
BuildRequires: python3-pytest
BuildRequires: python3-pytest-mock
#BuildRequires: python3-pytest-randomly -- not packaged
BuildRequires: python3-pytest-xdist
BuildRequires: python3-toml
BuildRequires: python3-virtualenv
BuildRequires: python3-wheel
BuildRequires: (python3-importlib-metadata if python3 < 3.8)
BuildRequires: /usr/bin/git
%endif
%?python_enable_dependency_generator
%description -n python3-%{pypi_name}
Tox as is a generic virtualenv management and test command line tool you
can use for:
- checking your package installs correctly with different Python versions
and interpreters
- running your tests in each of the environments, configuring your test tool
of choice
- acting as a frontend to Continuous Integration servers, greatly reducing
boilerplate and merging CI and shell-based testing.
%prep %prep
%autosetup -p1 -n %{pypi_name}-%{version} %autosetup -p1 -n tox-%{version}
# In https://github.com/tox-dev/tox/pull/2463 upstream insisted on pinning tomli to >=2.0.1.
# However, it works fine with 1.2.3 we have in Fedora 35+36, so we relax the dependency.
# We rely on the Fedora CI to catch problems.
sed -i 's/tomli>=2.0.1/tomli>=1.2.3/' setup.cfg
%generate_buildrequires
%pyproject_buildrequires -r %{?with_tests:-x testing}
# remove bundled egg-info
rm -rf %{pypi_name}.egg-info
%build %build
%py3_build %pyproject_wheel
%install %install
%py3_install %pyproject_install
%pyproject_save_files tox
# if internet connection available, run tests
%if %{with internet} %if %{with tests}
%check %check
# there will be failures like %pytest -n auto
# ModuleNotFoundError: tox
# or InterpreterNotFound: python
# We juggle the environment variables as much as we can, but it's not perfect.
# To workaround this:
# 1. build --without internet
# 2. install the new python3-tox
# 3. build --with internet
mkdir .path
ln -s %{__python3} .path/python
ln -s /usr/bin/easy_install-%{python3_version} .path/easy_install
ln -s /usr/bin/pytest-%{python3_version} .path/pytest
ln -s /usr/bin/pip3 .path/pip
export PATH=$(pwd)/.path:%{buildroot}%{_bindir}:$PATH
export PYTHONPATH=%{buildroot}%{python3_sitelib}
export TOXENV=py%{python3_version_nodots}
export TOX_TESTENV_PASSENV="PATH TOX_TESTENV_PASSENV"
# TODO figure out why PEP517/518 tests and test_provision_cli_args_ignore won't pass
pytest-3 -n auto -k "not test_verbose_isolated_build and not test_dist_exists_version_change and not test_provision_cli_args_ignore"
rm -rf .path
%endif %endif
%files -n python3-%{pypi_name}
%{_bindir}/%{pypi_name} %files -n tox -f %{pyproject_files}
%{_bindir}/%{pypi_name}-quickstart %{_bindir}/tox
%{python3_sitelib}/%{pypi_name}/ %{_bindir}/tox-quickstart
%{python3_sitelib}/%{pypi_name}-%{version}-py%{python3_version}.egg-info/
%changelog %changelog
* Fri Nov 25 2022 Miro Hrončok <mhroncok@redhat.com> - 3.27.1-1
- Update to 3.27.1
* Wed Sep 14 2022 Miro Hrončok <mhroncok@redhat.com> - 3.26.0-1
- Update to 3.26.0
* Fri Jul 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 3.25.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Wed Jul 13 2022 Lumír Balhar <lbalhar@redhat.com> - 3.25.1-1
- Update to 3.25.1
* Mon Jun 13 2022 Python Maint <python-maint@redhat.com> - 3.25.0-2
- Rebuilt for Python 3.11
* Mon May 09 2022 Miro Hrončok <mhroncok@redhat.com> - 3.25.0-1
- Update to 3.25.0
* Tue Feb 22 2022 Rich Megginson <rmeggins@redhat.com> - 3.24.5-2
- Remove -s flag from tox shebang, make tox see user-installed plugins
- Fixes: rhbz#2057015
* Tue Jan 25 2022 Miro Hrončok <mhroncok@redhat.com> - 3.24.5-1
- Update to 3.24.5
* Fri Jan 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 3.24.4-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Mon Dec 13 2021 Miro Hrončok <mhroncok@redhat.com> - 3.24.4-2
- Always BuildRequire runtime dependencies to avoid non-installable builds
- Remove no longer needed obsoletes of python3-detox
* Wed Oct 13 2021 Tomáš Hrnčiar <thrnciar@redhat.com> - 3.24.4-1
- Update to 3.24.4
* Tue Aug 31 2021 Miro Hrončok <mhroncok@redhat.com> - 3.24.3-1
- Update to 3.24.3
* Wed Aug 04 2021 Miro Hrončok <mhroncok@redhat.com> - 3.24.1-2
- Obsolete newer versions of python3-tox
* Tue Aug 03 2021 Miro Hrončok <mhroncok@redhat.com> - 3.24.1-1
- Update to 3.24.1
* Mon Aug 02 2021 Miro Hrončok <mhroncok@redhat.com> - 3.24.0-2
- Remove Recommends Python 3.5
- Add Recommends for Python 3.10
- https://fedoraproject.org/wiki/Changes/RetirePython3.5
- https://fedoraproject.org/wiki/Changes/Python3.10
* Mon Jul 26 2021 Miro Hrončok <mhroncok@redhat.com> - 3.24.0-1
- Update to 3.24.0
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.23.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Wed Jun 02 2021 Python Maint <python-maint@redhat.com> - 3.23.0-3
- Rebuilt for Python 3.10
* Tue Mar 30 2021 Miro Hrončok <mhroncok@redhat.com> - 3.23.0-2
- Allow building with setuptools_scm 6+
* Wed Mar 17 2021 Miro Hrončok <mhroncok@redhat.com> - 3.23.0-1
- Update to 3.23.0
* Tue Feb 02 2021 Miro Hrončok <mhroncok@redhat.com> - 3.21.4-1
- Update to 3.21.4
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.21.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Fri Jan 08 2021 Miro Hrončok <mhroncok@redhat.com> - 3.21.0-2
- Rename the installable package to "tox"
* Fri Jan 08 2021 Miro Hrončok <mhroncok@redhat.com> - 3.21.0-1
- Update to 3.21.0
* Mon Sep 07 2020 Tomas Hrnciar <thrnciar@redhat.com> - 3.20.0-1
- Update to 3.20.0
- Fixes rhbz#1874601
* Fri Aug 07 2020 Miro Hrončok <mhroncok@redhat.com> - 3.19.0-1
- Update to 3.19.0
- Fixes rhbz#1861313
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.18.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Thu Jul 23 2020 Miro Hrončok <mhroncok@redhat.com> - 3.18.0-1
- Update to 3.18.0
- Fixes rhbz#1859875
* Tue Jul 14 2020 Miro Hrončok <mhroncok@redhat.com> - 3.17.0-1
- Update to 3.17.0
- Fixes rhbz#1856985
* Thu Jul 09 2020 Miro Hrončok <mhroncok@redhat.com> - 3.16.1-1
- Update to 3.16.1
- Fixes rhbz#1851519
* Mon Jun 08 2020 Miro Hrončok <mhroncok@redhat.com> - 3.15.2-1
- Update to 3.15.2 (#1844689)
* Mon Jun 01 2020 Charalampos Stratakis <cstratak@redhat.com> - 3.15.1-1
- Update to 3.15.1 (#1838137)
* Sat May 23 2020 Miro Hrončok <mhroncok@redhat.com> - 3.15.0-2
- Rebuilt for Python 3.9
* Wed May 13 2020 Tomas Hrnciar <thrnciar@redhat.com> - 3.15.0-1
- Update to 3.15.0
- Stop recommending Python 3.4
* Thu Mar 19 2020 Tomas Hrnciar <thrnciar@redhat.com> - 3.14.6-1
- Update to 3.14.6
* Thu Feb 06 2020 Miro Hrončok <mhroncok@redhat.com> - 3.14.3-1
- Update to 3.14.3 (#1725939)
- Fix invocation with Python 3.9 (#1798929)
- Recommend Python 3.9
* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.13.2-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Thu Oct 03 2019 Miro Hrončok <mhroncok@redhat.com> - 3.13.2-4
- Rebuilt for Python 3.8.0rc1 (#1748018)
* Fri Aug 16 2019 Miro Hrončok <mhroncok@redhat.com> - 3.13.2-3
- Rebuilt for Python 3.8
* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.13.2-2 * Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.13.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
+1 -1
View File
@@ -1 +1 @@
SHA512 (tox-3.13.2.tar.gz) = 06c92c803bef7c2dd3796ecc869d78dc4d3044e62688bcf529b7c6b8330532aab30dcc44425fc226886a35d8227225db5e3f2435a469e90af7ad440231abbc35 SHA512 (tox-3.27.1.tar.gz) = 89be82a1e0374ce3e281e63bdf36d1619878c46ba5e2a3b45ee28ed3a3ab13b1f7030ad27efabb866a084fb813d1e146ad9fa81f22580904d0e261a94fde0689
+88
View File
@@ -0,0 +1,88 @@
#!/usr/bin/python3
"""
Several packages with various Python interpreters *Supplement* tox.
*Supplements* is a reverse dependency to *Recommends*.
See https://lists.fedoraproject.org/archives/list/python-devel@lists.fedoraproject.org/thread/NVVUXSVSPFQOWIGBE2JNI67HEO7R63ZQ/
This script:
1) figures out all packages in the enabled repositories supplementing tox
2) ensures there is a venv.sh test for each of them in tests.yml
That way, when we change tox (update, patch, etc.),
we will always test it with all Pythons that supplement it.
"""
import shlex
import subprocess
import sys
import yaml
def parse_python_test_arg(command):
tokens = shlex.split(command)
for token in tokens:
if token.startswith('PYTHON='):
return token.removeprefix('PYTHON=')
# only check VERSION if PYTHON was not found
for token in tokens:
if token.startswith('VERSION='):
return 'python' + token.removeprefix('VERSION=')
raise RuntimeError(f'Could not determine the Python version from `{command}`')
# First, construct a set of various Pythons we test, e.g. {python3.10, python3.7, pypy3.6, ...}
tested_pythons = set()
with open('tests.yml') as f:
tests_yml = yaml.safe_load(f)
# this nested structure access is quite fragile,
# but at least it should fail the test if we reach to a wrong place
for test in tests_yml[-1]['roles'][0]['tests']:
for value in test.values():
run = value['run']
if run.endswith('./venv.sh'):
tested_pythons.add(parse_python_test_arg(run))
print('Tested Pythons found in tests.yml:', file=sys.stderr)
for python in sorted(tested_pythons):
print(' ', python, file=sys.stderr)
# Get all packages that supplement tox,
# no repo explicitly specified means we use the enabled repos on the CI system which should be what we want
repoquery_result = subprocess.check_output(['dnf', 'repoquery', '--whatsupplements', 'tox'], text=True)
supplementing_pkgs = set(repoquery_result.splitlines())
# It gets quite tricky, since packages like "pypy" can supplement tox, we get a set of provides for all of them
supplementing_pkgs_provides = {}
for nvra in supplementing_pkgs:
repoquery_result = subprocess.check_output(['dnf', '-q', 'repoquery', '--provides', nvra], text=True)
provides = set(repoquery_result.splitlines())
unversioned_provides = {provide.split(' ')[0] for provide in provides}
supplementing_pkgs_provides[nvra.rsplit('-', 2)[0]] = unversioned_provides
# We use this hack to treat -devel and -libs packages as if they were not such
def normalize_name(pkgname):
for suffix in '-devel', '-libs':
if pkgname.endswith(suffix):
return pkgname.removesuffix(suffix)
return pkgname
# Now, for each package that supplements tox, we check if there is a tested Python that *is* it
exit_code = 0
for pkg, provides in supplementing_pkgs_provides.items():
if normalize_name(pkg) in tested_pythons:
print(f'{pkg} is tested', file=sys.stderr)
continue
for provide in provides:
if normalize_name(provide) in tested_pythons:
print(f'{pkg} is tested (via {provide})', file=sys.stderr)
break
else:
print(f'{pkg} is NOT tested', file=sys.stderr)
exit_code = 1
sys.exit(exit_code)
+63 -14
View File
@@ -8,23 +8,34 @@
state: latest state: latest
- hosts: localhost - hosts: localhost
tags:
- classic
pre_tasks:
- import_role:
name: standard-test-source
vars:
fetch_only: True
roles: roles:
- role: standard-test-basic - role: standard-test-basic
tags:
- classic
repositories: repositories:
- repo: "https://src.fedoraproject.org/tests/python.git" - repo: "https://src.fedoraproject.org/tests/python.git"
dest: "python" dest: "python"
- repo: "https://src.fedoraproject.org/rpms/pyproject-rpm-macros.git"
dest: "pyproject-rpm-macros"
tests: tests:
- mock_with_tests:
dir: .
run: pyproject-rpm-macros/tests/mocktest.sh python-tox --enable-network --with tests
- all_supplementing_pythons:
dir: tests
run: ./all_supplementing_pythons.py
- smoke27: - smoke27:
dir: python/smoke dir: python/smoke
run: VERSION=2.7 METHOD=virtualenv ./venv.sh run: VERSION=2.7 METHOD=virtualenv ./venv.sh
- smoke34: - smoke35_optional:
dir: python/smoke dir: python/smoke
run: VERSION=3.4 ./venv.sh run: VERSION=3.5 INSTALL_OR_SKIP=true ./venv.sh
- smoke35:
dir: python/smoke
run: VERSION=3.5 ./venv.sh
- smoke36: - smoke36:
dir: python/smoke dir: python/smoke
run: VERSION=3.6 ./venv.sh run: VERSION=3.6 ./venv.sh
@@ -34,15 +45,53 @@
- smoke38: - smoke38:
dir: python/smoke dir: python/smoke
run: VERSION=3.8 ./venv.sh run: VERSION=3.8 ./venv.sh
- smoke39:
dir: python/smoke
run: VERSION=3.9 ./venv.sh
- smoke310:
dir: python/smoke
run: VERSION=3.10 ./venv.sh
- smoke311:
dir: python/smoke
run: VERSION=3.11 ./venv.sh
- smoke312:
dir: python/smoke
run: VERSION=3.12 ./venv.sh
- smoke_pypy37_optional:
dir: python/smoke
run: PYTHON=pypy3.7 VERSION=3.7 INSTALL_OR_SKIP=true ./venv.sh
- smoke_pypy38:
dir: python/smoke
run: PYTHON=pypy3.8 VERSION=3.8 ./venv.sh
- smoke_pypy39:
dir: python/smoke
run: PYTHON=pypy3.9 VERSION=3.9 ./venv.sh
- pyproject_pytest:
dir: pyproject-rpm-macros/tests
run: ./mocktest.sh python-pytest
- pyproject_pluggy:
dir: pyproject-rpm-macros/tests
run: ./mocktest.sh python-pluggy
- pyproject_openqa_client:
dir: pyproject-rpm-macros/tests
run: ./mocktest.sh python-openqa_client
required_packages: required_packages:
- gcc - gcc
- virtualenv - virtualenv
- python27 - python2.7
- python34 - python3.6
- python35 - python3.7
- python36 - python3.8
- python37 - python3.9
- python38 - python3.10-devel
- python3.11-devel
- python3.12-devel
- python2-devel - python2-devel
- python3-devel - pypy3.8-devel
- pypy3.9-devel
- python3-tox - python3-tox
- dnf
- mock
- rpmdevtools
- rpm-build
- python3-pyyaml