Skip to content

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).

The signing key ​

Released under the AGPL-3.0 License.