English
Protecting main and releases
These are GitHub settings, made once in the repository's Settings. They are not on yet; switch them on once every CI job below has passed on main at least once.
A ruleset for main
Settings → Rules → Rulesets → New branch ruleset, target main:
- Frontend builds and matches the committed bundle
- Go vet, static analysis and tests
- Installer and menu behave
- Clean install on …: every entry of the matrix
- Upgrade from every earlier release (PostgreSQL)
- Update from … by installer, by panel, by menu: every entry
- Panel and node across releases …: every entry
The same checks before dev-latest
In .github/workflows/ci.yml, the dev-release job lists what it waits for under needs. Add upgrade, upgrade-postgres and node-compat once they have run green, so the dev channel only carries builds that passed the upgrade tests too.
A ruleset for release tags
New tag ruleset, target v*:
The release workflow additionally refuses a tag whose commit CI did not pass on main (see the release checklist).
