1
0
mirror of https://github.com/certbot/certbot.git synced 2026-01-26 07:41:33 +03:00

Merge pull request #9919 from certbot/unpin-poetry-tox

Unpin poetry and use tox >= v4
This commit is contained in:
Will Greenberg
2024-04-10 11:54:31 -07:00
committed by GitHub
7 changed files with 104 additions and 95 deletions

View File

@@ -18,7 +18,7 @@ jobs:
PYTHON_VERSION: 3.11
TOXENV: py311
linux-isolated:
TOXENV: 'isolated-{acme,certbot,apache,cloudflare,digitalocean,dnsimple,dnsmadeeasy,gehirn,google,linode,luadns,nsone,ovh,rfc2136,route53,sakuracloud,nginx}'
TOXENV: 'isolated-acme,isolated-certbot,isolated-apache,isolated-cloudflare,isolated-digitalocean,isolated-dnsimple,isolated-dnsmadeeasy,isolated-gehirn,isolated-google,isolated-linode,isolated-luadns,isolated-nsone,isolated-ovh,isolated-rfc2136,isolated-route53,isolated-sakuracloud,isolated-nginx'
linux-boulder-v2-integration-certbot-oldest:
PYTHON_VERSION: 3.8
TOXENV: integration-certbot-oldest

View File

@@ -186,7 +186,7 @@ jobs:
displayName: Install Certbot snap
- script: |
set -e
venv/bin/python -m tox -e integration-external,apacheconftest-external-with-pebble
venv/bin/python -m tox run -e integration-external,apacheconftest-external-with-pebble
displayName: Run tox
- job: snap_dns_run
dependsOn: snaps_build

View File

@@ -44,7 +44,7 @@ steps:
export TARGET_BRANCH="`echo "${BUILD_SOURCEBRANCH}" | sed -E 's!refs/(heads|tags)/!!g'`"
[ -z "${SYSTEM_PULLREQUEST_TARGETBRANCH}" ] || export TARGET_BRANCH="${SYSTEM_PULLREQUEST_TARGETBRANCH}"
env
python3 -m tox
python3 -m tox run
env:
AWS_ACCESS_KEY_ID: $(AWS_ACCESS_KEY_ID)
AWS_SECRET_ACCESS_KEY: $(AWS_SECRET_ACCESS_KEY)

View File

@@ -134,7 +134,7 @@ For debugging, we recommend putting
Once you are done with your code changes, and the tests in ``foo_test.py``
pass, run all of the unit tests for Certbot and check for coverage with ``tox
-e cover``. You should then check for code style with ``tox -e lint`` (all
-e cover``. You should then check for code style with ``tox run -e lint`` (all
files) or ``pylint --rcfile=.pylintrc path/to/file.py`` (single file at a
time).
@@ -163,7 +163,7 @@ With a user allowed to access your local Docker daemon, run:
.. code-block:: shell
tox -e integration
tox run -e integration
Tests will be run using pytest. A test report and a code coverage report will be
displayed at the end of the integration tests execution.
@@ -485,7 +485,7 @@ annotations; we can find bugs in Certbot even without a fully annotated codebase
Zulip wrote a `great guide`_ to using mypy. Its useful, but you dont have to read the whole thing
to start contributing to Certbot.
To run mypy on Certbot, use ``tox -e mypy`` on a machine that has Python 3 installed.
To run mypy on Certbot, use ``tox run -e mypy`` on a machine that has Python 3 installed.
Also note that OpenSSL, which we rely on, has type definitions for crypto but not SSL. We use both.
Those imports should look like this:
@@ -509,12 +509,12 @@ Steps:
something we have the time and interest to review.
1. Write your code! When doing this, you should add :ref:`mypy type annotations
<type annotations>` for any functions you add or modify. You can check that
you've done this correctly by running ``tox -e mypy`` on a machine that has
you've done this correctly by running ``tox run -e mypy`` on a machine that has
Python 3 installed.
2. Make sure your environment is set up properly and that you're in your
virtualenv. You can do this by following the instructions in the
:ref:`Getting Started <getting_started>` section.
3. Run ``tox -e lint`` to check for pylint errors. Fix any errors.
3. Run ``tox run -e lint`` to check for pylint errors. Fix any errors.
4. Run ``tox --skip-missing-interpreters`` to run all the tests we recommend
developers run locally. The ``--skip-missing-interpreters`` argument ignores
missing versions of Python needed for running the tests. Fix any errors.

View File

@@ -8,6 +8,9 @@ license = "Apache License 2.0"
[tool.poetry.dependencies]
python = "^3.8"
# workaround for: https://github.com/python-poetry/poetry-plugin-export/issues/183
urllib3 = ">=1.25.4,<1.27"
# Local dependencies
# Any local packages that have dependencies on other local packages must be
# listed below before the package it depends on. For instance, certbot depends
@@ -65,16 +68,10 @@ pylint = "3.0.2"
# Making sure that it would not get installed (Fixing https://github.com/certbot/certbot/issues/9336)
cryptography = "!= 37.0.3"
# If poetry>=1.3.0 is selected, multiple versions of virtualenv are selected
# causing problems when exporting dependencies so let's pin poetry back until
# https://github.com/python-poetry/poetry-plugin-export/issues/168 is resolved.
poetry = "<1.3.0"
# Branch 4.x of tox introduces backward incompatibility changes, so require a newer
# version of tox to keep deterministic builds.
tox = ">=4"
# Branch 4.x of tox introduces backward incompatibility changes. The tox.ini
# file in the project must be adapted accordingly before moving out of the 3.x
# branch. Once done, the following constraint should become tox >= 4 to keep
# deterministic builds.
tox = "<4"
[tool.poetry.dev-dependencies]

View File

@@ -11,28 +11,29 @@ appnope==0.1.4 ; python_version >= "3.8" and python_version < "4.0" and sys_plat
astroid==3.0.3 ; python_version >= "3.8" and python_version < "4.0"
asttokens==2.4.1 ; python_version >= "3.8" and python_version < "4.0"
attrs==23.2.0 ; python_version >= "3.8" and python_version < "4.0"
azure-core==1.30.0 ; python_version >= "3.8" and python_version < "4.0"
azure-core==1.30.1 ; python_version >= "3.8" and python_version < "4.0"
azure-devops==7.1.0b4 ; python_version >= "3.8" and python_version < "4.0"
babel==2.14.0 ; python_version >= "3.8" and python_version < "4.0"
backcall==0.2.0 ; python_version >= "3.8" and python_version < "4.0"
bcrypt==4.1.2 ; python_version >= "3.8" and python_version < "4.0"
beautifulsoup4==4.12.3 ; python_version >= "3.8" and python_version < "4.0"
boto3==1.34.36 ; python_version >= "3.8" and python_version < "4.0"
botocore==1.34.36 ; python_version >= "3.8" and python_version < "4.0"
cachecontrol==0.12.14 ; python_version >= "3.8" and python_version < "4.0"
cachetools==5.3.2 ; python_version >= "3.8" and python_version < "4.0"
cachy==0.3.0 ; python_version >= "3.8" and python_version < "4.0"
boto3==1.34.73 ; python_version >= "3.8" and python_version < "4.0"
botocore==1.34.73 ; python_version >= "3.8" and python_version < "4.0"
build==1.2.1 ; python_version >= "3.8" and python_version < "4.0"
cachecontrol==0.14.0 ; python_version >= "3.8" and python_version < "4.0"
cachetools==5.3.3 ; python_version >= "3.8" and python_version < "4.0"
certifi==2024.2.2 ; python_version >= "3.8" and python_version < "4.0"
cffi==1.16.0 ; python_version >= "3.8" and python_version < "4.0"
chardet==5.2.0 ; python_version >= "3.8" and python_version < "4.0"
charset-normalizer==3.3.2 ; python_version >= "3.8" and python_version < "4.0"
cleo==1.0.0a5 ; python_version >= "3.8" and python_version < "4.0"
cloudflare==2.17.0 ; python_version >= "3.8" and python_version < "4.0"
colorama==0.4.6 ; python_version >= "3.8" and python_version < "4.0" and sys_platform == "win32" or python_version >= "3.8" and python_version < "4.0" and platform_system == "Windows"
cleo==2.1.0 ; python_version >= "3.8" and python_version < "4.0"
cloudflare==2.19.2 ; python_version >= "3.8" and python_version < "4.0"
colorama==0.4.6 ; python_version >= "3.8" and python_version < "4.0"
configargparse==1.7 ; python_version >= "3.8" and python_version < "4.0"
configobj==5.0.8 ; python_version >= "3.8" and python_version < "4.0"
coverage==7.4.1 ; python_version >= "3.8" and python_version < "4.0"
crashtest==0.3.1 ; python_version >= "3.8" and python_version < "4.0"
cryptography==42.0.2 ; python_version >= "3.8" and python_version < "4.0"
coverage==7.4.4 ; python_version >= "3.8" and python_version < "4.0"
crashtest==0.4.1 ; python_version >= "3.8" and python_version < "4.0"
cryptography==42.0.5 ; python_version >= "3.8" and python_version < "4.0"
cython==0.29.37 ; python_version >= "3.8" and python_version < "4.0"
decorator==5.1.1 ; python_version >= "3.8" and python_version < "4.0"
deprecated==1.2.14 ; python_version >= "3.8" and python_version < "4.0"
@@ -40,113 +41,110 @@ dill==0.3.8 ; python_version < "4.0" and python_version >= "3.8"
distlib==0.3.8 ; python_version >= "3.8" and python_version < "4.0"
distro==1.9.0 ; python_version >= "3.8" and python_version < "4.0"
dns-lexicon==3.17.0 ; python_version >= "3.8" and python_version < "4.0"
dnspython==2.5.0 ; python_version >= "3.8" and python_version < "4.0"
dnspython==2.6.1 ; python_version >= "3.8" and python_version < "4.0"
docutils==0.20.1 ; python_version >= "3.8" and python_version < "4.0"
dulwich==0.20.50 ; python_version >= "3.8" and python_version < "4.0"
dulwich==0.21.7 ; python_version >= "3.8" and python_version < "4.0"
exceptiongroup==1.2.0 ; python_version >= "3.8" and python_version < "3.11"
execnet==2.0.2 ; python_version >= "3.8" and python_version < "4.0"
executing==2.0.1 ; python_version >= "3.8" and python_version < "4.0"
fabric==3.2.2 ; python_version >= "3.8" and python_version < "4.0"
filelock==3.13.1 ; python_version >= "3.8" and python_version < "4.0"
google-api-core==2.16.2 ; python_version >= "3.8" and python_version < "4.0"
google-api-python-client==2.116.0 ; python_version >= "3.8" and python_version < "4.0"
fastjsonschema==2.19.1 ; python_version >= "3.8" and python_version < "4.0"
filelock==3.13.3 ; python_version >= "3.8" and python_version < "4.0"
google-api-core==2.18.0 ; python_version >= "3.8" and python_version < "4.0"
google-api-python-client==2.124.0 ; python_version >= "3.8" and python_version < "4.0"
google-auth-httplib2==0.2.0 ; python_version >= "3.8" and python_version < "4.0"
google-auth==2.27.0 ; python_version >= "3.8" and python_version < "4.0"
googleapis-common-protos==1.62.0 ; python_version >= "3.8" and python_version < "4.0"
html5lib==1.1 ; python_version >= "3.8" and python_version < "4.0"
google-auth==2.29.0 ; python_version >= "3.8" and python_version < "4.0"
googleapis-common-protos==1.63.0 ; python_version >= "3.8" and python_version < "4.0"
httplib2==0.22.0 ; python_version >= "3.8" and python_version < "4.0"
idna==3.6 ; python_version >= "3.8" and python_version < "4.0"
imagesize==1.4.1 ; python_version >= "3.8" and python_version < "4.0"
importlib-metadata==4.13.0 ; python_version >= "3.8" and python_version < "4.0"
importlib-resources==6.1.1 ; python_version >= "3.8" and python_version < "4.0"
importlib-metadata==7.1.0 ; python_version >= "3.8" and python_version < "4.0"
importlib-resources==6.4.0 ; python_version >= "3.8" and python_version < "4.0"
iniconfig==2.0.0 ; python_version >= "3.8" and python_version < "4.0"
installer==0.7.0 ; python_version >= "3.8" and python_version < "4.0"
invoke==2.2.0 ; python_version >= "3.8" and python_version < "4.0"
ipdb==0.13.13 ; python_version >= "3.8" and python_version < "4.0"
ipython==8.12.3 ; python_version >= "3.8" and python_version < "4.0"
isodate==0.6.1 ; python_version >= "3.8" and python_version < "4.0"
isort==5.13.2 ; python_version >= "3.8" and python_version < "4.0"
jaraco-classes==3.3.0 ; python_version >= "3.8" and python_version < "4.0"
jaraco-classes==3.3.1 ; python_version >= "3.8" and python_version < "4.0"
jedi==0.19.1 ; python_version >= "3.8" and python_version < "4.0"
jeepney==0.8.0 ; python_version >= "3.8" and python_version < "4.0" and sys_platform == "linux"
jinja2==3.1.3 ; python_version >= "3.8" and python_version < "4.0"
jmespath==1.0.1 ; python_version >= "3.8" and python_version < "4.0"
josepy==1.14.0 ; python_version >= "3.8" and python_version < "4.0"
jsonlines==4.0.0 ; python_version >= "3.8" and python_version < "4.0"
jsonpickle==3.0.2 ; python_version >= "3.8" and python_version < "4.0"
jsonschema-specifications==2023.12.1 ; python_version >= "3.8" and python_version < "4.0"
jsonschema==4.21.1 ; python_version >= "3.8" and python_version < "4.0"
keyring==24.3.0 ; python_version >= "3.8" and python_version < "4.0"
lockfile==0.12.2 ; python_version >= "3.8" and python_version < "4.0"
jsonpickle==3.0.3 ; python_version >= "3.8" and python_version < "4.0"
keyring==24.3.1 ; python_version >= "3.8" and python_version < "4.0"
markdown-it-py==3.0.0 ; python_version >= "3.8" and python_version < "4.0"
markupsafe==2.1.5 ; python_version >= "3.8" and python_version < "4.0"
matplotlib-inline==0.1.6 ; python_version >= "3.8" and python_version < "4.0"
mccabe==0.7.0 ; python_version >= "3.8" and python_version < "4.0"
mdurl==0.1.2 ; python_version >= "3.8" and python_version < "4.0"
more-itertools==10.2.0 ; python_version >= "3.8" and python_version < "4.0"
msgpack==1.0.7 ; python_version >= "3.8" and python_version < "4.0"
msgpack==1.0.8 ; python_version >= "3.8" and python_version < "4.0"
msrest==0.7.1 ; python_version >= "3.8" and python_version < "4.0"
mypy-extensions==1.0.0 ; python_version >= "3.8" and python_version < "4.0"
mypy==1.8.0 ; python_version >= "3.8" and python_version < "4.0"
nh3==0.2.15 ; python_version >= "3.8" and python_version < "4.0"
mypy==1.9.0 ; python_version >= "3.8" and python_version < "4.0"
nh3==0.2.17 ; python_version >= "3.8" and python_version < "4.0"
oauthlib==3.2.2 ; python_version >= "3.8" and python_version < "4.0"
packaging==23.2 ; python_version >= "3.8" and python_version < "4.0"
packaging==24.0 ; python_version >= "3.8" and python_version < "4.0"
paramiko==3.4.0 ; python_version >= "3.8" and python_version < "4.0"
parsedatetime==2.6 ; python_version >= "3.8" and python_version < "4.0"
parso==0.8.3 ; python_version >= "3.8" and python_version < "4.0"
pexpect==4.9.0 ; python_version >= "3.8" and python_version < "4.0"
pickleshare==0.7.5 ; python_version >= "3.8" and python_version < "4.0"
pip==24.0 ; python_version >= "3.8" and python_version < "4.0"
pkginfo==1.9.6 ; python_version >= "3.8" and python_version < "4.0"
pkgutil-resolve-name==1.3.10 ; python_version >= "3.8" and python_version < "3.9"
platformdirs==2.6.2 ; python_version >= "3.8" and python_version < "4.0"
pkginfo==1.10.0 ; python_version >= "3.8" and python_version < "4.0"
platformdirs==4.2.0 ; python_version >= "3.8" and python_version < "4.0"
pluggy==1.4.0 ; python_version >= "3.8" and python_version < "4.0"
ply==3.11 ; python_version >= "3.8" and python_version < "4.0"
poetry-core==1.3.2 ; python_version >= "3.8" and python_version < "4.0"
poetry-plugin-export==1.2.0 ; python_version >= "3.8" and python_version < "4.0"
poetry==1.2.2 ; python_version >= "3.8" and python_version < "4.0"
poetry-core==1.9.0 ; python_version >= "3.8" and python_version < "4.0"
poetry-plugin-export==1.7.1 ; python_version >= "3.8" and python_version < "4.0"
poetry==1.8.2 ; python_version >= "3.8" and python_version < "4.0"
prompt-toolkit==3.0.43 ; python_version >= "3.8" and python_version < "4.0"
protobuf==4.25.2 ; python_version >= "3.8" and python_version < "4.0"
proto-plus==1.23.0 ; python_version >= "3.8" and python_version < "4.0"
protobuf==4.25.3 ; python_version >= "3.8" and python_version < "4.0"
ptyprocess==0.7.0 ; python_version >= "3.8" and python_version < "4.0"
pure-eval==0.2.2 ; python_version >= "3.8" and python_version < "4.0"
py==1.11.0 ; python_version >= "3.8" and python_version < "4.0"
pyasn1-modules==0.3.0 ; python_version >= "3.8" and python_version < "4.0"
pyasn1==0.5.1 ; python_version >= "3.8" and python_version < "4.0"
pyasn1-modules==0.4.0 ; python_version >= "3.8" and python_version < "4.0"
pyasn1==0.6.0 ; python_version >= "3.8" and python_version < "4.0"
pycparser==2.21 ; python_version >= "3.8" and python_version < "4.0"
pygments==2.17.2 ; python_version >= "3.8" and python_version < "4.0"
pylev==1.4.0 ; python_version >= "3.8" and python_version < "4.0"
pylint==3.0.2 ; python_version >= "3.8" and python_version < "4.0"
pynacl==1.5.0 ; python_version >= "3.8" and python_version < "4.0"
pynsist==2.7 ; python_version >= "3.8" and python_version < "4.0"
pyopenssl==24.0.0 ; python_version >= "3.8" and python_version < "4.0"
pyopenssl==24.1.0 ; python_version >= "3.8" and python_version < "4.0"
pyotp==2.9.0 ; python_version >= "3.8" and python_version < "4.0"
pyparsing==3.1.1 ; python_version >= "3.8" and python_version < "4.0"
pyparsing==3.1.2 ; python_version >= "3.8" and python_version < "4.0"
pyproject-api==1.6.1 ; python_version >= "3.8" and python_version < "4.0"
pyproject-hooks==1.0.0 ; python_version >= "3.8" and python_version < "4.0"
pyrfc3339==1.1 ; python_version >= "3.8" and python_version < "4.0"
pytest-cov==4.1.0 ; python_version >= "3.8" and python_version < "4.0"
pytest-cov==5.0.0 ; python_version >= "3.8" and python_version < "4.0"
pytest-xdist==3.5.0 ; python_version >= "3.8" and python_version < "4.0"
pytest==8.0.0 ; python_version >= "3.8" and python_version < "4.0"
pytest==8.1.1 ; python_version >= "3.8" and python_version < "4.0"
python-augeas==1.1.0 ; python_version >= "3.8" and python_version < "4.0"
python-dateutil==2.8.2 ; python_version >= "3.8" and python_version < "4.0"
python-dateutil==2.9.0.post0 ; python_version >= "3.8" and python_version < "4.0"
python-digitalocean==1.17.0 ; python_version >= "3.8" and python_version < "4.0"
pytz==2024.1 ; python_version >= "3.8" and python_version < "4.0"
pywin32-ctypes==0.2.2 ; python_version >= "3.8" and python_version < "4.0" and sys_platform == "win32"
pywin32==306 ; python_version >= "3.8" and python_version < "4.0" and sys_platform == "win32"
pyyaml==6.0.1 ; python_version >= "3.8" and python_version < "4.0"
readme-renderer==42.0 ; python_version >= "3.8" and python_version < "4.0"
referencing==0.33.0 ; python_version >= "3.8" and python_version < "4.0"
rapidfuzz==3.7.0 ; python_version >= "3.8" and python_version < "4.0"
readme-renderer==43.0 ; python_version >= "3.8" and python_version < "4.0"
requests-download==0.1.2 ; python_version >= "3.8" and python_version < "4.0"
requests-file==2.0.0 ; python_version >= "3.8" and python_version < "4.0"
requests-oauthlib==1.3.1 ; python_version >= "3.8" and python_version < "4.0"
requests-toolbelt==0.9.1 ; python_version >= "3.8" and python_version < "4.0"
requests-oauthlib==2.0.0 ; python_version >= "3.8" and python_version < "4.0"
requests-toolbelt==1.0.0 ; python_version >= "3.8" and python_version < "4.0"
requests==2.31.0 ; python_version >= "3.8" and python_version < "4.0"
rfc3986==2.0.0 ; python_version >= "3.8" and python_version < "4.0"
rich==13.7.0 ; python_version >= "3.8" and python_version < "4.0"
rpds-py==0.17.1 ; python_version >= "3.8" and python_version < "4.0"
rich==13.7.1 ; python_version >= "3.8" and python_version < "4.0"
rsa==4.9 ; python_version >= "3.8" and python_version < "4"
s3transfer==0.10.0 ; python_version >= "3.8" and python_version < "4.0"
s3transfer==0.10.1 ; python_version >= "3.8" and python_version < "4.0"
secretstorage==3.3.3 ; python_version >= "3.8" and python_version < "4.0" and sys_platform == "linux"
semantic-version==2.10.0 ; python_version >= "3.8" and python_version < "4.0"
setuptools-rust==1.8.1 ; python_version >= "3.8" and python_version < "4.0"
setuptools==69.0.3 ; python_version >= "3.8" and python_version < "4.0"
setuptools-rust==1.9.0 ; python_version >= "3.8" and python_version < "4.0"
setuptools==69.2.0 ; python_version >= "3.8" and python_version < "4.0"
shellingham==1.5.4 ; python_version >= "3.8" and python_version < "4.0"
six==1.16.0 ; python_version >= "3.8" and python_version < "4.0"
snowballstemmer==2.2.0 ; python_version >= "3.8" and python_version < "4.0"
@@ -161,30 +159,30 @@ sphinxcontrib-jsmath==1.0.1 ; python_version >= "3.8" and python_version < "4.0"
sphinxcontrib-qthelp==1.0.3 ; python_version >= "3.8" and python_version < "4.0"
sphinxcontrib-serializinghtml==1.1.5 ; python_version >= "3.8" and python_version < "4.0"
stack-data==0.6.3 ; python_version >= "3.8" and python_version < "4.0"
tldextract==5.1.1 ; python_version >= "3.8" and python_version < "4.0"
tldextract==5.1.2 ; python_version >= "3.8" and python_version < "4.0"
tomli==2.0.1 ; python_version >= "3.8" and python_full_version <= "3.11.0a6"
tomlkit==0.12.3 ; python_version >= "3.8" and python_version < "4.0"
tox==3.28.0 ; python_version >= "3.8" and python_version < "4.0"
traitlets==5.14.1 ; python_version >= "3.8" and python_version < "4.0"
twine==4.0.2 ; python_version >= "3.8" and python_version < "4.0"
types-httplib2==0.22.0.2 ; python_version >= "3.8" and python_version < "4.0"
types-pyopenssl==24.0.0.20240130 ; python_version >= "3.8" and python_version < "4.0"
tomlkit==0.12.4 ; python_version >= "3.8" and python_version < "4.0"
tox==4.14.2 ; python_version >= "3.8" and python_version < "4.0"
traitlets==5.14.2 ; python_version >= "3.8" and python_version < "4.0"
trove-classifiers==2024.3.25 ; python_version >= "3.8" and python_version < "4.0"
twine==5.0.0 ; python_version >= "3.8" and python_version < "4.0"
types-httplib2==0.22.0.20240310 ; python_version >= "3.8" and python_version < "4.0"
types-pyopenssl==24.0.0.20240311 ; python_version >= "3.8" and python_version < "4.0"
types-pyrfc3339==1.1.1.5 ; python_version >= "3.8" and python_version < "4.0"
types-python-dateutil==2.8.19.20240106 ; python_version >= "3.8" and python_version < "4.0"
types-python-dateutil==2.9.0.20240316 ; python_version >= "3.8" and python_version < "4.0"
types-pytz==2024.1.0.20240203 ; python_version >= "3.8" and python_version < "4.0"
types-pywin32==306.0.0.20240130 ; python_version >= "3.8" and python_version < "4.0"
types-pywin32==306.0.0.20240319 ; python_version >= "3.8" and python_version < "4.0"
types-requests==2.31.0.6 ; python_version >= "3.8" and python_version < "4.0"
types-setuptools==69.0.0.20240125 ; python_version >= "3.8" and python_version < "4.0"
types-six==1.16.21.20240106 ; python_version >= "3.8" and python_version < "4.0"
types-setuptools==69.2.0.20240317 ; python_version >= "3.8" and python_version < "4.0"
types-six==1.16.21.20240311 ; python_version >= "3.8" and python_version < "4.0"
types-urllib3==1.26.25.14 ; python_version >= "3.8" and python_version < "4.0"
typing-extensions==4.9.0 ; python_version >= "3.8" and python_version < "4.0"
typing-extensions==4.10.0 ; python_version >= "3.8" and python_version < "4.0"
uritemplate==4.1.1 ; python_version >= "3.8" and python_version < "4.0"
urllib3==1.26.18 ; python_version < "4.0" and python_version >= "3.8"
virtualenv==20.21.1 ; python_version >= "3.8" and python_version < "4.0"
virtualenv==20.25.1 ; python_version >= "3.8" and python_version < "4.0"
wcwidth==0.2.13 ; python_version >= "3.8" and python_version < "4.0"
webencodings==0.5.1 ; python_version >= "3.8" and python_version < "4.0"
wheel==0.42.0 ; python_version >= "3.8" and python_version < "4.0"
wheel==0.43.0 ; python_version >= "3.8" and python_version < "4.0"
wrapt==1.16.0 ; python_version >= "3.8" and python_version < "4.0"
xattr==0.9.9 ; python_version >= "3.8" and python_version < "4.0" and sys_platform == "darwin"
xattr==1.1.0 ; python_version >= "3.8" and python_version < "4.0" and sys_platform == "darwin"
yarg==0.1.9 ; python_version >= "3.8" and python_version < "4.0"
zipp==3.17.0 ; python_version >= "3.8" and python_version < "4.0"
zipp==3.18.1 ; python_version >= "3.8" and python_version < "4.0"

22
tox.ini
View File

@@ -2,6 +2,7 @@
# mypy doesn't current pass for us on Windows. Fixing that is being tracked by
# https://github.com/certbot/certbot/issues/7803.
envlist = {cover,lint}-{win,posix},mypy
skipsdist = true
[base]
@@ -22,6 +23,7 @@ setenv =
install_command = python -I {toxinidir}/tools/pip_install.py {opts} {packages}
deps =
-e acme[test]
-e certbot
-e certbot[test]
!win: -e certbot-apache[dev]
-e certbot-dns-cloudflare
@@ -38,7 +40,7 @@ deps =
-e certbot-dns-route53
-e certbot-dns-sakuracloud
-e certbot-nginx
whitelist_externals =
allowlist_externals =
echo
false
# This and the next few testenvs are a workaround for
@@ -73,7 +75,7 @@ basepython = python3.8
setenv = CERTBOT_OLDEST=1
commands = {[testenv:py]commands}
[testenv:cover{,-posix}]
[testenv:cover]
coverage_report = python -m coverage report
# These coverage report commands are used on both posix and windows
common_coverage_report_commands =
@@ -98,6 +100,10 @@ commands =
{[testenv:cover]coverage_report} --fail-under 100 --include certbot-apache/*
{[testenv:cover]common_coverage_report_commands}
# Another workaround for https://github.com/tox-dev/tox/issues/2858 in tox v4.
[testenv:cover-posix]
commands = {[testenv:cover]commands}
[testenv:cover-win]
commands =
{[testenv:py-win]commands} --cov --cov-report=
@@ -171,11 +177,15 @@ commands =
{toxinidir}/certbot-apache/certbot_apache/_internal/tests/apache-conf-files/apache-conf-test --debian-modules
passenv =
SERVER
allowlist_externals =
{toxinidir}/certbot-apache/certbot_apache/_internal/tests/apache-conf-files/apache-conf-test
[testenv:apacheconftest-external-with-pebble]
description = Run apacheconftest with pebble and Certbot outside of the tox virtual environment.
deps =
-e certbot-ci
allowlist_externals =
{toxinidir}/certbot-apache/certbot_apache/_internal/tests/apache-conf-files/apache-conf-test-pebble.py
commands =
{toxinidir}/certbot-apache/certbot_apache/_internal/tests/apache-conf-files/apache-conf-test-pebble.py --debian-modules
@@ -183,6 +193,8 @@ commands =
deps =
{[testenv:apacheconftest]deps}
{[testenv:apacheconftest-external-with-pebble]deps}
allowlist_externals =
{toxinidir}/certbot-apache/certbot_apache/_internal/tests/apache-conf-files/apache-conf-test-pebble.py
commands = {[testenv:apacheconftest-external-with-pebble]commands}
[testenv:nginxroundtrip]
@@ -205,7 +217,7 @@ commands =
docker build -t certbot-compatibility-test -f certbot-compatibility-test/Dockerfile .
docker build -t apache-compat -f certbot-compatibility-test/Dockerfile-apache .
docker run --rm -t apache-compat -c apache.tar.gz -vvvv
whitelist_externals =
allowlist_externals =
docker
passenv =
DOCKER_*
@@ -216,7 +228,7 @@ commands =
docker build -t certbot-compatibility-test -f certbot-compatibility-test/Dockerfile .
docker build -t nginx-compat -f certbot-compatibility-test/Dockerfile-nginx .
docker run --rm -t nginx-compat -c nginx.tar.gz -vv -aie
whitelist_externals =
allowlist_externals =
docker
passenv =
DOCKER_*
@@ -306,3 +318,5 @@ setenv = AWS_DEFAULT_REGION=us-east-1
changedir = letstest
deps = -e {toxinidir}/letstest
commands = {toxinidir}/tools/retry.sh letstest targets/targets.yaml {env:AWS_EC2_PEM_FILE} SET_BY_ENV scripts/test_apache2.sh --repo {toxinidir}
allowlist_externals =
{toxinidir}/tools/retry.sh