From a7e6db9bbc6d10a057e06c5314f3fbe020695d9c Mon Sep 17 00:00:00 2001 From: Michael Seifert Date: Mon, 28 Mar 2022 11:47:30 +0200 Subject: [PATCH 1/9] build: Extracted runtime dependencies finto requirements.txt. Signed-off-by: Michael Seifert --- requirements.txt | 3 +++ setup.cfg | 1 + tox.ini | 2 +- 3 files changed, 5 insertions(+), 1 deletion(-) create mode 100644 requirements.txt diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 00000000..c3e568dd --- /dev/null +++ b/requirements.txt @@ -0,0 +1,3 @@ +# Always adjust install_requires in setup.cfg when changing runtime dependencies +pytest==6.2.5 +typing-extensions >= 3.7.2; python_version < "3.8" diff --git a/setup.cfg b/setup.cfg index 7b684e0f..5d041ca2 100644 --- a/setup.cfg +++ b/setup.cfg @@ -34,6 +34,7 @@ python_requires = >=3.7 packages = find: include_package_data = True +# Always adjust requirements.txt when changing runtime dependencies install_requires = pytest >= 6.1.0 typing-extensions >= 3.7.2; python_version < "3.8" diff --git a/tox.ini b/tox.ini index 00d45222..8a2fe766 100644 --- a/tox.ini +++ b/tox.ini @@ -8,7 +8,7 @@ passenv = [testenv] extras = testing deps = - pytest == 6.2.5 # required for Python 3.10, not bad for others + --requirement requirements.txt commands = make test allowlist_externals = make From ff0838359be0a37ca08e1d601c8ea20935bda48c Mon Sep 17 00:00:00 2001 From: Michael Seifert Date: Mon, 28 Mar 2022 11:48:58 +0200 Subject: [PATCH 2/9] build: Removed upper version bound on pytest dependency. Constrained pytest to v7.1.1. Signed-off-by: Michael Seifert --- constraints.txt | 1 + requirements.txt | 2 +- tox.ini | 1 + 3 files changed, 3 insertions(+), 1 deletion(-) create mode 100644 constraints.txt diff --git a/constraints.txt b/constraints.txt new file mode 100644 index 00000000..4f6bf643 --- /dev/null +++ b/constraints.txt @@ -0,0 +1 @@ +pytest==7.1.1 diff --git a/requirements.txt b/requirements.txt index c3e568dd..2f8a2c62 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,3 +1,3 @@ # Always adjust install_requires in setup.cfg when changing runtime dependencies -pytest==6.2.5 +pytest >= 6.1.0 typing-extensions >= 3.7.2; python_version < "3.8" diff --git a/tox.ini b/tox.ini index 8a2fe766..c466ef8b 100644 --- a/tox.ini +++ b/tox.ini @@ -9,6 +9,7 @@ passenv = extras = testing deps = --requirement requirements.txt + --constraint constraints.txt commands = make test allowlist_externals = make From b212ffbfc95b937f6b23e7b638bb57819c5a71ad Mon Sep 17 00:00:00 2001 From: Michael Seifert Date: Mon, 28 Mar 2022 12:09:10 +0200 Subject: [PATCH 3/9] build: Added version constraints for transitive dependencies of the "testing" extra. Signed-off-by: Michael Seifert --- constraints.txt | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/constraints.txt b/constraints.txt index 4f6bf643..198467b8 100644 --- a/constraints.txt +++ b/constraints.txt @@ -1 +1,21 @@ +async-generator==1.10 +attrs==21.4.0 +coverage==6.2 +flaky==3.7.0 +hypothesis==6.39.6 +idna==3.3 +iniconfig==1.1.1 +mypy==0.931 +mypy-extensions==0.4.3 +outcome==1.1.0 +packaging==21.3 +pluggy==1.0.0 +py==1.11.0 +pyparsing==3.0.7 pytest==7.1.1 +pytest-trio==0.7.0 +sniffio==1.2.0 +sortedcontainers==2.4.0 +tomli==2.0.1 +trio==0.20.0 +typing_extensions==4.1.1 From aab6a25669ca1aa4c7deedacb311b625bc887688 Mon Sep 17 00:00:00 2001 From: Michael Seifert Date: Mon, 28 Mar 2022 12:33:28 +0200 Subject: [PATCH 4/9] build: Added version constraints for dependencies to the "pytest-min" tox environment. Signed-off-by: Michael Seifert --- pytest-min-constraints.txt | 22 ++++++++++++++++++++++ tox.ini | 1 + 2 files changed, 23 insertions(+) create mode 100644 pytest-min-constraints.txt diff --git a/pytest-min-constraints.txt b/pytest-min-constraints.txt new file mode 100644 index 00000000..f41e5a97 --- /dev/null +++ b/pytest-min-constraints.txt @@ -0,0 +1,22 @@ +async-generator==1.10 +attrs==21.4.0 +coverage==6.2 +flaky==3.7.0 +hypothesis==6.39.6 +idna==3.3 +iniconfig==1.1.1 +mypy==0.931 +mypy-extensions==0.4.3 +outcome==1.1.0 +packaging==21.3 +pluggy==0.13.1 +py==1.11.0 +pyparsing==3.0.7 +pytest==6.1.0 +pytest-trio==0.7.0 +sniffio==1.2.0 +sortedcontainers==2.4.0 +toml==0.10.2 +tomli==2.0.1 +trio==0.20.0 +typing_extensions==4.1.1 diff --git a/tox.ini b/tox.ini index c466ef8b..951b037f 100644 --- a/tox.ini +++ b/tox.ini @@ -18,6 +18,7 @@ allowlist_externals = extras = testing deps = pytest == 6.1.0 + --constraint pytest-min-constraints.txt commands = make test allowlist_externals = make From ada85bff6fe81e9ebffe1799fd14f378a8080573 Mon Sep 17 00:00:00 2001 From: Michael Seifert Date: Mon, 28 Mar 2022 12:37:53 +0200 Subject: [PATCH 5/9] build: Extracted runtime dependencies from pytest-min tox environment into the file pytest-min-requirements.txt. Signed-off-by: Michael Seifert --- pytest-min-requirements.txt | 3 +++ requirements.txt | 3 ++- setup.cfg | 2 +- tox.ini | 2 +- 4 files changed, 7 insertions(+), 3 deletions(-) create mode 100644 pytest-min-requirements.txt diff --git a/pytest-min-requirements.txt b/pytest-min-requirements.txt new file mode 100644 index 00000000..7d5dc52a --- /dev/null +++ b/pytest-min-requirements.txt @@ -0,0 +1,3 @@ +# Always adjust install_requires in setup.cfg and requirements.txt +# when changing minimum version dependencies +pytest == 6.1.0 diff --git a/requirements.txt b/requirements.txt index 2f8a2c62..01b2484e 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,3 +1,4 @@ -# Always adjust install_requires in setup.cfg when changing runtime dependencies +# Always adjust install_requires in setup.cfg and pytest-min-requirements.txt +# when changing runtime dependencies pytest >= 6.1.0 typing-extensions >= 3.7.2; python_version < "3.8" diff --git a/setup.cfg b/setup.cfg index 5d041ca2..2fbb01e2 100644 --- a/setup.cfg +++ b/setup.cfg @@ -34,7 +34,7 @@ python_requires = >=3.7 packages = find: include_package_data = True -# Always adjust requirements.txt when changing runtime dependencies +# Always adjust requirements.txt and pytest-min-requirements.txt when changing runtime dependencies install_requires = pytest >= 6.1.0 typing-extensions >= 3.7.2; python_version < "3.8" diff --git a/tox.ini b/tox.ini index 951b037f..fa14076c 100644 --- a/tox.ini +++ b/tox.ini @@ -17,7 +17,7 @@ allowlist_externals = [testenv:pytest-min] extras = testing deps = - pytest == 6.1.0 + --requirement pytest-min-requirements.txt --constraint pytest-min-constraints.txt commands = make test allowlist_externals = From fd4f469e2c9fdf5274d64e77d0250f97fe803cd4 Mon Sep 17 00:00:00 2001 From: Michael Seifert Date: Mon, 28 Mar 2022 12:41:49 +0200 Subject: [PATCH 6/9] build: Added missing explicit dependency on typing-extensions to pytest-min-requirements. Signed-off-by: Michael Seifert --- pytest-min-requirements.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/pytest-min-requirements.txt b/pytest-min-requirements.txt index 7d5dc52a..4fc6ef2f 100644 --- a/pytest-min-requirements.txt +++ b/pytest-min-requirements.txt @@ -1,3 +1,4 @@ # Always adjust install_requires in setup.cfg and requirements.txt # when changing minimum version dependencies pytest == 6.1.0 +typing-extensions >= 3.7.2; python_version < "3.8" From 78b8398e04c27d20f9eeb3da03bb04cdb25de9a4 Mon Sep 17 00:00:00 2001 From: Michael Seifert Date: Mon, 28 Mar 2022 12:46:57 +0200 Subject: [PATCH 7/9] ci: Move different sets of constraint and requirement files to different directories. This allows Dependabot to update both dependency sets independently. Signed-off-by: Michael Seifert --- .github/dependabot.yml | 10 ++++++++-- .../default/constraints.txt | 0 .../default/requirements.txt | 0 .../pytest-min/constraints.txt | 0 .../pytest-min/requirements.txt | 0 tox.ini | 8 ++++---- 6 files changed, 12 insertions(+), 6 deletions(-) rename constraints.txt => dependencies/default/constraints.txt (100%) rename requirements.txt => dependencies/default/requirements.txt (100%) rename pytest-min-constraints.txt => dependencies/pytest-min/constraints.txt (100%) rename pytest-min-requirements.txt => dependencies/pytest-min/requirements.txt (100%) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 9179b31d..caab31bf 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -2,9 +2,15 @@ version: 2 updates: - package-ecosystem: pip - directory: / + directory: /dependencies/default schedule: - interval: daily + interval: weekly + open-pull-requests-limit: 10 + target-branch: master +- package-ecosystem: pip + directory: /dependencies/pytest-min + schedule: + interval: weekly open-pull-requests-limit: 10 target-branch: master - package-ecosystem: github-actions diff --git a/constraints.txt b/dependencies/default/constraints.txt similarity index 100% rename from constraints.txt rename to dependencies/default/constraints.txt diff --git a/requirements.txt b/dependencies/default/requirements.txt similarity index 100% rename from requirements.txt rename to dependencies/default/requirements.txt diff --git a/pytest-min-constraints.txt b/dependencies/pytest-min/constraints.txt similarity index 100% rename from pytest-min-constraints.txt rename to dependencies/pytest-min/constraints.txt diff --git a/pytest-min-requirements.txt b/dependencies/pytest-min/requirements.txt similarity index 100% rename from pytest-min-requirements.txt rename to dependencies/pytest-min/requirements.txt diff --git a/tox.ini b/tox.ini index fa14076c..83cae521 100644 --- a/tox.ini +++ b/tox.ini @@ -8,8 +8,8 @@ passenv = [testenv] extras = testing deps = - --requirement requirements.txt - --constraint constraints.txt + --requirement dependencies/default/requirements.txt + --constraint dependencies/default/constraints.txt commands = make test allowlist_externals = make @@ -17,8 +17,8 @@ allowlist_externals = [testenv:pytest-min] extras = testing deps = - --requirement pytest-min-requirements.txt - --constraint pytest-min-constraints.txt + --requirement dependencies/pytest-min/requirements.txt + --constraint dependencies/pytest-min/constraints.txt commands = make test allowlist_externals = make From 97c522ca0a2f8ca809762862eeb48f3bba53b40e Mon Sep 17 00:00:00 2001 From: Michael Seifert Date: Mon, 28 Mar 2022 12:52:55 +0200 Subject: [PATCH 8/9] build: Removed upper bound on the mypy version installed by the "testing" extra. Adjusted constraints accordingly. Signed-off-by: Michael Seifert --- dependencies/default/constraints.txt | 5 ++++- dependencies/pytest-min/constraints.txt | 2 +- setup.cfg | 2 +- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/dependencies/default/constraints.txt b/dependencies/default/constraints.txt index 198467b8..a2618f52 100644 --- a/dependencies/default/constraints.txt +++ b/dependencies/default/constraints.txt @@ -4,8 +4,9 @@ coverage==6.2 flaky==3.7.0 hypothesis==6.39.6 idna==3.3 +importlib-metadata==4.11.3 iniconfig==1.1.1 -mypy==0.931 +mypy==0.942 mypy-extensions==0.4.3 outcome==1.1.0 packaging==21.3 @@ -18,4 +19,6 @@ sniffio==1.2.0 sortedcontainers==2.4.0 tomli==2.0.1 trio==0.20.0 +typed-ast==1.5.2 typing_extensions==4.1.1 +zipp==3.7.0 diff --git a/dependencies/pytest-min/constraints.txt b/dependencies/pytest-min/constraints.txt index f41e5a97..a221d503 100644 --- a/dependencies/pytest-min/constraints.txt +++ b/dependencies/pytest-min/constraints.txt @@ -5,7 +5,7 @@ flaky==3.7.0 hypothesis==6.39.6 idna==3.3 iniconfig==1.1.1 -mypy==0.931 +mypy==0.942 mypy-extensions==0.4.3 outcome==1.1.0 packaging==21.3 diff --git a/setup.cfg b/setup.cfg index 2fbb01e2..a399fb45 100644 --- a/setup.cfg +++ b/setup.cfg @@ -44,7 +44,7 @@ testing = coverage==6.2 hypothesis >= 5.7.1 flaky >= 3.5.0 - mypy == 0.931 + mypy >= 0.931 pytest-trio >= 0.7.0 [options.entry_points] From 5c0a641cbc9ce952c6850f16e78609881ace00b6 Mon Sep 17 00:00:00 2001 From: Michael Seifert Date: Mon, 28 Mar 2022 12:55:06 +0200 Subject: [PATCH 9/9] build: Removed upper bound on the coverage version installed by the "testing" extra. Adjusted constraints accordingly. Signed-off-by: Michael Seifert --- dependencies/default/constraints.txt | 2 +- dependencies/pytest-min/constraints.txt | 2 +- setup.cfg | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/dependencies/default/constraints.txt b/dependencies/default/constraints.txt index a2618f52..a9a0844c 100644 --- a/dependencies/default/constraints.txt +++ b/dependencies/default/constraints.txt @@ -1,6 +1,6 @@ async-generator==1.10 attrs==21.4.0 -coverage==6.2 +coverage==6.3.2 flaky==3.7.0 hypothesis==6.39.6 idna==3.3 diff --git a/dependencies/pytest-min/constraints.txt b/dependencies/pytest-min/constraints.txt index a221d503..e08c0f1b 100644 --- a/dependencies/pytest-min/constraints.txt +++ b/dependencies/pytest-min/constraints.txt @@ -1,6 +1,6 @@ async-generator==1.10 attrs==21.4.0 -coverage==6.2 +coverage==6.3.2 flaky==3.7.0 hypothesis==6.39.6 idna==3.3 diff --git a/setup.cfg b/setup.cfg index a399fb45..a0e08d97 100644 --- a/setup.cfg +++ b/setup.cfg @@ -41,7 +41,7 @@ install_requires = [options.extras_require] testing = - coverage==6.2 + coverage >= 6.2 hypothesis >= 5.7.1 flaky >= 3.5.0 mypy >= 0.931