From 576eb716c490fa10e9637103563ff4cea27cbb76 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bern=C3=A1t=20G=C3=A1bor?= Date: Thu, 5 Nov 2026 06:25:54 -0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=93=9D=20docs:=20add=20a=20Tests=20sectio?= =?UTF-8?q?n=20to=20CONTRIBUTING?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CONTRIBUTING.md | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 02670b3..d6a3c09 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,7 +1,6 @@ # Contributing -Open a pull request for changes to the Action. The CI workflow runs the Action in a checkout with a Python project, a -checkout without one, and a checkout where uv is already installed. +Open a pull request for changes to the Action. Run `prek run --all-files` before pushing changes. ## Release notes @@ -23,3 +22,12 @@ pending fragment categories. The workflow calculates a `v`-prefixed tag, builds `release-creator contributors` to list first-time contributors from the commit authors and co-authors, runs `prek`, and validates the patch before a repository-scoped GitHub App pushes the release commit and tag. The tag workflow creates a GitHub Release from the tagged changelog and advances the floating `v1` and `v1.0` tags when appropriate. + +## Tests + +Add a test for every new feature and bug fix. A change without a test needs a reason in the pull request description. + +The tests are the self-test jobs of the CI workflow in `.github/workflows/main.yml`. Each job runs the Action from the +pull request in a different setup: a directory with a Python project, a directory without one, and a runner where uv is +already installed. Cover a new input or code path with a new job or a new step in an existing one. The jobs run on every +pull request and on pushes to `main` and to branches named `test-me-*`.