mirror of
https://github.com/TheGrandWazoo/freenas-proxmox.git
synced 2026-09-30 03:51:27 +02:00
release/3.x -> main, release/4.x -> next, master -> archive/v2-legacy (retired, was byte-identical to release/2.x). Branch identity is now role-based, not version-numbered -- main and next are fixed names that never get renamed at a major-version cutover; release/N.x is reserved exclusively for already-superseded majors, created only at the moment they're archived. This directly fixes the structural cause of the bug found 2026-08-30: build.yml hardcoded literal branch-name comparisons for the testing/beta channel, and ADR-006's original "master -> beta channel" rule was never superseded when release/3.x took over as the active branch, leaving master as a silent, stale duplicate of release/2.x that CI still treated as a legitimate publish source. Rewrote the version-resolution logic to match roles instead: refs/heads/main, refs/heads/next, and a refs/heads/release/*.x pattern that auto- catches any future archived major with zero code changes needed. Also tightened the push/PR triggers from a bare wildcard to an explicit allowlist, and switched the release-notes CHANGELOG link to a tag-relative permalink instead of a floating branch reference. Research (DEP-14, openedx/frontend-base #273, semantic-release's branch-pattern config) is cited in ADR-013; the openedx precedent in particular fixed this identical bug the same way. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>