Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 21 additions & 8 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,12 @@ on:
type: choice
options:
- nightly # build + push to SF rolling/, update rolling pre-release
- patch # bump x.y.Z → x.y.Z+1, create versioned release
- minor # bump x.Y.z → x.Y+1.0, create versioned release
- major # bump X.y.z → X+1.0.0, create versioned release
- point # YYYY.Q.P -> YYYY.Q.(P+1) (bug/security point release)
- quarter # YYYY.Q.P -> YYYY.(Q+1).0, and YYYY.4.x -> (YYYY+1).1.0
# Back-compat aliases for the old semver labels:
- patch # alias of 'point'
- minor # alias of 'quarter'
- major # alias of 'quarter'
build_flavor:
description: 'Distro flavor to build'
required: false
Expand Down Expand Up @@ -126,13 +129,23 @@ jobs:
else
CURRENT="0.0.0"
fi
IFS='.' read -r VER_MAJOR VER_MINOR VER_PATCH <<< "$CURRENT"
# Date-based YYYY.Q.P (Q = quarter 1-4, P = point release).
# YEAR and QUARTER come from the current version; PT from its 3rd
# field (0 if absent, e.g. an old "2026.2" tag).
IFS='.' read -r YEAR QUARTER PT <<< "$CURRENT"
PT="${PT:-0}"
case "$RELEASE_TYPE" in
patch) VER_PATCH=$(( VER_PATCH + 1 )) ;;
minor) VER_MINOR=$(( VER_MINOR + 1 )); VER_PATCH=0 ;;
major) VER_MAJOR=$(( VER_MAJOR + 1 )); VER_MINOR=0; VER_PATCH=0 ;;
point|patch)
PT=$(( PT + 1 )) ;;
quarter|minor|major)
if [ "$QUARTER" -ge 4 ]; then
YEAR=$(( YEAR + 1 )); QUARTER=1
else
QUARTER=$(( QUARTER + 1 ))
fi
PT=0 ;;
esac
BUMPED="${VER_MAJOR}.${VER_MINOR}.${VER_PATCH}"
BUMPED="${YEAR}.${QUARTER}.${PT}"
printf '%s\n' "$BUMPED" > VERSION
git config user.email "github-actions[bot]@users.noreply.github.com"
git config user.name "github-actions[bot]"
Expand Down
2 changes: 1 addition & 1 deletion RELEASES.md
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ Every release build generates a standard quartet of integrity assets:
Releases are triggered automatically via `.github/workflows/release.yml`:

1. **Tag Push**: `git tag v2026.2 && git push origin v2026.2`
2. **Workflow Dispatch**: Triggers manual bump (`2026.1`, `2026.2`, `2026.3`, `2026.4`, or `nightly`) with flavor selector (`full` / `lite`).
2. **Workflow Dispatch**: Triggers manual date-based bump (`point` -> YYYY.Q.P+1, `quarter` -> next quarter with year rollover, or `nightly`) with flavor selector (`full` / `lite`).
3. **Multi-Mirror Synchronization**:
- Pushes release assets and checksums to GitHub Releases.
- Synchronizes ISO files and README documentation to SourceForge (`frs.sourceforge.net`).
Expand Down
Loading