Commit graph

80 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
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
2bf6f782f0 migrate advanced tests to github actions
credentials for launchpad may or may not be working.
2026-03-24 11:20:58 -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
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
e6efb5c6d3
Add notice about AI generated code policy to pull request checklist (#10590) 2026-03-05 11:02:22 -08:00
Brad Warren
837ff26058
try adding codeowners (#10532)
this fixes https://github.com/certbot/certbot/issues/10462 and i
personally think this is a nice change worth trying

now when people open (non-draft) PRs, one of us will automatically be
assigned hopefully helping to both automate and speed up the review
process

i personally don't think this PR requires two reviews
2026-01-07 10:47:33 -08:00
Brad Warren
e9050f1a3c
dynamically determine base branch name in mattermost notifications (#10496)
previously, if we merged a PR into one of our point release branches,
the mattermost notification would still say it was merged into main.
this PR fixes that

you can see me testing this change on my fork with this [workflow
file](https://github.com/bmw/letsencrypt/actions/runs/19588662936/workflow#L30)
and this
[output](https://github.com/bmw/letsencrypt/actions/runs/19588662936/job/56102625766#step:2:4)

if this PR is merged, i'll do the same thing in our josepy repo
2025-11-24 13:42:14 -08:00
Brad Warren
b02deb339a
update actions in response to pull_request_target concerns (#10490)
this pr is in response to https://words.filippo.io/compromise-survey/.
ohemorange and i read this late on a friday to (speaking for myself at
least) much panic as it has some very strong words to say about the
github actions trigger pull_request_target which we use. looking into
the issue more, i also found that the popular static analysis tool
[zizmor](https://github.com/zizmorcore/zizmor) flags any github actions
workflow that uses the pull_request_target trigger with the message:

```
error[dangerous-triggers]: use of fundamentally insecure workflow trigger
pull_request_target is almost always used insecurely
```

this only added to my concern

the general problem with pull_request_target is that it runs with
additional privileges (e.g. potential write access, access to secrets)
in an environment containing values that can be set by an attacker.
these values include things such as references to the arbitrary code
contained in the triggering pr and pr titles which have been used to
perform shell injection attacks. not carefully treating these values
like the untrusted data it is while executing code in the privileged
environment given to pull_request_target has resulted in many supply
chain attacks

that's not to say that pull_request_target CAN'T be used securely.
zizmor even has [an
issue](https://github.com/zizmorcore/zizmor/issues/1168) brainstorming
how to not warn about all uses of the trigger as some are clearly fine
and the only way to accomplish what the user wants. i'm going to argue
that our uses of the trigger are ok

looking through the links provided by filippo's blog and [zizmor's
docs](https://docs.zizmor.sh/audits/#dangerous-triggers), i think we can
break down attacks used against pull_request_target into roughly 2
categories:

1. shell injection: "Nx S1ingularity" and "Ultralytics" from filippo's
blog
2. checking out and running a PR's code: "Kong Ingress Controller" and
"Rspack" from filippo's blog and https://ptrpa.ws/nixpkgs-actions-abuse
from zizmor docs

i think none of our pull_request_target workflows have these problems.
none of them use a shell (the [zizmor
issue](https://github.com/zizmorcore/zizmor/issues/1168) i linked
earlier suggests that any pull_request_target workflow that uses a run
block should always be flagged as insecure). instead, our workflows just
call action-mattermost-notify which can be [pretty easily
audited](https://github.com/mattermost/action-mattermost-notify/blob/2.0.0/src/main.js)
(as all the other files in the repo are boilerplate). passing possible
attacker controlled values directly to an action written in another
language is one of the approaches for mitigating script injection
[recommended by
github](https://docs.github.com/en/actions/reference/security/secure-use#use-an-action-instead-of-an-inline-script).
our workflows also do not check out the triggering pr's code

despite all that, i took this opportunity to cleanup and harden things a
bit. i reduced the permissions for each workflow and confirmed they each
still work on my fork. i also pinned the mattermost action to an exact
version and added some inline documentation

with these changes, our github workflows trigger few to no
warnings/errors when checked with zizmor,
[octoscan](https://github.com/synacktiv/octoscan), and [openssf
scorecard](https://github.com/ossf/scorecard)

if this pr is approved, i'll make similar changes to our josepy repo
2025-11-20 15:09:06 -08:00
Will Greenberg
2ac7baa651
Add towncrier for automatic changelog generation (#10379)
blast from the past! resurrects
https://github.com/certbot/certbot/pull/9803 with all of @bmw's changes.
i figured instead of force-pushing a basically brand new branch and
obliterating the old review, i'd just start from a clean slate

fixes #8272

---------

Co-authored-by: Brad Warren <bmw@users.noreply.github.com>
Co-authored-by: Brad Warren <bmw@eff.org>
2025-07-31 07:12:56 -07:00
ohemorange
6ee19bac55
Allow notification of two reviewers being assigned to a PR and two issue assignees (#10345)
Fixes https://github.com/certbot/certbot/issues/10344

You can see this working in the mattermost "Test" channel, where I ran
this code from my test repo.

The documentation for the PR reviewer syntax is here:
https://docs.github.com/en/webhooks/webhook-events-and-payloads?actionType=review_requested#pull_request

We now no longer notify on PR assignees. But I think that is the correct
behavior.

This PR also fixes a bug in the issue assigned notification code, and
now lets you see when two different people were assigned. That
documentation is here:
https://docs.github.com/en/webhooks/webhook-events-and-payloads#

After this is in, I'll make the same changes to the josepy repo.

You can see the `if` syntax here:
https://docs.github.com/en/actions/writing-workflows/choosing-when-your-workflow-runs/events-that-trigger-workflows

```
on:
  pull_request:
    types: [review_requested]
jobs:
  specific_review_requested:
    runs-on: ubuntu-latest
    if: ${{ github.event.requested_team.name == 'octo-team'}}
    steps:
      - run: echo 'A review from octo-team was requested'
```

---------

Co-authored-by: Brad Warren <bmw@users.noreply.github.com>
2025-06-23 17:08:21 +00:00
ohemorange
7d461a8dfc
Add template for code maintenance task (#10251)
We need this to create issues to track work like "update venv.py to
address upcoming pip build system deprecation" since we no longer have a
blank issue template.
2025-03-28 16:41:50 +00:00
Brad Warren
83510c1da5
use type feature instead of label (#10247)
not doing this breaks our triage link which currently looks for
unlabeled issues
2025-03-27 21:36:16 +00:00
Alexis
0b51653def
[REPO] Add New Feature Template (#10238)
Adding for cases when it's not a bug, but a feature request. Helping
those and us frame the initial request better.
2025-03-17 18:07:32 -07:00
Brad Warren
4cffcbffaa
use-pr-target 2025-03-05 08:19:10 -08:00
Alexis
d3aceba188
[TOOLING] Add Automation for When a PR or Issue is Assigned (#10191)
Adding automation for team triage meetings for when PRs or Issues are
assigned. You can see an example in the "Test" channel.

---------

Co-authored-by: ohemorange <erica@eff.org>
2025-02-14 14:58:00 -08:00
Alexis
8524255a2e
[REPO] Create New Issue Template with Updated Strcuture (#10172)
Playing around with the new [issue template
structure](https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/syntax-for-issue-forms).

If you'd like to test it out:
https://github.com/zoracon/zoracon/issues/new?template=bug.yml

---------

Co-authored-by: ohemorange <ebportnoy@gmail.com>
Co-authored-by: ohemorange <erica@eff.org>
2025-02-14 14:50:20 -08:00
Alexis
2ae7f83e2a
[REPO] Modify Stalebot Labels for Better Filters (#10171)
- Better labels upon an issue going stale will help triage better. There
other PRs with "needs update" that are manually put and therefore we
can't explicitly filter for stalebot.
- For management purposes, being able to view how many issues are
auto-closed helps as well.
2025-01-31 15:23:10 -08:00
ohemorange
e0e81a97f2
Add new style of issue template (#10143)
Pasted from the old one. Maybe we can just rename it but this is what
github's web interface led me to create.

I want to make sure that they at least create the template so that they
read it. If they then choose to ignore it that's fine, but it should
always pop up. Basically I want to keep the old behavior. Open to
alternatives.

We could also play around with the new issue forms:
https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/syntax-for-issue-forms

Or label this one the "bug" template, and create a second one that is
blank but has the header text paragraph. I haven't seen a way to make
something appear in all templates, including the "blank" one, other than
just turning off blank templates.
2025-01-22 16:27:03 -08:00
Brad Warren
94dcf25f6e
notify about PRs from forks (#10101) 2025-01-15 17:19:25 -08:00
Alexis
86694397a6
Update notify_weekly.yaml (#10118)
Making the weekly message a little more useful.

---------

Co-authored-by: Brad Warren <bmw@users.noreply.github.com>
2025-01-13 07:46:12 -08:00
Brad Warren
c54f99e35b
mattermost/action-mattermost-notify still uses master (#10021) 2024-10-04 14:08:25 -07:00
Will Greenberg
84c8dbc52a Migrate master branch to main
We're a few years behind the curve on this one, but using "master" as a
programming term is a callous practice that explicitly uses the
historical institution of slavery as a cheap, racist metaphor. Switch to
using "main", as it's the new default in git and GitHub.
2024-09-26 14:48:10 -07:00
ohemorange
018800c5cc
specify channel in weekly mm message (#10013) 2024-09-16 12:31:52 -07:00
Brad Warren
2eb4154169
allow manually triggering GH actions (#10015) 2024-09-16 12:16:51 -07:00
ohemorange
6975e32998
Fix weekly mattermost notifier (#10009) 2024-09-11 11:11:47 -07:00
Brad Warren
62962357c5
add parenthesis (#10008) 2024-09-10 13:06:48 -07:00