inbuxa-version.json is now 27.1-rc.1, the version the whole suite moves to. The console shows just that: the "(base 1.0.11)" suffix named the release the fork started from, and no upstream version is shown any more. tools/release-version.sh holds the rule (POSIX sh, for the docker:cli image): a release moves its series tag and :latest; a release candidate its series' -rc tag, never :latest. Both CIs publish v27.1, v27.1.N and v27.1-rc.N tags as well as the dated ones from before. The weekly release cuts the next patch of the series (27.1 -> 27.1.1), and while main is on a release candidate it says so and stops: a series and its candidates are cut by hand.
44 lines
1.7 KiB
Bash
Executable File
44 lines
1.7 KiB
Bash
Executable File
#!/bin/sh
|
|
# SPDX-FileCopyrightText: 2026 Coffey Labs LLC
|
|
# SPDX-License-Identifier: AGPL-3.0-only
|
|
#
|
|
# The suite's release versions, as tags and images name them: 27.1 for a
|
|
# series, 27.1.3 for its patches, 27.1-rc.1 for a release candidate. The
|
|
# server's tools/release/version.py is the same rule in its Cargo form.
|
|
#
|
|
# release-version.sh tags VERSION image tags, one per line: a release
|
|
# moves VERSION, its series and latest;
|
|
# a release candidate VERSION and
|
|
# <series>-rc, never latest
|
|
# release-version.sh prerelease VERSION exit 0 for a release candidate
|
|
# release-version.sh next VERSION the next weekly patch, or nothing
|
|
# while on a release candidate
|
|
#
|
|
# Anything else, including the old dated versions, is refused (exit 2).
|
|
# POSIX sh: it runs in the docker:cli image, which has no bash.
|
|
set -eu
|
|
|
|
usage() { sed -n '9,18p' "$0" >&2; exit 2; }
|
|
[ $# -eq 2 ] || usage
|
|
cmd=$1 v=$2
|
|
|
|
echo "$v" | grep -Eq '^[1-9][0-9]\.([1-9]|1[0-2])(\.[1-9][0-9]*|-rc\.[1-9][0-9]*)?$' \
|
|
|| { echo "$v is not YY.M, YY.M.N or YY.M-rc.N" >&2; exit 2; }
|
|
series=$(echo "$v" | sed -E 's/^([0-9]+\.[0-9]+).*/\1/')
|
|
case $v in *-rc.*) rc=1 ;; *) rc=0 ;; esac
|
|
|
|
case $cmd in
|
|
tags)
|
|
if [ $rc = 1 ]; then printf '%s\n%s-rc\n' "$v" "$series"
|
|
elif [ "$v" = "$series" ]; then printf '%s\nlatest\n' "$v"
|
|
else printf '%s\n%s\nlatest\n' "$v" "$series"
|
|
fi ;;
|
|
prerelease) [ $rc = 1 ] ;;
|
|
next)
|
|
if [ $rc = 1 ]; then :
|
|
elif [ "$v" = "$series" ]; then echo "$series.1"
|
|
else echo "$series.$(( ${v##*.} + 1 ))"
|
|
fi ;;
|
|
*) usage ;;
|
|
esac
|