Skip to content

ci(release): date-based quarterly version bumps (YYYY.Q.P) - #16

Merged
rfs-telco merged 1 commit into
mainfrom
ci/date-based-releases
Oct 19, 2026
Merged

rfs-telco merged 1 commit into
mainfrom
ci/date-based-releases

Conversation

@rfs-telco

Copy link
Copy Markdown
Contributor

Aligns the release pipeline with the quarterly date-based model (4 majors/year).

Problem

release.yml's dispatch did semver bumps (major/minor/patch), conflicting with the documented YYYY.R date-based model. A major bump of 2026.3.0 gave 2027.0.0; minor gave 2026.4.0 — confusing and wrong for a Kali/Parrot-style date scheme.

Change

  • New release_type options: point (2026.3.0 → 2026.3.1) and quarter (2026.3.x → 2026.4.0; 2026.4.x → 2027.1.0 with year rollover).
  • Old patch/minor/major kept as aliases (patch=point, minor/major=quarter) so nothing breaks.
  • Bump math parses YEAR.QUARTER.PT, handles Q4→Q1 year rollover, and legacy 2-field tags.

Verified

8 unit cases pass, including:

  • 2026.3.0 quarter → 2026.4.0
  • 2026.4.0 quarter → 2027.1.0 (year rollover)
  • 2026.2 quarter → 2026.3.0 (legacy 2-field tag)
  • aliases map correctly

actionlint clean; RELEASES.md updated.

Release plan context

Model: 4 quarterly majors (2026.1–2026.4) + .1/.2 point releases + continuous rolling/nightly. Next major 2026.4 targeted early Nov, bundling this session's work (sub-5GB ISO, 0-FAIL build, dashboard removed, re-keyed APT, honest metapackages).

🤖 Generated with Claude Code

The dispatch bump logic did semver (major/minor/patch), which conflicts with
the documented date-based quarterly model (YYYY.R). A "major" bump of 2026.3.0
produced 2027.0.0; a "minor" produced 2026.4.0 — inconsistent and confusing.

Now:
- release_type gains `point` (YYYY.Q.P -> .P+1) and `quarter` (YYYY.Q -> next
  quarter, rolling the year after Q4: 2026.4.x -> 2027.1.0). The old
  patch/minor/major labels are kept as aliases (patch=point, minor/major=quarter).
- Bump math parses YEAR.QUARTER.PT and handles the Q4->Q1 year rollover and
  2-field legacy tags (e.g. 2026.2 -> quarter -> 2026.3.0).

Verified with 8 unit cases incl. year rollover, legacy tags, and aliases.
RELEASES.md updated; actionlint clean.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@rfs-telco
rfs-telco merged commit 73868a2 into main Oct 19, 2026
1 check passed
@rfs-telco
rfs-telco deleted the ci/date-based-releases branch October 19, 2026 09:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant