Files
pl_mail/.github
Paul LütznerandClaude Opus 5 6786c2ea7d Run the browser suite for releases, not for every commit
E2E is the expensive workflow here — a Postgres service, PHP with eight
extensions, a Chromium download, an asset build, PHPStan, PHPUnit and
around two hundred browser tests — and it ran on every push. Most of that
capacity went on proving the same thing repeatedly about commits nobody
was releasing.

It now runs on a `v*` tag, on a pull request against main, and on demand
through workflow_dispatch. Pull requests are kept because that is somebody
proposing a change, which is exactly when a second opinion is worth
having, and there are few of them.

**The trade is real and is written down in both places rather than left
to be discovered.** `main` is no longer verified commit by commit: a
regression pushed there is found when a version is tagged, possibly
several commits later, and the tag is then what fails. Running the suites
locally before pushing is the answer, and it is faster than waiting for a
runner in any case.

One sharp edge, now stated in CONTRIBUTING: a tag starts this workflow and
the image build in parallel, so a failing suite does not stop the image
being published. Tag from a tree the suites have already passed on.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-05 22:57:51 +02:00
..