From de38d97418458690653172cc88a881b568d410b4 Mon Sep 17 00:00:00 2001 From: Fintan Halpenny Date: Mon, 25 Aug 2025 12:38:47 +0100 Subject: [PATCH] build: move to use `releases/` prefix The team decided to use `releases/*.*.*` for the naming scheme of release tags. This change needs to be reflected in the `build` tooling as well. --- build/release | 4 ++-- build/tag | 3 ++- build/upload | 2 +- build/version | 6 +++--- scripts/changelog | 13 +++++++++---- 5 files changed, 17 insertions(+), 11 deletions(-) diff --git a/build/release b/build/release index 740a971e..c6d44394 100755 --- a/build/release +++ b/build/release @@ -17,8 +17,8 @@ main() { echo "fatal: empty version number" >&2 ; exit 1 fi - if ! git rev-parse --verify "v$version^{tag}" >/dev/null 2>&1; then - echo "error: '$version' is not a valid version, tag 'v$version' not found" >&2 + if ! git rev-parse --verify "releases/$version^{tag}" >/dev/null 2>&1; then + echo "error: '$version' is not a valid version, tag 'releases/$version' not found" >&2 exit 1 fi diff --git a/build/tag b/build/tag index cbd705cb..82c38ff5 100755 --- a/build/tag +++ b/build/tag @@ -3,11 +3,12 @@ set -e if [ $# -ne 1 ]; then echo "Usage: $0 " + echo "Produces a Git Tag under 'releases/', signed by the 'user.signingKey' which must match 'rad self --ssh-key'" exit 1 fi version="$1" -tag="v$version" +tag="releases/$version" git_config_key="user.signingKey" diff --git a/build/upload b/build/upload index c1eb1ad8..43543b9c 100755 --- a/build/upload +++ b/build/upload @@ -58,7 +58,7 @@ main() { # `rad://z3gqcJUoA1n9HaHKufZs5FCSGazv5/`, where `` is the local Node # ID. echo "Pushing tags to ${rad_remote}.." - git push "${rad_remote}" --tags + git push "${rad_remote}" "releases/${version}" echo "Done." } diff --git a/build/version b/build/version index 8a8e573b..b1de9c37 100755 --- a/build/version +++ b/build/version @@ -1,9 +1,9 @@ #!/bin/sh -if ! version="$(git describe --match='v*' --candidates=1 2>/dev/null)"; then +if ! version="$(git describe --match='releases/*' --candidates=1 2>/dev/null)"; then echo "fatal: no version tag found by 'git describe'" >&2 ; exit 1 fi -# Remove `v` prefix from version. -version=${version#v} +# Remove the `releases/` prefix from version. +version=${version#releases/} echo "$version" diff --git a/scripts/changelog b/scripts/changelog index 324436a7..e75a418d 100755 --- a/scripts/changelog +++ b/scripts/changelog @@ -12,7 +12,7 @@ while [ $# -gt 0 ]; do exit 1 fi shift - from=$(echo "$1" | sed 's/^v//') + from=$(echo "$1" | sed 's/^releases\///') break ;; *) @@ -23,13 +23,18 @@ while [ $# -gt 0 ]; do done # Current/latest tag. -current=$(git describe --tags --match='v*' --abbrev=0) -version=$(echo "$current" | sed 's/^v//') +version="$(build/version)" +current="releases/${version}" + +if ! git rev-parse --verify "$current^{tag}" >/dev/null 2>&1; then + echo "error: tag '$current' not found" >&2 + exit 1 +fi if [ -z "$from" ]; then previous="$(git describe --abbrev=0 HEAD^)" else - previous="v$from" + previous="releases/$from" fi if ! git rev-parse --verify "$previous^{tag}" >/dev/null 2>&1; then