From 59fd6aa1049808f2bf2c6b3bd309ddfe9d9f6809 Mon Sep 17 00:00:00 2001 From: David Lord Date: Thu, 9 Nov 2023 08:46:01 -0800 Subject: [PATCH] use pip-compile instead of pip-compile-multi --- .github/workflows/publish.yaml | 13 +- .github/workflows/tests.yaml | 2 +- requirements-skip/README.md | 2 + requirements-skip/tests-dev.txt | 6 + .../tests-min.in | 6 +- requirements-skip/tests-min.txt | 21 +++ requirements/build.txt | 13 +- requirements/dev.in | 2 +- requirements/dev.txt | 144 ++++++++++++++---- requirements/docs.in | 4 +- requirements/docs.txt | 31 ++-- requirements/tests-pallets-min.txt | 22 --- requirements/tests.txt | 19 ++- requirements/typing.txt | 23 ++- tox.ini | 11 +- 15 files changed, 201 insertions(+), 118 deletions(-) create mode 100644 requirements-skip/README.md create mode 100644 requirements-skip/tests-dev.txt rename requirements/tests-pallets-min.in => requirements-skip/tests-min.in (50%) create mode 100644 requirements-skip/tests-min.txt delete mode 100644 requirements/tests-pallets-min.txt diff --git a/.github/workflows/publish.yaml b/.github/workflows/publish.yaml index 05681f54c0..059f97e5f1 100644 --- a/.github/workflows/publish.yaml +++ b/.github/workflows/publish.yaml @@ -13,8 +13,8 @@ jobs: - uses: actions/setup-python@61a6322f88396a6271a6ee3565807d608ecaddd1 with: python-version: '3.x' - cache: 'pip' - cache-dependency-path: 'requirements/*.txt' + cache: pip + cache-dependency-path: requirements*/*.txt - run: pip install -r requirements/build.txt # Use the commit date instead of the current date during the build. - run: echo "SOURCE_DATE_EPOCH=$(git log -1 --pretty=%ct)" >> $GITHUB_ENV @@ -27,7 +27,7 @@ jobs: with: path: ./dist provenance: - needs: ['build'] + needs: [build] permissions: actions: read id-token: write @@ -39,7 +39,7 @@ jobs: create-release: # Upload the sdist, wheels, and provenance to a GitHub release. They remain # available as build artifacts for a while as well. - needs: ['provenance'] + needs: [provenance] runs-on: ubuntu-latest permissions: contents: write @@ -53,16 +53,15 @@ jobs: env: GH_TOKEN: ${{ github.token }} publish-pypi: - needs: ['provenance'] + needs: [provenance] # Wait for approval before attempting to upload to PyPI. This allows reviewing the # files in the draft release. - environment: 'publish' + environment: publish runs-on: ubuntu-latest permissions: id-token: write steps: - uses: actions/download-artifact@9bc31d5ccc31df68ecc42ccf4149144866c47d8a - # Try uploading to Test PyPI first, in case something fails. - uses: pypa/gh-action-pypi-publish@b7f401de30cb6434a1e19f805ff006643653240e with: repository-url: https://test.pypi.org/legacy/ diff --git a/.github/workflows/tests.yaml b/.github/workflows/tests.yaml index 56d2922a33..903cba87e9 100644 --- a/.github/workflows/tests.yaml +++ b/.github/workflows/tests.yaml @@ -38,7 +38,7 @@ jobs: with: python-version: ${{ matrix.python }} cache: 'pip' - cache-dependency-path: 'requirements/*.txt' + cache-dependency-path: requirements*/*.txt - name: cache mypy uses: actions/cache@88522ab9f39a2ea568f7027eddc7d8d8bc9d59c8 with: diff --git a/requirements-skip/README.md b/requirements-skip/README.md new file mode 100644 index 0000000000..675ca4abd3 --- /dev/null +++ b/requirements-skip/README.md @@ -0,0 +1,2 @@ +Dependabot will only update files in the `requirements` directory. This directory is +separate because the pins in here should not be updated automatically. diff --git a/requirements-skip/tests-dev.txt b/requirements-skip/tests-dev.txt new file mode 100644 index 0000000000..3e7f028e84 --- /dev/null +++ b/requirements-skip/tests-dev.txt @@ -0,0 +1,6 @@ +https://github.com/pallets/werkzeug/archive/refs/heads/main.tar.gz +https://github.com/pallets/jinja/archive/refs/heads/main.tar.gz +https://github.com/pallets/markupsafe/archive/refs/heads/main.tar.gz +https://github.com/pallets/itsdangerous/archive/refs/heads/main.tar.gz +https://github.com/pallets/click/archive/refs/heads/main.tar.gz +https://github.com/pallets-eco/blinker/archive/refs/heads/main.tar.gz diff --git a/requirements/tests-pallets-min.in b/requirements-skip/tests-min.in similarity index 50% rename from requirements/tests-pallets-min.in rename to requirements-skip/tests-min.in index c393821987..c7ec9969f4 100644 --- a/requirements/tests-pallets-min.in +++ b/requirements-skip/tests-min.in @@ -1,6 +1,6 @@ -Werkzeug==3.0.0 -Jinja2==3.1.2 -MarkupSafe==2.1.1 +werkzeug==3.0.0 +jinja2==3.1.2 +markupsafe==2.1.1 itsdangerous==2.1.2 click==8.1.3 blinker==1.6.2 diff --git a/requirements-skip/tests-min.txt b/requirements-skip/tests-min.txt new file mode 100644 index 0000000000..8a6cbf02cc --- /dev/null +++ b/requirements-skip/tests-min.txt @@ -0,0 +1,21 @@ +# +# This file is autogenerated by pip-compile with Python 3.11 +# by the following command: +# +# pip-compile tests-min.in +# +blinker==1.6.2 + # via -r tests-min.in +click==8.1.3 + # via -r tests-min.in +itsdangerous==2.1.2 + # via -r tests-min.in +jinja2==3.1.2 + # via -r tests-min.in +markupsafe==2.1.1 + # via + # -r tests-min.in + # jinja2 + # werkzeug +werkzeug==3.0.0 + # via -r tests-min.in diff --git a/requirements/build.txt b/requirements/build.txt index 196545d0e0..6bfd666c59 100644 --- a/requirements/build.txt +++ b/requirements/build.txt @@ -1,13 +1,12 @@ -# SHA1:80754af91bfb6d1073585b046fe0a474ce868509 # -# This file is autogenerated by pip-compile-multi -# To update, run: +# This file is autogenerated by pip-compile with Python 3.11 +# by the following command: # -# pip-compile-multi +# pip-compile build.in # -build==0.10.0 - # via -r requirements/build.in -packaging==23.1 +build==1.0.3 + # via -r build.in +packaging==23.2 # via build pyproject-hooks==1.0.0 # via build diff --git a/requirements/dev.in b/requirements/dev.in index 99f5942f83..2588467c15 100644 --- a/requirements/dev.in +++ b/requirements/dev.in @@ -1,6 +1,6 @@ -r docs.in -r tests.in -r typing.in -pip-compile-multi +pip-tools pre-commit tox diff --git a/requirements/dev.txt b/requirements/dev.txt index d305c76b6f..49c08c9b14 100644 --- a/requirements/dev.txt +++ b/requirements/dev.txt @@ -1,62 +1,150 @@ -# SHA1:54b5b77ec8c7a0064ffa93b2fd16cb0130ba177c # -# This file is autogenerated by pip-compile-multi -# To update, run: +# This file is autogenerated by pip-compile with Python 3.11 +# by the following command: # -# pip-compile-multi +# pip-compile dev.in # --r docs.txt --r tests.txt --r typing.txt -build==0.10.0 +alabaster==0.7.13 + # via sphinx +asgiref==3.7.2 + # via -r tests.in +babel==2.13.1 + # via sphinx +build==1.0.3 # via pip-tools -cachetools==5.3.1 +cachetools==5.3.2 # via tox +certifi==2023.7.22 + # via requests +cffi==1.16.0 + # via cryptography cfgv==3.4.0 # via pre-commit chardet==5.2.0 # via tox -click==8.1.6 - # via - # pip-compile-multi - # pip-tools +charset-normalizer==3.3.2 + # via requests +click==8.1.7 + # via pip-tools colorama==0.4.6 # via tox +cryptography==41.0.5 + # via -r typing.in distlib==0.3.7 # via virtualenv -filelock==3.12.2 +docutils==0.18.1 + # via + # sphinx + # sphinx-tabs +filelock==3.13.1 # via # tox # virtualenv -identify==2.5.26 +identify==2.5.31 # via pre-commit +idna==3.4 + # via requests +imagesize==1.4.1 + # via sphinx +iniconfig==2.0.0 + # via pytest +jinja2==3.1.2 + # via sphinx +markupsafe==2.1.3 + # via jinja2 +mypy==1.6.1 + # via -r typing.in +mypy-extensions==1.0.0 + # via mypy nodeenv==1.8.0 # via pre-commit -pip-compile-multi==2.6.3 - # via -r requirements/dev.in +packaging==23.2 + # via + # build + # pallets-sphinx-themes + # pyproject-api + # pytest + # sphinx + # tox +pallets-sphinx-themes==2.1.1 + # via -r docs.in pip-tools==7.3.0 - # via pip-compile-multi -platformdirs==3.10.0 + # via -r dev.in +platformdirs==3.11.0 # via # tox # virtualenv -pre-commit==3.3.3 - # via -r requirements/dev.in -pyproject-api==1.5.3 +pluggy==1.3.0 + # via + # pytest + # tox +pre-commit==3.5.0 + # via -r dev.in +pycparser==2.21 + # via cffi +pygments==2.16.1 + # via + # sphinx + # sphinx-tabs +pyproject-api==1.6.1 # via tox pyproject-hooks==1.0.0 # via build +pytest==7.4.3 + # via -r tests.in +python-dotenv==1.0.0 + # via -r tests.in pyyaml==6.0.1 # via pre-commit -toposort==1.10 - # via pip-compile-multi -tox==4.9.0 - # via -r requirements/dev.in -virtualenv==20.24.3 +requests==2.31.0 + # via sphinx +snowballstemmer==2.2.0 + # via sphinx +sphinx==7.2.6 + # via + # -r docs.in + # pallets-sphinx-themes + # sphinx-issues + # sphinx-tabs + # sphinxcontrib-applehelp + # sphinxcontrib-devhelp + # sphinxcontrib-htmlhelp + # sphinxcontrib-log-cabinet + # sphinxcontrib-qthelp + # sphinxcontrib-serializinghtml +sphinx-issues==3.0.1 + # via -r docs.in +sphinx-tabs==3.4.4 + # via -r docs.in +sphinxcontrib-applehelp==1.0.7 + # via sphinx +sphinxcontrib-devhelp==1.0.5 + # via sphinx +sphinxcontrib-htmlhelp==2.0.4 + # via sphinx +sphinxcontrib-jsmath==1.0.1 + # via sphinx +sphinxcontrib-log-cabinet==1.0.1 + # via -r docs.in +sphinxcontrib-qthelp==1.0.6 + # via sphinx +sphinxcontrib-serializinghtml==1.1.9 + # via sphinx +tox==4.11.3 + # via -r dev.in +types-contextvars==2.4.7.3 + # via -r typing.in +types-dataclasses==0.6.6 + # via -r typing.in +typing-extensions==4.8.0 + # via mypy +urllib3==2.0.7 + # via requests +virtualenv==20.24.6 # via # pre-commit # tox -wheel==0.41.1 +wheel==0.41.3 # via pip-tools # The following packages are considered to be unsafe in a requirements file: diff --git a/requirements/docs.in b/requirements/docs.in index 3ee050af0e..a00c08f85b 100644 --- a/requirements/docs.in +++ b/requirements/docs.in @@ -1,5 +1,5 @@ -Pallets-Sphinx-Themes -Sphinx +pallets-sphinx-themes +sphinx sphinx-issues sphinxcontrib-log-cabinet sphinx-tabs diff --git a/requirements/docs.txt b/requirements/docs.txt index 55f1bdddbe..34d6461c5e 100644 --- a/requirements/docs.txt +++ b/requirements/docs.txt @@ -1,17 +1,16 @@ -# SHA1:34fd4ca6516e97c7348e6facdd9c4ebb68209d1c # -# This file is autogenerated by pip-compile-multi -# To update, run: +# This file is autogenerated by pip-compile with Python 3.11 +# by the following command: # -# pip-compile-multi +# pip-compile docs.in # alabaster==0.7.13 # via sphinx -babel==2.12.1 +babel==2.13.1 # via sphinx certifi==2023.7.22 # via requests -charset-normalizer==3.2.0 +charset-normalizer==3.3.2 # via requests docutils==0.18.1 # via @@ -25,12 +24,12 @@ jinja2==3.1.2 # via sphinx markupsafe==2.1.3 # via jinja2 -packaging==23.1 +packaging==23.2 # via # pallets-sphinx-themes # sphinx pallets-sphinx-themes==2.1.1 - # via -r requirements/docs.in + # via -r docs.in pygments==2.16.1 # via # sphinx @@ -39,9 +38,9 @@ requests==2.31.0 # via sphinx snowballstemmer==2.2.0 # via sphinx -sphinx==7.1.2 +sphinx==7.2.6 # via - # -r requirements/docs.in + # -r docs.in # pallets-sphinx-themes # sphinx-issues # sphinx-tabs @@ -52,9 +51,9 @@ sphinx==7.1.2 # sphinxcontrib-qthelp # sphinxcontrib-serializinghtml sphinx-issues==3.0.1 - # via -r requirements/docs.in -sphinx-tabs==3.4.1 - # via -r requirements/docs.in + # via -r docs.in +sphinx-tabs==3.4.4 + # via -r docs.in sphinxcontrib-applehelp==1.0.7 # via sphinx sphinxcontrib-devhelp==1.0.5 @@ -64,10 +63,10 @@ sphinxcontrib-htmlhelp==2.0.4 sphinxcontrib-jsmath==1.0.1 # via sphinx sphinxcontrib-log-cabinet==1.0.1 - # via -r requirements/docs.in + # via -r docs.in sphinxcontrib-qthelp==1.0.6 # via sphinx -sphinxcontrib-serializinghtml==1.1.8 +sphinxcontrib-serializinghtml==1.1.9 # via sphinx -urllib3==2.0.4 +urllib3==2.0.7 # via requests diff --git a/requirements/tests-pallets-min.txt b/requirements/tests-pallets-min.txt deleted file mode 100644 index dc989a1255..0000000000 --- a/requirements/tests-pallets-min.txt +++ /dev/null @@ -1,22 +0,0 @@ -# SHA1:fbb9fae044c2e7d895de9b3d7cbb40a11a822f04 -# -# This file is autogenerated by pip-compile-multi -# To update, run: -# -# pip-compile-multi -# -blinker==1.6.2 - # via -r requirements/tests-pallets-min.in -click==8.1.3 - # via -r requirements/tests-pallets-min.in -itsdangerous==2.1.2 - # via -r requirements/tests-pallets-min.in -jinja2==3.1.2 - # via -r requirements/tests-pallets-min.in -markupsafe==2.1.1 - # via - # -r requirements/tests-pallets-min.in - # jinja2 - # werkzeug -werkzeug==3.0.0 - # via -r requirements/tests-pallets-min.in diff --git a/requirements/tests.txt b/requirements/tests.txt index d8fedc4a14..dd86016198 100644 --- a/requirements/tests.txt +++ b/requirements/tests.txt @@ -1,19 +1,18 @@ -# SHA1:42d37aff22e2f1fc447e20d483e13d6d4e066b10 # -# This file is autogenerated by pip-compile-multi -# To update, run: +# This file is autogenerated by pip-compile with Python 3.11 +# by the following command: # -# pip-compile-multi +# pip-compile tests.in # asgiref==3.7.2 - # via -r requirements/tests.in + # via -r tests.in iniconfig==2.0.0 # via pytest -packaging==23.1 +packaging==23.2 # via pytest -pluggy==1.2.0 +pluggy==1.3.0 # via pytest -pytest==7.4.0 - # via -r requirements/tests.in +pytest==7.4.3 + # via -r tests.in python-dotenv==1.0.0 - # via -r requirements/tests.in + # via -r tests.in diff --git a/requirements/typing.txt b/requirements/typing.txt index 461248742e..990ff6bb79 100644 --- a/requirements/typing.txt +++ b/requirements/typing.txt @@ -1,23 +1,22 @@ -# SHA1:6a354b832686fd3ec017455769a0270953a1e225 # -# This file is autogenerated by pip-compile-multi -# To update, run: +# This file is autogenerated by pip-compile with Python 3.11 +# by the following command: # -# pip-compile-multi +# pip-compile typing.in # -cffi==1.15.1 +cffi==1.16.0 # via cryptography -cryptography==41.0.3 - # via -r requirements/typing.in -mypy==1.5.1 - # via -r requirements/typing.in +cryptography==41.0.5 + # via -r typing.in +mypy==1.6.1 + # via -r typing.in mypy-extensions==1.0.0 # via mypy pycparser==2.21 # via cffi types-contextvars==2.4.7.3 - # via -r requirements/typing.in + # via -r typing.in types-dataclasses==0.6.6 - # via -r requirements/typing.in -typing-extensions==4.7.1 + # via -r typing.in +typing-extensions==4.8.0 # via mypy diff --git a/tox.ini b/tox.ini index cb735d28eb..1ba066316c 100644 --- a/tox.ini +++ b/tox.ini @@ -17,15 +17,8 @@ constrain_package_deps = true use_frozen_constraints = true deps = -r requirements/tests.txt - min: -r requirements/tests-pallets-min.txt - dev: https://github.com/pallets/werkzeug/archive/refs/heads/main.tar.gz - dev: https://github.com/pallets/jinja/archive/refs/heads/main.tar.gz - dev: https://github.com/pallets/markupsafe/archive/refs/heads/main.tar.gz - dev: https://github.com/pallets/itsdangerous/archive/refs/heads/main.tar.gz - dev: https://github.com/pallets/click/archive/refs/heads/main.tar.gz -# examples/tutorial[test] -# examples/javascript[test] -# commands = pytest -v --tb=short --basetemp={envtmpdir} {posargs:tests examples} + min: -r requirements-skip/tests-min.txt + dev: -r requirements-skip/tests-dev.txt commands = pytest -v --tb=short --basetemp={envtmpdir} {posargs:tests} [testenv:style]