docs(contributing): a clearer pull request description, and switches set to their recommended value #571
No reviewers
Labels
No labels
area/accessibility
area/audio
area/input
area/install
area/menu
area/renderer
area/saves
area/upscaling
beanstalk: approved @ 1697603
beanstalk: approved @ 2c5a62e
beanstalk: approved @ 4fd82b7
beanstalk: approved @ 64d6d09
beanstalk: approved @ 6f91fae
beanstalk: approved @ 70a78f9
beanstalk: approved @ 8015c9a
beanstalk: approved @ 8d361dc
beanstalk: approved @ 9d8356e
beanstalk: approved @ abf2227
beanstalk: approved @ d82f202
beanstalk: approved @ e5f1e40
beanstalk: approved @ ee8ab5f
ci: approved
good first issue
gpu/amd
gpu/igpu
gpu/intel
gpu/nvidia
help wanted
kind
bug
kind
chore
kind
docs
kind
feature
kind
performance
kind
question
needs measurements
platform/linux
platform/macos
platform/steam-deck
platform/windows
preview
priority
critical
priority
high
priority
low
regression
status
blocked
status
confirmed
status
duplicate
status
invalid
status
needs-info
status
wontfix
testing wanted
ci: approved
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
MagicBeanDev/Longshot!571
Loading…
Reference in a new issue
No description provided.
Delete branch "HumanBean/Longshot:docs/pr-description"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Type: docs · Risk: low · Tested on: Linux (game-free checks only) · Needs: any OS, by hand (one check after merge)
Why
Pull request descriptions are hard to review: the reason is often buried, it isn't clear what has and hasn't been tested, and measurements don't say which commits they compare. This rewrites the template so a reviewer sees in a few seconds why the PR exists, whether it helped, and what still has to be tested and where. It also relaxes the switch rule: new switches no longer ship off just because they are new.
No issue covers this (the tracker searched for "template", "description" and "switch").
What changed
The pull request template is rewritten with a status line and clearer sections, and the description checker,
forge.pyand the contributing docs follow it. Test requests are gone from all of them; work that must be tested elsewhere goes to the Test Farm (@Beanstalk) or is described for someone to do by hand. Switches ship at their recommended value..forgejo/pull_request_template.md. A status line (type, risk, tested on, needs); Why first, with a prompt to search the tracker and link issues; How to reproduce, for fixes only; What changed as a summary, then details; Measurements opening with a verdict, withBefore: main @ <hash>/After: this PR @ <hash>columns (variants allowed) or one line saying why nothing was measured; Flags and settings under Measurements (before, after, effect, helps / doesn't help, recommendation); Testing as Tested / Not tested / Must be tested (where, how, expected result, Test Farm or by hand); Risks with Compatibility; Issues (optional); a shorter checklist (Everyone / When it applies).scripts/check_pr_description.pychecks the new structure. It requires the status line, How to reproduce when the title's type isfix, a summary before the details, a verdict and commit-named columns (or the one line), complete Flags rows, Must be tested items that name where, how, the expected result and who runs it, and Compatibility. It refuses a bareFixes #.--titleis new;--forcestill overrides.tests/test_check_pr_description.pyandtests/pr_description/good.mdare rewritten.pr createfills in the status line's type, drops How to reproduce unless it is a fix, and names the columns' commits.pr readyno longer waits on test requests.pr statuscounts Test Farm and by-hand items.tests/test_forge_pr.pyis updated.CONTRIBUTING.md,AGENTS.mdanddocs/development.md: a change that should have a switch gets one, and it ships at its recommended value (on when that's the recommendation and it's measured). "Costs nothing while off" and the documentation rule stay.CONTRIBUTING.md"Commits and pull requests",AGENTS.md's PR guidance anddocs/forge.mddescribe the new structure..forgejo/workflows/pr-description.ymlchanges only its header comment.Measurements
Verdict: nothing to measure: the template, a script and its tests, and docs; no game code changes.
Flags and settings
None. No switch, menu row, ini key or build flag changes; only the rule for new ones does.
Testing
Tested: on Linux, under
nice:tests/test_check_pr_description.py(36 tests),tests/test_forge_pr.pyandtests/test_dev_packs.pypass. This description passes the new checker (scripts/check_pr_description.py --file ... --title ...).Not tested: the whole
tests/run_all.py, which wasn't run to keep this PC's CPU free; the changes touch only these scripts, their tests and docs. Thepr-descriptionworkflow on the forge also hasn't run yet: it runs on this PR.Must be tested:
python -I scripts/forge.py pr createand check that the pre-filled description follows the new template, expecting the status line, the commit-named columns and only the boxes that apply (by hand: read the pre-filled body before publishing).Risks
What could break: open PRs written to the old template will fail the new check until their descriptions are rewritten (
--forceoverrides it).pr createpre-fill could be wrong for an unusual branch.Turning it off: revert the commit.
Compatibility: nothing changes for players. Contributors: descriptions follow the new template, and test requests are no longer accepted as a test plan.
Checklist
Everyone
type(scope): description) of the status line's type.main.python -I -B tests/run_all.pypasses (any failure that also fails onmainis named). Not run in full: the three affected test files pass (see Testing).third_party/untouched (a new folder with aPROVENANCE.mdinstead).When it applies
Assisted-by:/Co-Authored-By:trailers.WIP: docs(contributing): a clearer pull request description, and switches set to their recommended valueto docs(contributing): a clearer pull request description, and switches set to their recommended value