Skip to content

Commit 8fb6cbf

Browse files
committed
feat(typescript-node): updates release/nightly workflow
1 parent e24a69c commit 8fb6cbf

File tree

1 file changed

+29
-6
lines changed

1 file changed

+29
-6
lines changed

.github/workflows/typescript-node-release.yml

Lines changed: 29 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -96,16 +96,39 @@ jobs:
9696
LATEST_MAJOR=$(echo "$LATEST_CLEAN" | cut -d. -f1)
9797
fi
9898
99-
echo "New major: $NEW_MAJOR, Latest major: $LATEST_MAJOR"
99+
echo "Latest tag: $LATEST_CLEAN"
100100
101-
REFS="${{ vars.DOCKERHUB_USERNAME }}/${{ env.REPO }}:${{ env.NEW_TAG }}\nghcr.io/${{ github.repository_owner }}/${{ env.REPO }}:${{ env.NEW_TAG }}"
102-
if [ "$NEW_MAJOR" -gt "$LATEST_MAJOR" ]; then
103-
echo "Tagging as latest (major increased)"
104-
REFS="${REFS}\n${{ vars.DOCKERHUB_USERNAME }}/${{ env.REPO }}:latest\nghcr.io/${{ github.repository_owner }}/${{ env.REPO }}:latest"
101+
REF1="${{ vars.DOCKERHUB_USERNAME }}/${{ env.REPO }}:${{ env.NEW_TAG }}"
102+
REF2="ghcr.io/${{ github.repository_owner }}/${{ env.REPO }}:${{ env.NEW_TAG }}"
103+
104+
NEW_CLEAN="${{ env.NEW_TAG }}"
105+
106+
if [ -z "$LATEST_CLEAN" ]; then
107+
IS_GREATER=1
105108
else
106-
echo "Not tagging as latest (major not increased)"
109+
# strip leading 'v' from both
110+
N="${NEW_CLEAN#v}"
111+
L="${LATEST_CLEAN#v}"
112+
MAX=$(printf '%s\n%s\n' "$L" "$N" | sort -V | tail -n1)
113+
if [ "$MAX" = "$N" ] && [ "$N" != "$L" ]; then
114+
IS_GREATER=1
115+
else
116+
IS_GREATER=0
117+
fi
107118
fi
108119
120+
if [ "$IS_GREATER" -eq 1 ]; then
121+
echo "New version is greater than latest; tagging as latest"
122+
REF3="${{ vars.DOCKERHUB_USERNAME }}/${{ env.REPO }}:latest"
123+
REF4="ghcr.io/${{ github.repository_owner }}/${{ env.REPO }}:latest"
124+
REFS="$(printf '%s\n%s\n%s\n%s' "$REF1" "$REF2" "$REF3" "$REF4")"
125+
else
126+
echo "Not tagging as latest (new <= latest)"
127+
REFS="$(printf '%s\n%s' "$REF1" "$REF2")"
128+
fi
129+
130+
echo "Generating image references:\n$REFS"
131+
109132
echo "image_references<<EOF" >> $GITHUB_OUTPUT
110133
printf "%s\n" "$REFS" >> $GITHUB_OUTPUT
111134
echo "EOF" >> $GITHUB_OUTPUT

0 commit comments

Comments
 (0)