refactor(release): put a v in front of the upstream version in tags

- An upstream line is tagged v<upstream>-v<version> in git instead of <upstream>-v<version>
- Coolify has no upstream lines, its git tags stay v<version>, and the v is stripped from the Docker image tags
This commit is contained in:
peaklabs-dev
2026-11-01 19:37:40 +01:00
parent a9044e87fc
commit e30cdd8325
3 changed files with 11 additions and 10 deletions
+1 -1
View File
@@ -154,7 +154,7 @@ jobs:
echo "tags=$tags" >> "$GITHUB_OUTPUT"
jq -r 'to_entries[] | "\(.key) \(.value)"' <<< "$tags" | while read -r tag release; do
for repository in ghcr.io/coollabsio/coolify docker.io/coollabsio/coolify; do
docker buildx imagetools create --tag "$repository:$tag" "$repository:${release#v}"
docker buildx imagetools create --tag "$repository:${tag#v}" "$repository:${release#v}"
done
done
latest="$(jq -r '.latest // empty' <<< "$tags")"
+2 -2
View File
@@ -78,7 +78,7 @@ read_versions() {
read_changes() {
local tag range hash subject
tag="$(git describe --tags --abbrev=0 --match "*v$stable" 2> /dev/null)" || true
tag="$(git describe --tags --abbrev=0 --match "v${UPSTREAM:+*-v}$stable" 2> /dev/null)" || true
range="${tag:+$tag..}HEAD"
required="patch"
if [ -n "$(git log -E --grep="$BREAKING_CHANGE" --format=%h "$range")" ]; then
@@ -195,7 +195,7 @@ artifact_version() {
}
release_tags() {
git tag --list "$@" | grep -E "^${UPSTREAM:+[^-]+-}v[0-9]+\.[0-9]+\.[0-9]+(-(alpha|beta|rc)\.[0-9]+)?$" || true
git tag --list "$@" | grep -E "^v${UPSTREAM:+[^-]+-v}[0-9]+\.[0-9]+\.[0-9]+(-(alpha|beta|rc)\.[0-9]+)?$" || true
}
tag_versions() {
+8 -7
View File
@@ -89,6 +89,7 @@ print_next_build() {
else
select_nightly_base
fi
[ -z "$UPSTREAM" ] || current_version="${current_version#*-v}"
build="$base.$(date -u +%Y%m%d)"
if [[ "$current_version" == "$build".* ]]; then
build+=".$((${current_version##*.} + 1))"
@@ -96,7 +97,7 @@ print_next_build() {
build+=".1"
fi
upstream_lines <(git show "$revision:$UPSTREAM_FILE") | while read -r name upstream; do
jq -nc --arg name "$name" --arg version "$upstream" --arg tag "${upstream:+$upstream-}v$build" '{$name, $version, $tag}'
jq -nc --arg name "$name" --arg version "$upstream" --arg tag "v${upstream:+$upstream-v}$build" '{$name, $version, $tag}'
done | jq -sc --arg branch "$branch" --arg revision "$revision" --arg image "$build" '{$branch, $revision, $image, lines: .}'
exit 0
}
@@ -175,7 +176,7 @@ select_releases() {
releases=
[ "$publish" = true ] || return 0
while read -r name sqlite; do
tag="${sqlite:+$sqlite-}v$version"
tag="v${sqlite:+$sqlite-v}$version"
if grep -qxF "$tag" <<< "$tags"; then
info "$tag is published"
continue
@@ -183,7 +184,7 @@ select_releases() {
previous=
while read -r older; do
! newer "$sqlite" "$older" || previous="$older"
done < <(with_version "$version" <<< "$tags" | sed -n 's/-v.*//p')
done < <(with_version "$version" <<< "$tags" | sed -nE 's/^v(.*)-v.*/\1/p')
added+="$tag"$'\n'
releases+="$(jq -nc --arg name "$name" --arg version "$sqlite" --arg image "$version" --arg tag "$tag" --arg previous "$previous" \
'{$name, $version, $image, $tag, $previous}')"$'\n'
@@ -288,8 +289,8 @@ moved_tags() {
moving_tags() {
local tags releases latest preview base image sqlite prefix seen=" "
tags="$(cat)"
releases="$(sed -nE 's/^((.*)-)?v([^-]*)$/\3 \2/p' <<< "$tags" | sort -k1,1rV -k2,2rV)"
latest="$(awk 'NR == 1 && NF { print ($2 == "" ? "" : $2 "-") "v" $1 }' <<< "$releases")"
releases="$(sed -nE 's/^v((.*)-v)?([^-]*)$/\3 \2/p' <<< "$tags" | sort -k1,1rV -k2,2rV)"
latest="$(awk 'NR == 1 && NF { print "v" ($2 == "" ? "" : $2 "-v") $1 }' <<< "$releases")"
preview="$latest"
while read -r base; do
if newer "$base" "${latest##*v}"; then
@@ -303,7 +304,7 @@ moving_tags() {
while read -r image sqlite; do
prefix="$sqlite"
while [ -n "$prefix" ] && [[ "$seen" != *" $prefix "* ]]; do
echo "$prefix $sqlite-v$image"
echo "$prefix v$sqlite-v$image"
seen+="$prefix "
[[ "$prefix" == *.* ]] || break
prefix="${prefix%.*}"
@@ -312,7 +313,7 @@ moving_tags() {
}
release_tags() {
git tag --list "$@" | grep -E "^${UPSTREAM:+[^-]+-}v[0-9]+\.[0-9]+\.[0-9]+(-(alpha|beta|rc)\.[0-9]+)?$" || true
git tag --list "$@" | grep -E "^v${UPSTREAM:+[^-]+-v}[0-9]+\.[0-9]+\.[0-9]+(-(alpha|beta|rc)\.[0-9]+)?$" || true
}
tag_versions() {