Commit graph

11412 commits

Author SHA1 Message Date
Erica Portnoy
3a1cd90ded matrix correcter 2026-04-15 12:02:57 -07:00
Erica Portnoy
3a8b5a1c50 match names 2026-04-15 11:52:46 -07:00
Erica Portnoy
e0738908e4 no dashes 2026-04-15 11:51:03 -07:00
Erica Portnoy
01bde3e7c0 quote github output 2026-04-15 11:49:53 -07:00
Erica Portnoy
62893b52ff only necessary items 2026-04-15 11:47:50 -07:00
Erica Portnoy
5355726837 syntax correcter 2026-04-15 11:45:42 -07:00
Erica Portnoy
18a6e263e2 new syntax 2026-04-15 11:39:44 -07:00
Erica Portnoy
ceb676eb94 match input and output names 2026-04-15 11:33:15 -07:00
Erica Portnoy
09ddd63cf7 echo quotes 2026-04-15 11:30:55 -07:00
Erica Portnoy
3ee6c5b7ea skip the github not azure tests lol 2026-04-15 11:25:42 -07:00
Erica Portnoy
c5d32b5b8f stop doing standard tests 2026-04-15 11:21:11 -07:00
Erica Portnoy
44efbfa9cb add checkout step 2026-04-15 11:18:30 -07:00
Erica Portnoy
ae7ada2d70 update dep name 2026-04-15 11:15:57 -07:00
Erica Portnoy
0012f8932c fix spacing 2 2026-04-15 11:13:55 -07:00
Erica Portnoy
6999609eaa fix spacing 2026-04-15 11:12:59 -07:00
Erica Portnoy
7b3fa12867 skip docker tests 2026-04-15 11:10:49 -07:00
Erica Portnoy
1874639ed9 build and test dns snaps 2026-04-15 11:09:26 -07:00
Erica Portnoy
06cbead274 Merge branch 'main' into convert-certbot-pr-test-suite-to-actions-20260323-163455 2026-04-15 10:14:49 -07:00
Brad Warren
3a5c92c6be
update base docker image (#10620)
fixes https://github.com/certbot/certbot/issues/10619

you can see docker builds and tests passing on this change at
https://dev.azure.com/certbot/certbot/_build/results?buildId=10360&view=results

i'm also creating a calendar event for us so we remember to keep this
updated in the future

i don't think this PR requires two reviews
2026-04-13 12:21:34 -07:00
Brad Warren
0cc0844f2c
Release certbot 5.5.0 (#10616) 2026-04-07 14:29:50 -07:00
Erica Portnoy
fc91823888 Bump version to 5.6.0 2026-04-07 09:38:18 -07:00
Erica Portnoy
6a7443f654 Remove built packages from git 2026-04-07 09:38:18 -07:00
Erica Portnoy
82dda45352
Release 5.5.0 2026-04-07 09:38:17 -07:00
Erica Portnoy
171cb29183 Update changelog for 5.5.0 release 2026-04-07 09:37:45 -07:00
ohemorange
0eb8af20a5
Add @ing mattermost notifications to release build successes and failures (#10604)
Fixes https://github.com/certbot/certbot/issues/10599

This approach creates a new azure stage Notify and posts to the
mattermost webhook directly from within azure.

The python script uses the azure rest api to get the status of the
Deploy stage specifically. This will be failed if it failed, or skipped
if a previous stage failed, or abandoned if it timed out.

We may want to remove the existing azure build failure notification when
this is merged. It can be deleted from
[here](https://dev.azure.com/certbot/certbot/_settings/serviceHooks)
(it's the one that says "Build release, status Failed"), although
personally I think it's fine to keep it.

History of alternate general approaches I investigated:

1. give azure a custom file to say a message that depends on the
requestedBy field. impossible. no custom messages at all, much less
dependant ones.
2. hook azure build completed webhook trigger directly to github
respository_dispatch event. impossible. azure will send data in a
[specific
format](https://learn.microsoft.com/en-us/azure/devops/service-hooks/events?view=azure-devops#build.complete),
which is not the format [github
requires](https://docs.github.com/en/rest/repos/repos?apiVersion=2026-03-10#create-a-repository-dispatch-event).
3. option 2, but put a custom server somewhere to translate them. or to
grab azure and send directly to mattermost. this is a horrible idea; no
one wants to be managing a production server with secrets on it.
4. a mattermost bot is just a special user account. the sender still has
to format the data so mm can read it.
5. block on migrating from azure to github actions. drawback: this will
likely take a while, and also we're not definitely doing it. see
https://github.com/certbot/certbot/issues/10581
6. smaller than 5; wrap release in a github action that calls azure
inside of it. and then if we end up migrating more, it should be pretty
smooth to move things inside of actions. drawback: this will probably
not integrate as smoothly, given we use the azure integration. I did not
investigate further.
7. there doesn't seem to be any sort of github actions event about
builds passing on a certain branch that we can check
8. just message mattermost directly from within the pipeline as a final
stage --> where I landed.

There's further discussion in the comments about others ways we tried to
structure the pipeline and get information from azure that's not super
necessary to read to review this PR.

Relevant links:

https://learn.microsoft.com/en-us/azure/devops/service-hooks/events?view=azure-devops#build.complete

https://learn.microsoft.com/en-us/azure/devops/service-hooks/services/webhooks?view=azure-devops#resource-details-to-send

https://learn.microsoft.com/en-us/azure/devops/pipelines/build/variables?view=azure-devops&tabs=yaml#agent-variables

https://learn.microsoft.com/en-us/azure/devops/pipelines/process/conditions?view=azure-devops&tabs=yaml#job-status-functions


https://docs.github.com/en/actions/reference/workflows-and-actions/events-that-trigger-workflows

https://docs.github.com/en/rest/repos/repos?apiVersion=2026-03-10#create-a-repository-dispatch-event

https://docs.github.com/en/webhooks/webhook-events-and-payloads#repository_dispatch

Results of tests with the latest code are here:

https://dev.azure.com/certbot/certbot/_build/results?buildId=10309&view=results

https://dev.azure.com/certbot/certbot/_build/results?buildId=10310&view=results

https://dev.azure.com/certbot/certbot/_build/results?buildId=10311&view=results

Plus the mattermost messages did get sent.

---------

Co-authored-by: Brad Warren <bmw@users.noreply.github.com>
2026-04-02 14:14:27 -07:00
Brad Warren
08c2354f46
update poetry (#10615)
this is in response to
https://github.com/certbot/certbot/security/dependabot/126

as you can see by examining the github status checks on this PR, i ran
the full test suite and everything passed

i also don't think this PR requires two reviews
2026-04-02 14:11:07 -07:00
ohemorange
3d803821b7
Repin dependencies (#10611) 2026-03-27 09:03:31 -07:00
Erica Portnoy
2bf6f782f0 migrate advanced tests to github actions
credentials for launchpad may or may not be working.
2026-03-24 11:20:58 -07:00
Will Greenberg
6f1c0b0abd
merge certbot-apache and certbot-nginx into certbot (#10522)
based on the suggestion @bmw made in #10484, this moves nearly
everything from `certbot-apache` and `certbot-nginx` into subdirectories
in `certbot/src/certbot/_internal`, and corresponding "extra"
dependencies are made for the certbot distribution. in their place,
entrypoint shims are made in the old distributions.

this way, installing `certbot[nginx]` will pull in the extra
dependencies needed for the nginx code, and also pull in the shim in
`certbot-nginx`, letting our plugin discovery system work just as it did
before. ditto for apache.

note that this doesn't yet deprecate anything, which was one of the
primary goals of the original issue -- i spun out that work into #10521

fixes #10484

---------

Co-authored-by: Brad Warren <bmw@users.noreply.github.com>
Co-authored-by: ohemorange <erica@eff.org>
2026-03-23 18:09:04 -07:00
Erica Portnoy
1ad13663be add slightly nicer label 2026-03-23 18:00:54 -07:00
Erica Portnoy
5578659dc4 user newer versions of standard actions to get rid of node deprecation warning 2026-03-23 18:00:54 -07:00
Erica Portnoy
515c5ff086 remove combined tox steps file so we can see better names 2026-03-23 18:00:54 -07:00
Erica Portnoy
54b0b64e58 cancel runs when a new commit is pushed to a pr branch 2026-03-23 18:00:54 -07:00
Erica Portnoy
8c190b8e92 add nicer names 2026-03-23 18:00:54 -07:00
Erica Portnoy
22ee76066b split into setup/run/upload 2026-03-23 18:00:54 -07:00
Erica Portnoy
ed1f31721b remove tox steps workflow, that won't work 2026-03-23 18:00:54 -07:00
Erica Portnoy
095db25502 stop failing fast 2026-03-23 18:00:54 -07:00
Erica Portnoy
8f6a6af21e run all jobs even if one fails 2026-03-23 18:00:54 -07:00
Erica Portnoy
0a0cdcc4a0 add eof newlines
pass secrets and env vars

set minimum permissions

move permissions to job level, switch to contents read

change name to AWS_TEST_FARM_PEM for consistency

move comments, remove azure pipelines on-pr file

match permissions

remove runs-on: self-hosted. why was that even there?

add shell:bash

the auto-converted decided python 3.1 == 3.10. come on.

put python version in quotes

move python version to matrix

copy from matrix into env

matrix must take a list

update matrix syntax

remove composite

put composite back
2026-03-23 18:00:52 -07:00
Erica Portnoy
9f753a74d8 update gitignore 2026-03-23 18:00:52 -07:00
ohemorange
d77fbe5887 Add workflow certbot/pr-test-suite
Add composite action azure_pipelines_templates_steps_tox_steps

Add composite action azure_pipelines_templates_steps_sphinx_steps

Add reusable workflow azure_pipelines_templates_jobs_standard_tests_jobs

rename files
2026-03-23 18:00:50 -07:00
ohemorange
9599364837
Use python warning filters from pytest.ini during integration tests (#10602)
Fixes https://github.com/certbot/certbot/issues/10180.

So first of all, the core issue here is that [pyca deliberately
chose](ec80c1c289/src/cryptography/utils.py (L15-L18))
to override the default python functionality and make deprecation
warnings appear by default. This isn't common. If they'd actually used a
`DeprecationWarning`, it wouldn't have shown up to users, at least. That
being said, we should still try to catch it, as we do in fact want to
know about deprecation warnings for our own updates.

To do that, this PR searches upwards for a `pytest.ini` file from the
file's location. If found, it reads the warnings from the file, and
passes them using the `PYTHONWARNINGS` env variable. It also explicitly
sets warnings to `error` always in case we can't find the `pytest.ini`,
and ignores the subsequent unverified-https-on-localhost warning. It
also fixes a warning in our test nginx config that seemed reasonable to
address.

I tested this by adding a temporary warning, which I then removed, but
since it turned out there were two other warnings, that wasn't actually
necessary.

Options I considered and rejected:

- Switch from `atexit` to calling `main` directly. To do this, we'd have
to switch our `main` function to something like a try-finally. That's
complicated by the fact that we call `atexit` from other places in the
code. Also, `exc_info` isn't availabe in `finally` while it is in
`at_exit`, so it's not as versatile. But mostly if we wanted to do this,
we'd have to implement a custom atexit handler, basically, and that
seems worse than this option.
- Looking into pytest-forked. It's apparently buggy and not being
maintained. Not even sure this is what it's for anyway.
- Multiple
[-W](https://docs.python.org/3/using/cmdline.html#cmdoption-W) options
can be given instead of an env variable. The env version seemed cleaner.
- More closely mimicking [how pytest finds ini
files](https://docs.pytest.org/en/stable/reference/customize.html#finding-the-rootdir).
It seemed unnecessary to me.

Potential drawbacks:
- If we move or rename the `pytest.ini` file and for some reason don't
do a reasonable grep for `pytest.ini`, we will no longer catch any
additional `ignore`s in there. But imo we're likely to do that grep, and
also a missing ignore will then show up when we run the tests.
2026-03-20 14:40:31 -07:00
Brad Warren
9ed92009db
deprecate certbot.ocsp (#10584)
this is part of https://github.com/certbot/certbot/issues/10517

to update this description in response to the discussion below, i'd
recommend reviewing this PR by commit. the first commit just moves
ocsp.py under _internal making no other changes while the second commit
fixes everything else up. the diff really isn't as big here as it looks
2026-03-19 15:14:10 -07:00
ohemorange
b42b986fb7
List certbot-dns-eurodns as a third-party plugin (#10605)
Fixes https://github.com/certbot/certbot/issues/10603

The link to the github repo is 404'ing. I've asked for a current link,
but the pypi link seems fine to me also. It was released yesterday so it
does seem to still be in active development.

<img width="910" height="214" alt="Screenshot 2026-03-18 at 10 30 19 AM"
src="https://github.com/user-attachments/assets/25208402-ebd1-4d9e-8c46-f1a3f5b83ec0"
/>
2026-03-18 10:52:14 -07:00
James Moss
26a0b0295b
Logo & Wording for DigitalOcean Open Source Sponsorship in Readme.rst (#10601)
In exchange for participating in Open Source Sponsorship, DigitalOcean
has assembled a guide. This commit should bring the readme in line with
the provided guide.

https://opensource.nyc3.cdn.digitaloceanspaces.com/attribution/index.html
2026-03-17 13:33:36 -07:00
Brad Warren
e9f3c986a2
update manual docs for IP certs (#10596)
i noticed this when reviewing jsha's upcoming blog post

this probably should have been done as part of
https://github.com/certbot/certbot/pull/10544, but we forgot to do it
then

i don't think this PR requires two reviews
2026-03-11 12:51:40 -07:00
ohemorange
fa0b0b1057
Merge pull request #10594 from certbot/candidate-5.4.0
Candidate 5.4.0
2026-03-10 12:15:27 -07:00
Will Greenberg
8ebbe24190 Bump version to 5.5.0 2026-03-10 10:47:29 -07:00
Will Greenberg
1ff7e2032a Remove built packages from git 2026-03-10 10:47:29 -07:00
Will Greenberg
95c004cb96
Release 5.4.0 2026-03-10 10:47:28 -07:00