Task · GHC-0002

Auto-RC prerelease channel and release hygiene

Description

Give every public repo an automatic vX.Y.Z-rc.N prerelease cut off main on green CI, a label-armed auto-merge path for the stable release PR, a multi-arch-safe GHCR pruner, and a daily fleet release-PR sweep. Full implementation plan is a scratch doc, not committed.

Acceptance Criteria

Definition of Done

Implementation Notes

Rollout inventory as at 2026-08-18. Three tiers, and the tier a repo is in is a decision, not an oversight.

FULL (auto-rc + arm-automerge + ghcr-cleanup): graph2otel (pilot), tailscale2otel, opnsense2otel, rfc6035-2otel, transceiver-exporter, genai-otel-bridge, synthkit, fleet-management-operator, openbao-plugin-secrets-github, sagemcom-f3896-py, meraki-dashboard-exporter, sf2loki, paperless-ngx-dedupe.

ARM-AUTOMERGE ONLY: grotTrack (release-please but publishes no container artefact, so an RC would ship nothing), autopi-ha and meraki-dashboard-ha (ship to Home Assistant users via HACS, which reads GitHub releases and can surface prereleases to end users – excluded from the RC channel on purpose, do not “complete” the rollout by adding one).

NOTHING: grafana-cloud-vending-machine, bumblebee-catalog, bumblebee-intune, intune-assignments-manager, profilarr – no release-please workflow and no published artefact.

DEFERRED: polylens2otel. Its GHCR packages are marked PRIVATE while the repo and its releases are public; anonymous pull returns 401 where graph2otel returns 200. Its three public releases advertise an image nobody can pull. Fix the package visibility before wiring it up.

Defects this work surfaced, all pre-existing:

Traps worth keeping:

View the source file on GitHub