certbot/.github
ohemorange 9ec4105ff3
Some checks failed
PR test suite / Standard tests (push) Has been cancelled
PR test suite / PR test suite success (push) Has been cancelled
Migrate PR tests from azure pipelines to github actions (#10622)
Related to https://github.com/certbot/certbot/issues/10581

This is the first step of migrating to github actions.

Nightly and full tests have been converted on branch
`convert-all-pipelines`; you can see additional changes to do those for
context
[here](https://github.com/certbot/certbot/compare/convert-pr-tests...convert-all-pipelines).

Some notes: 
- All github workflows must be flat in the `.github/workflows/`
directory.
- Github actions doesn't have a concept of "stages." Instead, it
generates a dependency graph, which is kind of nice. You can see an
example of a more complicated one
[here](https://github.com/certbot/certbot/actions/runs/24580625688).
- I don't know why the actions in the left bar (under Actions tab -->
All workflows) are using the path instead of the listed name. I suspect
it has something to do with not being run on main. Once it's merged, if
the name doesn't change, we can delete previous runs and that will clear
the entry on the left.
- "permissions" is for the fine-grained github PAT. contents: read is
needed for the "checkout" action, which basically everything uses. it's
still best practice to define per-workflow. it can also be defined
per-job, but per-workflow seemed nicer to me.
[This](https://docs.github.com/en/actions/reference/workflows-and-actions/workflow-syntax#permissions)
is the best permissions explanation I've found; [some
actions](https://github.com/actions/checkout) mention what permissions
they need.
- For definitions of the keywords to `on`, see
[here](https://docs.github.com/en/actions/reference/workflows-and-actions/events-that-trigger-workflows).
- Some of the potential inputs in tox steps are not used in this PR
because we're not running the AWS tests. It seemed messier to take them
out here and put them back later when the extended tests need them, but
I can do that on request.

We currently have a `main` [protection
rule](https://github.com/certbot/certbot/settings/branch_protection_rules/5466)
set that Azure pipelines PR test suite must pass before merging.
Obviously I don't want to turn that off before this PR is reviewed. In
github actions, it can only require a specific job to pass, though you
can have multiple. To address this, I've created a job that requires all
other jobs to pass, and that can be set at the required job. We probably
do not want to list every individual job, as that includes every job
generated by a matrix strategy. To find it in the protection rules page,
start typing "PR test suite success" and it will show up.

---------

Co-authored-by: Brad Warren <bmw@users.noreply.github.com>
Co-authored-by: Will Greenberg <willg@eff.org>
2026-04-28 12:34:42 -07:00
..
ISSUE_TEMPLATE Add template for code maintenance task (#10251) 2025-03-28 16:41:50 +00:00
workflows Migrate PR tests from azure pipelines to github actions (#10622) 2026-04-28 12:34:42 -07:00
codecov.yml Start sending coverage data to codecov (#9544) 2023-01-26 08:15:51 +11:00
CODEOWNERS try adding codeowners (#10532) 2026-01-07 10:47:33 -08:00
FUNDING.yml Use new GitHub templates. Add funding link (#8845) 2021-05-14 11:43:58 -07:00
pull_request_template.md Add notice about AI generated code policy to pull request checklist (#10590) 2026-03-05 11:02:22 -08:00