Say that every change reaches main through a pull request; Bring the browser suite's size and running time up to date (#726, #940) #1073

Merged
tiagoagueda merged 2 commits from 940-726-contributing into main 2026-10-29 18:16:39 +00:00
Owner

Since 2026-10-16 every change has gone through a pull request, but the
contributing guide still described committing and pushing. CONTRIBUTING.md
gains "How a change reaches main": a branch per issue, a pull request whose
description says Closes #N, merged once CI is green; code squash-merged,
the commit titled with the pull request's number; Weblate's pull requests
merged with a merge commit, so the guard still knows its commits by their
committer and Weblate finds its own history on main; main taking signed
commits only, with Forgejo signing the merge.

It also says why there is no "branch must be up to date before merging"
rule: on one runner taking two jobs at a time it would cost every open
pull request a full CI run after each merge, and main's own CI run after
the merge checks the combination instead.

The stale wording is brought into line: the wiki commit is pushed when the
pull request merges, not when the code is pushed; release step 5 merges
the release changes through a pull request and tags the merged commit;
the :dev image section says a push to main is a merged pull request.
AGENTS.md carries the rule in its own words, including never pushing a
branch onto main.

The section states the rule and leaves the server setting to the
maintainer: direct pushes to main are not refused by Forgejo today.

Closes #940

Commit 7dd203865 wrote the paragraph on what belongs in the browser suite
and how to keep it fast; the figures around it had gone stale. The suite
is about 930 tests now, not some 650, and "about eight minutes on four
workers" was never what CI sees: CI runs it in one process, and on
2026-10-28 that was 913 tests in about forty minutes. CONTRIBUTING.md
says so, drops the unmeasured local timing, and points at #1033, where
the runner's capacity and a second browser worker are followed.

Closes #726

Notes for review

  • #940: a "How a change reaches main" section in CONTRIBUTING and AGENTS.
    • Squash merges for code, merge commits for Weblate. Weblate pulls main back, so a squash would hand it a conflicting copy.
    • Signed commits only.
    • No "branch must be up to date" rule: on a two-slot runner that would cost a full CI rerun per open PR after every merge.
    • Fixed the stale "pushed when the code is" and release step 5.
    • Not changed: the server's branch protection still allows direct pushes (enable_push). Turning it off is the maintainer's call.
  • #726: the browser suite is now "about 930" tests (929 collected), and the timing is the 28 October run, about forty minutes in one process. Runner capacity is followed in #1033.

🤖 Generated with Claude Code

Since 2026-10-16 every change has gone through a pull request, but the contributing guide still described committing and pushing. CONTRIBUTING.md gains "How a change reaches main": a branch per issue, a pull request whose description says Closes #N, merged once CI is green; code squash-merged, the commit titled with the pull request's number; Weblate's pull requests merged with a merge commit, so the guard still knows its commits by their committer and Weblate finds its own history on main; main taking signed commits only, with Forgejo signing the merge. It also says why there is no "branch must be up to date before merging" rule: on one runner taking two jobs at a time it would cost every open pull request a full CI run after each merge, and main's own CI run after the merge checks the combination instead. The stale wording is brought into line: the wiki commit is pushed when the pull request merges, not when the code is pushed; release step 5 merges the release changes through a pull request and tags the merged commit; the :dev image section says a push to main is a merged pull request. AGENTS.md carries the rule in its own words, including never pushing a branch onto main. The section states the rule and leaves the server setting to the maintainer: direct pushes to main are not refused by Forgejo today. Closes #940 Commit 7dd203865 wrote the paragraph on what belongs in the browser suite and how to keep it fast; the figures around it had gone stale. The suite is about 930 tests now, not some 650, and "about eight minutes on four workers" was never what CI sees: CI runs it in one process, and on 2026-10-28 that was 913 tests in about forty minutes. CONTRIBUTING.md says so, drops the unmeasured local timing, and points at #1033, where the runner's capacity and a second browser worker are followed. Closes #726 ## Notes for review - **#940:** a "How a change reaches main" section in CONTRIBUTING and AGENTS. - Squash merges for code, merge commits for Weblate. Weblate pulls `main` back, so a squash would hand it a conflicting copy. - Signed commits only. - No "branch must be up to date" rule: on a two-slot runner that would cost a full CI rerun per open PR after every merge. - Fixed the stale "pushed when the code is" and release step 5. - **Not changed:** the server's branch protection still allows direct pushes (`enable_push`). Turning it off is the maintainer's call. - **#726:** the browser suite is now "about 930" tests (929 collected), and the timing is the 28 October run, about forty minutes in one process. Runner capacity is followed in #1033. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Since 2026-10-16 every change has gone through a pull request, but the
contributing guide still described committing and pushing. CONTRIBUTING.md
gains "How a change reaches main": a branch per issue, a pull request whose
description says Closes #N, merged once CI is green; code squash-merged,
the commit titled with the pull request's number; Weblate's pull requests
merged with a merge commit, so the guard still knows its commits by their
committer and Weblate finds its own history on main; main taking signed
commits only, with Forgejo signing the merge.

It also says why there is no "branch must be up to date before merging"
rule: on one runner taking two jobs at a time it would cost every open
pull request a full CI run after each merge, and main's own CI run after
the merge checks the combination instead.

The stale wording is brought into line: the wiki commit is pushed when the
pull request merges, not when the code is pushed; release step 5 merges
the release changes through a pull request and tags the merged commit;
the :dev image section says a push to main is a merged pull request.
AGENTS.md carries the rule in its own words, including never pushing a
branch onto main.

The section states the rule and leaves the server setting to the
maintainer: direct pushes to main are not refused by Forgejo today.

Closes #940

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Bring the browser suite's size and running time up to date (#726)
All checks were successful
CI / Unit tests and coverage (Python 3.14) (push) Successful in 13m32s
CI / Checks: lint, migrations, catalogues, settings, built files (push) Successful in 3m13s
CI / Database tests on PostgreSQL (push) Successful in 4m12s
CI / Browser tests (Chromium) (push) Successful in 32m29s
CI / Security audit (push) Successful in 1m6s
Every Python / Unit tests (Python 3.13) (push) Successful in 15m5s
Every Python / Unit tests (Python 3.12) (push) Successful in 15m20s
CI / Unit tests and coverage (Python 3.14) (pull_request) Successful in 14m1s
CI / Checks: lint, migrations, catalogues, settings, built files (pull_request) Successful in 3m7s
CI / Database tests on PostgreSQL (pull_request) Successful in 4m9s
CI / Security audit (pull_request) Successful in 1m7s
CI / Browser tests (Chromium) (pull_request) Successful in 32m36s
bca74e628d
Commit 7dd203865 wrote the paragraph on what belongs in the browser suite
and how to keep it fast; the figures around it had gone stale. The suite
is about 930 tests now, not some 650, and "about eight minutes on four
workers" was never what CI sees: CI runs it in one process, and on
2026-10-28 that was 913 tests in about forty minutes. CONTRIBUTING.md
says so, drops the unmeasured local timing, and points at #1033, where
the runner's capacity and a second browser worker are followed.

Closes #726

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
tiagoagueda force-pushed 940-726-contributing from bca74e628d
All checks were successful
CI / Unit tests and coverage (Python 3.14) (push) Successful in 13m32s
CI / Checks: lint, migrations, catalogues, settings, built files (push) Successful in 3m13s
CI / Database tests on PostgreSQL (push) Successful in 4m12s
CI / Browser tests (Chromium) (push) Successful in 32m29s
CI / Security audit (push) Successful in 1m6s
Every Python / Unit tests (Python 3.13) (push) Successful in 15m5s
Every Python / Unit tests (Python 3.12) (push) Successful in 15m20s
CI / Unit tests and coverage (Python 3.14) (pull_request) Successful in 14m1s
CI / Checks: lint, migrations, catalogues, settings, built files (pull_request) Successful in 3m7s
CI / Database tests on PostgreSQL (pull_request) Successful in 4m9s
CI / Security audit (pull_request) Successful in 1m7s
CI / Browser tests (Chromium) (pull_request) Successful in 32m36s
to 180cc019d2
Some checks failed
CI / Browser tests (Chromium) (pull_request) Has been cancelled
CI / Unit tests and coverage (Python 3.14) (pull_request) Has been cancelled
CI / Checks: lint, migrations, catalogues, settings, built files (pull_request) Has been cancelled
CI / Database tests on PostgreSQL (pull_request) Has been cancelled
CI / Security audit (pull_request) Has been cancelled
2026-10-28 18:07:15 +00:00
Compare
tiagoagueda force-pushed 940-726-contributing from 180cc019d2
Some checks failed
CI / Browser tests (Chromium) (pull_request) Has been cancelled
CI / Unit tests and coverage (Python 3.14) (pull_request) Has been cancelled
CI / Checks: lint, migrations, catalogues, settings, built files (pull_request) Has been cancelled
CI / Database tests on PostgreSQL (pull_request) Has been cancelled
CI / Security audit (pull_request) Has been cancelled
to 70d4432aaa
All checks were successful
CI / Unit tests and coverage (Python 3.14) (pull_request) Successful in 12m54s
CI / Checks: lint, migrations, catalogues, settings, built files (pull_request) Successful in 2m32s
CI / Database tests on PostgreSQL (pull_request) Successful in 3m46s
CI / Security audit (pull_request) Successful in 50s
CI / Browser tests (Chromium) (pull_request) Successful in 33m22s
2026-10-29 10:21:23 +00:00
Compare
tiagoagueda deleted branch 940-726-contributing 2026-10-29 18:16:39 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
Postulo/postulo!1073
No description provided.