100 Commits
Author SHA1 Message Date
Brad WarrenandGitHub 1b5afb179f Prep for 1.32.1 (#9492)
I wanted to do this because we were notified that https://ubuntu.com/security/notices/USN-5638-3/ affects our snaps. This probably doesn't affect us, but rebuilding to be safe seems worth it to me personally.

I started to just trigger a new v1.32.0 release build, but I don't want to overwrite our 2.0 Docker images under the `latest` tag.

Changelog changes here are similar to what has been done for past point releases like https://github.com/certbot/certbot/pull/8501.

I also cherry picked #9474 to this branch to help the release process pass.

* add changelog

* Use a longer timeout for releases (#9474)

This is in response to the thread starting at https://github.com/certbot/certbot/pull/9330#issuecomment-1320416069.

In addition to this, I plan to add the following text to the step of the release instructions that tells you to wait until Azure Pipelines for the release has finished running:

> Some jobs such as building our snaps can take a long time to complete, however, if the process seems hung, you can cancel the build and then rerun the failed jobs. To do this, click on the build for the release in the link above, make sure you're logged into Azure Pipelines, and then use the cancel/rerun buttons in the top right of the web page.

(cherry picked from commit 30b4fd59a5)
2022-12-05 07:00:44 -08:00
Brad WarrenandGitHub f0251a7959 fix apache unit tests (#9490)
Fixes https://github.com/certbot/certbot/issues/9481.

I poked around our other uses of this function and they seem OK to me for now, however, I opened https://github.com/certbot/certbot/issues/9489 to track the bigger refactor I think we should do here.
2022-12-01 12:27:24 -08:00
Brad WarrenandGitHub 8390c65a95 fix certbot plugins output (#9488) 2022-12-01 08:56:09 +11:00
Brad WarrenandGitHub f171f0fcd9 remove botocore warning exceptions (#9476) 2022-11-22 06:42:00 +11:00
Brad WarrenandGitHub 30b4fd59a5 Use a longer timeout for releases (#9474)
This is in response to the thread starting at https://github.com/certbot/certbot/pull/9330#issuecomment-1320416069.

In addition to this, I plan to add the following text to the step of the release instructions that tells you to wait until Azure Pipelines for the release has finished running:

> Some jobs such as building our snaps can take a long time to complete, however, if the process seems hung, you can cancel the build and then rerun the failed jobs. To do this, click on the build for the release in the link above, make sure you're logged into Azure Pipelines, and then use the cancel/rerun buttons in the top right of the web page.
2022-11-21 08:18:06 -08:00
Brad WarrenandGitHub 1c5e56d9c7 Claim Python 3.11 support and add tests (#9471)
* set up 3.11 tests

* fixup warnings

* sed -i "s/\( *'Pro.*3\.1\)0\(',\)/\10\2\n\11\2/" */setup.py

* update changelog
2022-11-18 07:55:27 +11:00
Brad WarrenandGitHub ad708a0299 remove pylint pinning (#9472) 2022-11-18 07:36:50 +11:00
Brad WarrenandGitHub d244013355 Upgrade pylint (#9470)
* upgrade pylint

* pylint --generate-rcfile > .pylintrc

* fixup pylintrc

* Remove unnecessary lambdas

* fix broad-except

* fix missing timeouts

* fix unit tests

* catch more generic exception
2022-11-17 18:21:14 +11:00
652d5e96be Drop awscli dependency (#9459)
Fixes https://github.com/certbot/certbot/issues/9458.

* update readme

* drop awscli

Co-authored-by: ohemorange <ebportnoy@gmail.com>
2022-11-16 17:10:18 -08:00
Brad WarrenandGitHub 455f9a0d6c Explain Certbot 2.0 snaps in changelog (#9469) 2022-11-17 11:40:17 +11:00
Brad WarrenandGitHub 9c003bc2d6 Add 2.0 release logic (#9467) (#9468)
This PR:

* Deletes the 2.0 pre-release pipeline
* Causes 1.x releases to be released to Docker Hub without updating the latest tag, PyPI, and the candidate and stable channels of the snap store
* Causes 2.x releases to be released to Docker Hub, PyPI, the beta channel of the snap store, and our Windows installer
We could potentially look into how to continue to do 1.x Windows installer releases through GitHub releases and tech ops tooling, but I personally don't think it's worth it right now.

This PR DOES NOT do anything about progressive snap releases. I think we can revisit this when/if we decide (how) to do them.

(cherry picked from commit 09af133af3)
2022-11-17 11:38:40 +11:00
Brad WarrenandGitHub 09af133af3 Add 2.0 release logic (#9467)
This PR:

* Deletes the 2.0 pre-release pipeline
* Causes 1.x releases to be released to Docker Hub without updating the latest tag, PyPI, and the candidate and stable channels of the snap store
* Causes 2.x releases to be released to Docker Hub, PyPI, the beta channel of the snap store, and our Windows installer
We could potentially look into how to continue to do 1.x Windows installer releases through GitHub releases and tech ops tooling, but I personally don't think it's worth it right now.

This PR DOES NOT do anything about progressive snap releases. I think we can revisit this when/if we decide (how) to do them.
2022-11-16 15:29:53 -08:00
Brad WarrenandGitHub 383a42851c Merge pull request #9461 from certbot/merge-2.0.x
Merge 2.0.x
2022-11-14 09:50:15 -08:00
Brad WarrenandGitHub 10f60bab0c Merge pull request #9460 from alexzorin/2.0.x
Merge `master` into `2.0.x`
2022-11-11 12:36:48 -08:00
Brad WarrenandGitHub a8015fa102 Merge pull request #9457 from certbot/candidate-1.32.0
Release 1.32.0
2022-11-09 14:00:14 -08:00
Brad WarrenandGitHub 9cf062d8d4 disable poetry's cache (#9453) 2022-11-02 10:23:57 -07:00
Brad WarrenandGitHub 529942fe4b Unpin poetry (#9438)
* unpin poetry

* export constraints
2022-10-21 10:59:33 +02:00
Brad WarrenandGitHub 3a738cadc3 Remove docker-compose dependency (#9436)
This is progress towards https://github.com/certbot/certbot/issues/9370 as discussed at https://github.com/certbot/certbot/pull/9435.

I kept the command using `docker-compose` because `docker compose` doesn't seem that widely recognized yet and https://www.docker.com/blog/announcing-compose-v2-general-availability/ describes aliasing `docker-compose` to `docker compose` on newer systems by default.

* refactor boulder shutdown

* remove docker-compose dep

* Reorder shutdown process
2022-10-20 13:07:18 -07:00
Brad WarrenandGitHub a0b8a2cc62 Merge pull request #9426 from certbot/2.0-merge-master
2.0.x: merge master and bump version to 2.0.0.dev0
2022-10-06 12:04:35 -07:00
Brad WarrenandGitHub c42dd567ca remove source_address arg (#9418) 2022-09-27 12:30:05 +10:00
Brad WarrenandGitHub 758cfb9f79 upgrade base docker image (#9415) 2022-09-26 20:36:08 +10:00
Brad WarrenandGitHub db31a8c1f5 Upgrade dependency pinnings (#9412)
* upgrade dependencies

* remove unused ignore
2022-09-21 18:37:30 +10:00
Brad WarrenandGitHub 39e8d14e1b Set up 2.0 pre-releases (#9400)
* update credential info

* update release tooling to use candidate channel

* split deploy jobs

* pass parameter through

* add 2.0 pipeline prerelease

* add comments

* quote file path
2022-09-09 14:23:39 -07:00
Brad WarrenandGitHub 80071c86f5 Merge pull request #9399 from certbot/candidate-1.30.0
Release 1.30.0
2022-09-08 10:28:45 -07:00
Brad WarrenandGitHub f9d148be56 Upgrade CI OS (#9391)
* upgrade ubuntu

* upgrade macos

* use python3
2022-08-30 16:39:48 +10:00
Brad WarrenandGitHub 012314d946 Deprecate source address (#9389)
* deprecate source_address

* filter warnings

* fix route53 tests

* test warning

* update docstring
2022-08-30 10:28:47 +10:00
Brad WarrenandGitHub cb632c376f encourage words before code (#9377) 2022-08-17 09:01:51 +10:00
Brad WarrenandGitHub b73f3e2b16 pin back pylint (#9368) 2022-07-29 12:58:47 +10:00
e9e7a69c7b Update Azure Docker docs (#9363)
* describe docker access token

more

* Remove extra spaces

Co-authored-by: ohemorange <ebportnoy@gmail.com>

Co-authored-by: ohemorange <ebportnoy@gmail.com>
2022-07-28 13:28:36 -07:00
Brad WarrenandGitHub 7dd1e814fb Ignore parallel coverage files (#9293)
* ignore parallel coverage files

* Properly shutdown & close HTTP server
2022-05-07 13:31:59 +10:00
Brad WarrenandGitHub 2017669544 Merge pull request #9292 from certbot/candidate-1.27.0 2022-05-04 07:36:23 -07:00
Brad WarrenandGitHub df982b33b9 cleanup renewer defaults (#9274) 2022-04-09 19:20:03 +10:00
Brad WarrenandGitHub 87216372dd Fix race condition and uncaught exception (#9264)
* Fix race condition and uncaught exception

* fix typo
2022-04-06 09:12:38 +10:00
Brad WarrenandGitHub b95deaa7e4 Use the git CLI with cargo (#9223)
Hopefully this makes things more stable. This is based on Alex's suggestion [here](https://opensource.eff.org/eff-open-source/pl/ouf996zuxjnkdxwq81bihxak7e). 

* git cli in docker

* git cli in snap

* git cli in dns snaps

* use true strings
2022-03-02 12:10:01 -08:00
Brad WarrenandGitHub f734e7a81c Merge pull request #9224 from certbot/candidate-1.24.0
Release 1.24.0
2022-03-01 17:17:43 -08:00
Brad WarrenandGitHub c1030c0d40 Drop Python 3.6 support (#9216)
* Remove deprecation warnings

* update ci

* update setup.py files

* update changelog

* update pinnings

* update requests and friends

* update setuptools pin

* update setuptools pin pt2

* update pytz

* upgrade pyparsing

* upgrade boto deps

* update deps and docs

* update pyproject.toml comment

* remove trailets pin

* remove explicit PYTHON_VERSION
2022-02-28 15:23:30 -08:00
Brad WarrenandGitHub 37e4f5735a update changelog (#9219) 2022-02-28 09:51:44 -08:00
Brad WarrenandGitHub d9dd3134f0 Cleanup scripts and switch to pyenv (#9214)
I think test_apache2.sh still has value as it allows us to test our Apache plugin with the Apache layouts found on different OSes. Unfortunately, many of the OSes we're currently testing against don't have Python 3.7+ packaged yet we still support these OSes through things like snap where we bundle our own version of Python.

To allow us to continue testing on these OSes, I switched to installing Python through pyenv. I also took the opportunity to clean up the scripts, removing a lot of code, failing more quickly, and simplifying failure logic in test_apache2.sh.
2022-02-24 12:06:23 -08:00
Brad WarrenandGitHub e2b7b62b98 remove test_sdists.sh (#9213)
The reason I want to do this is many of the targets of `test_sdists.sh` use Python 3.6 which [has reached its EOL](https://www.python.org/dev/peps/pep-0494/#lifespan). We could instead just stop running the test on these systems or install a newer version of Python 3 outside of OS packaging, but instead I decided to look into why we have these tests to begin with.

I introduced these tests many years ago in https://github.com/certbot/certbot/pull/4089 as a fix for https://github.com/certbot/certbot/issues/4044. Essentially the problem was the way packagers ran tests and the way we ran tests were slightly different. This difference could cause test failures when distros tried to run tests on our packages.

Since I did this, [we've switched to telling packagers to run tests using `pytest` like we do](https://github.com/certbot/certbot/blob/5e76669c5026732d1440e39e93b58220ef7bd354/certbot/docs/packaging.rst#notes-for-package-maintainers) and we've greatly reduced our reliance on OS packaging through things like `snap`.

Because of this, I think we should stop running this test, reducing our reliance on the heavy "test farm tests", and simplifying our CI pipeline. I think future problems here is quite unlikely and even if we have them, it should only affect tests on our non-primary distribution mechanisms which I think is a very minor concern.

When reviewing this PR, it's probably worth noting that I just replaced `targets.yaml` with the contents of `apache2_targets.yaml` since the Apache 2 tests are the only runs we're running with this change.
2022-02-23 15:10:48 -08:00
Brad WarrenandGitHub 5e76669c50 add another DEBIAN_FRONTEND=noninteractive (#9212) 2022-02-23 09:22:10 +11:00
Brad WarrenandGitHub c3cb01d24a Fixing hanging test farm tests (#9211)
[Our test farm tests started hanging last night](https://dev.azure.com/certbot/certbot/_build/results?buildId=5151&view=logs&j=23275d9a-33b0-57f8-5f28-197fe2e5b9cd&s=1dfbc15b-7d0f-52a9-b1da-b17592bf94f8). Running the tests locally, the cause was `apt-get install` raised an interactive prompt that wasn't handled well and caused the entire system to restart. Here's a [log of that](https://gist.github.com/fb80d0279306d08e4ffd744e559a3df2).

I fixed this by setting `DEBIAN_FRONTEND=noninteractive` as is commonly done in things like Dockerfiles to avoid this problem.
2022-02-22 13:19:48 -08:00
Brad WarrenandGitHub c96420dbe0 remove outdated setup.cfg files (#9201) 2022-02-17 22:17:21 +11:00
Brad WarrenandGitHub 5b17a18355 CentOS & RHEL test farm fixes (#9188)
* update rhel 7 ami

* update bootstrap script

* update centos 8 image

* update centos 7 images

* add target comments
2022-01-31 15:52:43 -08:00
Brad WarrenandGitHub 1577cd8663 write docs on how to test release script (#9142)
Alexis (rightfully) wasn't sure how to test this when working on https://github.com/certbot/certbot/pull/9076. This PR documents it in the script based on what I wrote at https://github.com/certbot/certbot/pull/8351#issue-715227127 which I reverified.
2021-12-21 09:28:31 -07:00
Brad WarrenandGitHub 8799b108c2 fix macos coverage (#9137) 2021-12-11 12:43:17 +11:00
Brad WarrenandGitHub dab7864809 Add macOS instructions (#9136)
* add macOS instructions

* add integration test warning
2021-12-11 12:28:18 +11:00
Brad WarrenandGitHub 693c674a7e Merge pull request #9128 from certbot/candidate-1.22.0
Release 1.22.0
2021-12-08 09:42:08 -07:00
d1821b3ad7 Pin back setuptools-rust (#9112)
* pin back setuptools-rust

* make pylint happy

This was taken from https://github.com/certbot/certbot/pull/9073.

* pin back josepy

* Apply lint's code style suggestions

* fix lint again

Co-authored-by: Erica Portnoy <ebportnoy@gmail.com>
2021-11-23 12:35:49 -08:00
Brad WarrenandGitHub e8265dbf9c Add Python 3.10 support and tests (#9077)
Fixes https://github.com/certbot/certbot/issues/9058.

The changes to the CI config are equivalent to the ones made in https://github.com/certbot/certbot/pull/8460.

Other than ignoring some warnings raised by botocore, the main additional work that had to be done here was switching away from using `distutils.version.LooseVersion` since the entire `distutils` module was deprecated in Python 3.10. To do that, I took a few different approaches:

* If the version strings being parsed are from Python packages such as Certbot or setuptools, I switched to using [pkg_resources.parse_version](https://setuptools.pypa.io/en/latest/pkg_resources.html#parsing-utilities) from `setuptools`. This functionality has been available since [setuptools 8.0 from 2014](https://setuptools.pypa.io/en/latest/history.html#id865).
* If the version strings being parsed are not from Python packages, I added code equivalent to `distutils.version.LooseVersion` in `certbot.util.parse_loose_version`.
* The code for `CERTBOT_PIP_NO_BINARY` can be completely removed since that variable isn't used or referenced anywhere in this repo.

* add python 3.10 support

* make some version changes

* don't use looseversion in setup.py

* switch to pkg_resources

* deprecate get_strict_version

* fix route53 tests

* remove unused CERTBOT_PIP_NO_BINARY code

* stop using distutils in letstest

* add unit tests

* more changelog entries
2021-11-08 15:55:32 -08:00
Brad WarrenandGitHub 81d5d2b421 Pin readthedocs deps (#9083)
* pin readthedocs deps

* fix reqs path
2021-11-04 20:35:44 +11:00
Brad WarrenandGitHub 1a698fa235 update packaging docs to mention dl.eff.org (#9068) 2021-10-19 12:10:22 +11:00
Brad WarrenandGitHub d250d34193 Change PGP keys (#9046)
* automate determining the key

* update packaging docs

* switch to new keys

* add changelog entry

* put keys in changelog
2021-10-14 14:27:15 -07:00
Brad WarrenandGitHub cde3e1fa97 fix typo in error message (#9047) 2021-09-29 10:29:49 -07:00
ee190db235 Update oldest pyproject.toml comments (#8999)
* update oldest pyproject.toml comments

* Apply suggestions from code review

Co-authored-by: ohemorange <erica@eff.org>

* improve wording

Co-authored-by: ohemorange <erica@eff.org>
2021-09-09 14:57:55 -07:00
077d28828a Add documentation about legacy cb-auto files (#9011)
* Add documentation about legacy cb-auto files

* Apply suggestions from code review

Co-authored-by: ohemorange <erica@eff.org>

Co-authored-by: ohemorange <erica@eff.org>
2021-09-09 13:21:47 -07:00
Brad WarrenandGitHub 1a2d74decc Add comment about security alerts. (#9016) 2021-09-03 06:40:18 +10:00
Brad WarrenandGitHub f6d5c8ffbe Make ACMEv1 deprecation warnings scarier (#9015)
Fixes https://github.com/certbot/certbot/issues/6844.

This PR does two things:

1. Changes ACMEv1 deprecation warnings from `PendingDeprecationWarning` to `DeprecationWarning`.
2. Changes the ACMEv1 deprecation warnings to be on references to the class themselves. This is the approach taken in https://github.com/certbot/certbot/pull/8989, the PRs linked there, and the `cryptography` code in the code comment. I think this approach warns in more cases and I updated our unit tests to avoid hitting these warnings.
2021-08-30 15:38:12 -07:00
Brad WarrenandGitHub 058faeadac Propagate requirement that ACME responses are UTF-8 (#9001)
I think this fixes https://github.com/certbot/certbot/issues/8968.

The only other calls with `requests` we make in our code outside of our tests that I could find are:

1. [Here](https://github.com/certbot/certbot/blob/a8a8a39ff18ee33936d385b5ac403daa81b7ed31/certbot/certbot/_internal/eff.py#L91) where we assume the response is JSON and I think [requests behavior](https://github.com/psf/requests/blob/db575eeedcfdb03bf31285afd3033e301df8b685/requests/models.py#L891-L896) is sane.
2. [Here](https://github.com/certbot/certbot/blob/a8a8a39ff18ee33936d385b5ac403daa81b7ed31/certbot/certbot/ocsp.py#L190) where we know the response contains binary data.

I think this is a pretty minor change because we were already assuming the response was UTF-8 in the code here when logging it which I think is a valid assumption because the spec says that [all content should be UTF-8 encoded](https://datatracker.ietf.org/doc/html/rfc8555#section-5).

I added the check for the `Accept` header due to the text [here](https://datatracker.ietf.org/doc/html/rfc8555#section-7.4.2) saying that it can be used to request the certificate in an alternate format such as DER. We currently set the Accept header in our own ACMEv1 client code before downloading the DER certificate, but this isn't required according to [the closest thing I think we have to an ACMEv1 spec](https://github.com/letsencrypt/boulder/blob/f1894f8d1d91c250d8193be02cb08b22d849f641/docs/acme-divergences-v1.md#section-742) so I left the content type check with a comment that it can be removed in the future.

* Revert "add chardet dep (#8965)"

This reverts commit 1129d850d3.

* set response.encoding in acme

* more docs
2021-08-23 10:57:34 -07:00
Brad WarrenandGitHub a8a8a39ff1 upgrade pip (#9000)
This is just an oldest tests version of https://github.com/certbot/certbot/pull/8993.
2021-08-19 15:15:31 -07:00
Brad WarrenandGitHub 435ae075a5 remove zope from plugin example (#8998) 2021-08-18 09:43:40 -07:00
Brad WarrenandGitHub b4c49cf781 Improve snapcraft remote build (#8985)
[Snapcraft 5.0](https://forum.snapcraft.io/t/release-notes-snapcraft-5-0/25751) implemented creating build IDs based on the project's contents instead of the directory path in https://github.com/snapcore/snapcraft/pull/3554. This is a feature we initially wanted, but it broke our workaround added in https://github.com/certbot/certbot/pull/8719. Our workaround is broken because now that the build ID is based on the project's contents, copying the project to a temporary directory has no effect.

This PR removes the workaround from https://github.com/certbot/certbot/pull/8719 and instead constructs a random build ID that it provides to snapcraft. This provides us with even more randomness to avoid build ID conflicts while avoiding having to copy the project to a temporary directory before every build.

* improve-remote-build

* use lowercase letters
2021-08-12 15:34:40 -07:00
Brad WarrenandGitHub 693a2a7904 remove outdated example code (#8984)
There are a couple problems with these files.

1. `python -m acme.standalone` from the README hasn't worked since https://github.com/certbot/certbot/pull/7483.
2. The symlinks for the PEM files have been broken since https://github.com/certbot/certbot/pull/7600.

Because of this and the fact [these example files are causing snap build failures](https://dev.azure.com/certbot/certbot/_build/results?buildId=4395&view=logs&j=f44d40a4-7318-5ffe-762c-ae4557889284&t=07786725-57f8-5198-4d13-ea77f640bd5c&l=78), let's delete it.
2021-08-12 14:04:22 -07:00
Brad WarrenandGitHub 3058b6e748 Fix circular import (#8967)
* add internal display util

* Move display constants internal.

* move other utilities internal

* fix OK and CANCEL documentation
2021-08-05 08:49:20 +02:00
Brad WarrenandGitHub 7b78770010 fix egg-info cleanup (#8966) 2021-08-05 07:04:05 +10:00
Brad WarrenandGitHub cd2dff2db1 Merge pull request #8969 from certbot/candidate-1.18.0
Release 1.18.0
2021-08-03 16:05:39 -07:00
Brad WarrenandGitHub 1129d850d3 add chardet dep (#8965) 2021-08-03 10:35:00 +10:00
Brad WarrenandGitHub 1dabddeb85 make display classes implement IDisplay (#8963) 2021-08-02 11:59:07 -07:00
Brad WarrenandGitHub f9ef894141 update snapcraft.cfg comment (#8959) 2021-08-01 12:15:01 +10:00
08839758bd Finish pinning system rewrite (#8934)
* add oldest pyproject.toml file that works

* make single oldest_constraints.txt file

* remove unused merge_requirements.py

* remove unused import

* make conditional right

* simplify pip_install.py

* fix typo

* bump min dns-lexicon dependency

* fix zope import warning

* pin back wheel

* refactor pinning script

* Add oldest script.

* add pip comment

* add pipstrap extra

* simplify pinning scripts

* remove pipstrap extra

* update contributing

* Add design doc

* Update tools/pinning/DESIGN.md

Co-authored-by: ohemorange <erica@eff.org>

* Update tools/pinning/DESIGN.md

Co-authored-by: ohemorange <erica@eff.org>

* Update tools/pinning/DESIGN.md

Co-authored-by: ohemorange <erica@eff.org>

* Update tools/pinning/DESIGN.md

Co-authored-by: ohemorange <erica@eff.org>

* rename normal to current

* no dummies

* script improvements

* mention need to update setup.py

* try and clarify poetry behavior

* tweak section title

Co-authored-by: ohemorange <erica@eff.org>
2021-07-22 12:00:30 -07:00
Brad WarrenandGitHub 117791b582 Remove unneeded certbot-auto files (#8938) 2021-07-14 14:34:54 -07:00
Brad WarrenandGitHub 2ab7857fa5 Do not guess HTTP-01 response encoding (#8942)
* fix http-01 encoding

* improve comment
2021-07-14 14:11:50 -07:00
Brad WarrenandGitHub 18ea72faf1 Split out testing extras (#8893)
* split out test extras

* update extras and regenerate pinnings

* pin back mypy
2021-06-11 13:17:50 -07:00
Brad WarrenandGitHub 0b08a80dce Pin pip & co like our other dependencies (#8868)
* use poetry 1.2.0a1

* pin pip normally

* use normal constraints file with pipstrap

* remove unused STRIP_HASHES var

* Check for old poetry versions

* keep pip, setuptools, and wheel pinned in oldest

* remove strip hashes

* pin back pip

* fix new lint error
2021-06-09 17:01:54 -07:00
Brad WarrenandGitHub c372dd8aee Remove local-oldest-requirements files (#8863)
This is part of https://github.com/certbot/certbot/issues/8787. I got a +1 from our packagers at major distros in https://github.com/certbot/certbot/issues/8761.

* remove local-oldest-requirements files

* fix tests

* fix some oldest tests

* list packages on one line in tox.ini

* add changelog entry
2021-06-01 14:46:06 -07:00
Brad WarrenandGitHub 01772280c0 Merge pull request #8879 from certbot/candidate-1.16.0
Release 1.16.0
2021-06-01 14:13:44 -07:00
Brad WarrenandGitHub 968cc5801b delete eggs before running poetry (#8865) 2021-05-31 09:03:25 +02:00
Brad WarrenandGitHub 492b578662 Update coverage and pytest (#8875)
* unpin pytest and update pinnings

* ignore external mock warnings

* fix assertion

* fix test_revoke_mutual_exclusive_flags

* fix output count

* capture stdout and stderr separately

* undouble counts

* rename variable

* don't use capture_output

* fix leaky test

* update coverage
2021-05-31 09:01:01 +02:00
Brad WarrenandGitHub 55d461392a Remove unused tools (#8862)
* remove unused tools

* remove deactivate.py
2021-05-28 06:47:44 +10:00
Brad WarrenandGitHub 3640b8546e remove ancient comment (#8861) 2021-05-27 22:05:26 +10:00
Brad WarrenandGitHub 1f94c7db20 remove ancient .gitignore (#8864) 2021-05-27 21:52:46 +10:00
Brad WarrenandGitHub 099c6c8b24 remove references to certbot-constraints.txt (#8858) 2021-05-24 14:17:11 -07:00
Brad WarrenandGitHub 315ddb247f Upgrade pylint (#8855)
This is part of https://github.com/certbot/certbot/issues/8782. I took it on now because the currently pinned version of `pylint` doesn't work with newer versions of `poetry` which I wanted to upgrade as part of https://github.com/certbot/certbot/issues/8787.

To say a bit more about the specific changes in this PR:

* Newer versions of `pylint` complain if `Popen` isn't used as a context manager. Instead of making this change, I switched to using `subprocess.run` which is simpler and [recommended in the Python docs](https://docs.python.org/3/library/subprocess.html#using-the-subprocess-module). I also disabled this check in a few places where no longer using `Popen` would require significant refactoring.
* The deleted code in `certbot/certbot/_internal/renewal.py` is cruft since https://github.com/certbot/certbot/pull/8685.
* The unused argument to `enable_mod` in the Apache plugin is used in some over the override classes that subclass that class.

* unpin pylint and repin dependencies

* disable raise-missing-from

* disable wrong-input-order

* remove unused code

* misc lint fixes

* remove unused import

* various lint fixes
2021-05-24 10:02:55 -07:00
Brad WarrenandGitHub ee3b3656ea Remove old apache tests (#8843)
Apache test farm tests started failing last night due to a change in pyenv. See https://dev.azure.com/certbot/certbot/_build/results?buildId=3948&view=logs&j=f67c2a39-2c4f-5190-915f-6f32a7a4306f&t=96f0f394-f513-5158-f5e7-a26e55aeadbf&l=26943.

I managed to fix that in https://github.com/certbot/certbot/commit/d94f20f8b709e088b0c3036683bbda88b354f254, however, the OSes the tests were failing on were Debian 9 and Ubuntu 16.04. [Debian 9 reached its end-of-life in July 2020](https://wiki.debian.org/DebianReleases) and [Ubuntu 16.04 reached its end of standard support in April 2021](https://wiki.ubuntu.com/Releases). As shown at the same links, Debian 9 still has support from the LTS team and Ubuntu 16.04 has ESM support. Do we still want to support either of these OSes?

If so, we can use the commit I linked in the first sentence of the last paragraph, but I think supporting the OSes through their standard support is good enough. The Certbot team has enough on their plate and especially when the OSes are so old that we can't even use their packaged version of Python anymore which complicates our tests, I think we can just drop support and move on.

I don't have a strong opinion here though so if someone else does, let me know what you'd like to see or make the PR yourself based on the changes in my linked commit and I'll merge it.

You can see the tests passing with this change at https://dev.azure.com/certbot/certbot/_build/results?buildId=3955&view=results.

* Remove apache tests on old OSes

* remove unused pyenv code
2021-05-14 11:27:47 -07:00
Brad WarrenandGitHub 89396cefa2 Remove unnecessary release script output (#8820) 2021-05-11 15:42:52 -07:00
Brad WarrenandGitHub c788820f5d Fix sphinx followup (#8841)
I think we should use our `pip_install*` scripts wherever we can and I'm not quite sure yet if I'd call `repoze.sphinx.autointerface` unmaintained.

* use pip_install_editable

* update sphinx comment
2021-05-10 14:32:37 -07:00
Brad WarrenandGitHub 7eae058af5 Remove OS instructions (#8833)
Fixes https://github.com/certbot/certbot/issues/8832.

[These instructions are creating confusion among users](https://github.com/certbot/certbot/issues/8832) and [frustration among packagers](https://pagure.io/fesco/issue/2570) for whom the warning at the top of the OS packaging section doesn't apply. Because of this, I think we should remove them in favor of our instruction generator and snap/docker/pip instructions.

I also told Fedora packagers that we could probably do this in response to them continuing to improve their Certbot packages which they've done through things like the renewal timer that is now enabled by default.
2021-05-07 13:10:02 -07:00
Brad WarrenandGitHub 934de48d44 fix typo (#8828) 2021-05-05 15:49:06 -07:00
Brad WarrenandGitHub e39c7b5233 Merge pull request #8827 from certbot/candidate-1.15.0
Update files from 1.15.0 release
2021-05-05 15:48:43 -07:00
Brad WarrenandGitHub dd0e590de3 Make a test farm tests package (#8821)
Fixes https://github.com/certbot/certbot/issues/8781.

This PR makes our test farm tests into a normal package so it and its dependencies can be tracked and installed like our other packages.

Other noteworthy changes in this PR:

* Rather than continuing to place logs in your CWD, they're placed in a temporary directory that is printed to the terminal.
*  `tests/letstest/auto_targets.yaml` was deleted rather than renamed because the file is no longer used.

* make a letstest package

* remove deleted deps

* fix letstest install

* add __init__.py

* call main

* Explicitly mention activating venv

* rerename file

* fix version.py path

* clarify "this"

* Use >= instead of caret requirement
2021-05-03 17:42:30 -07:00
Brad WarrenandGitHub d3d9a05826 fix client email address (#8817)
client-dev@letsencrypt.org is no longer used by the Certbot team so this PR updates the email address in our packages to our current mailing list.
2021-05-03 12:38:54 -07:00
Brad WarrenandGitHub ac3edc2c1d don't ignore kgs (#8811) 2021-04-26 15:47:49 -07:00
Brad WarrenandGitHub c06e40dbef Update certbot-auto modification checks (#8805)
* revert changes to letsencrypt-auto-source/le-auto

* update modification tests
2021-04-26 13:50:10 -07:00
Brad WarrenandGitHub 9292666b28 fix ciphers link (#8799) 2021-04-22 08:55:05 +10:00
Brad WarrenandGitHub fb967fda15 pin cython (#8794) 2021-04-20 12:12:45 -07:00
Brad WarrenandGitHub e33090f282 Fix homebrew (#8791)
The macOS tests run on this PR would fail without this change.

* brew update

* add link to upstream issue
2021-04-12 13:36:38 -07:00
Brad WarrenandGitHub 06bece36de Ensure that mock is pinned (#8786)
* List mock as a dependency in pyproject.toml
* Add a code comment to help us remember to remove it when we can
* Run pin.sh
2021-04-09 14:34:50 -07:00
Brad WarrenandGitHub 7f9857a81b Use Python 3 style super (#8777)
This is one of the things that newer versions of `pylint` complains about.

* git grep -l super\( | xargs sed -i 's/super([^)]*)/super()/g'

* fix spacing
2021-04-08 13:04:51 -07:00
Brad WarrenandGitHub 459a254aea Improve tools/snap/build_remote.py output (#8780)
I think this PR improves tools/snap/build_remote.py's output in a number of ways such as:

* Logs of snap builds were being deleted because they weren't being copied out of the temporary directory added in https://github.com/certbot/certbot/pull/8719.
* The lock should now always be acquired before printing output when multiple processes are running which helps prevent processes mixing their output with each other.
* Output is never buffered which ensures that repeated calls to `print` from the same process while it holds the output lock is kept together.
* The case where we printed output about the "chroot problem" and stopped retrying the build has been deleted because with the fix in https://github.com/certbot/certbot/pull/8719, we should be able to recover in this case.
* If the build failed for any reason, we dump as much output about the problem as we can. I think most times we won't need to read this output, but I personally prefer it being there in case we want it for some reason. Due to this change, I also simplified `_build_snap` and `_dump_results` a bit since `_build_snap` handles printing logs as needed.

* print more output

* lock when printing output

* clarify purpose of lock

* preserve logfiles

* python better

* consistently flush output

* remove workspaces dict

* rename variable

* remove unused variable

* don't use all which exits early

* fix typo
2021-04-07 14:52:15 -07:00
Brad WarrenandGitHub f15d10abc8 Update Dockerfile-dev (#8774)
* switch Dockerfile-dev to Ubuntu Focal

* Make apt noninteractive

* add --no-install-recommends
2021-04-05 16:02:14 -07:00
Brad WarrenandGitHub 33f177b361 Upgrade Python to 3.8.9. (#8775)
Over the weekend, Python released new versions of Python 3.8 and Python 3.9 partially in response to the OpenSSL CVEs discussed at https://github.com/certbot/certbot/pull/8741#issuecomment-809644789. You can see this mentioned in their changelog at https://docs.python.org/release/3.8.9/whatsnew/changelog.html#build.

This PR updates the windows installer to use that new release so all of our distribution methods that contain their own copy of OpenSSL are patched for the release tomorrow.

You can see tests passing with this change at https://dev.azure.com/certbot/certbot/_build/results?buildId=3751&view=results. You can see Python 3.8.9 being downloaded instead of an older version at https://dev.azure.com/certbot/certbot/_build/results?buildId=3751&view=logs&j=ad29f110-3cce-5317-4ef2-0a692ae1dee7&t=901eeead-396c-5477-aba2-f402fdcfb885&l=1055.
2021-04-05 11:15:09 -07:00