1+ #! /bin/bash
2+ set -o errexit
3+ set -o nounset
4+ set -o pipefail
5+
6+ prerelease_namespace () {
7+
8+ TIMESTAMP=$( date +" %Y%m%d%H%M%S" )
9+
10+ # Update version in dogu.json
11+ if [ -f " dogu.json" ]; then
12+ echo " Updating name in dogu.json..."
13+ ORIG_NAME=" $( jq -r " .Name" ./dogu.json) "
14+ ORIG_VERSION=" $( jq -r " .Version" ./dogu.json) "
15+ PRERELEASE_NAME=" prerelease_${ORIG_NAME} "
16+ PRERELEASE_VERSION=" ${ORIG_VERSION}${TIMESTAMP} "
17+ jq " .Name = \" ${PRERELEASE_NAME} \" " dogu.json > dogu2.json && mv dogu2.json dogu.json
18+ jq " .Version = \" ${PRERELEASE_VERSION} \" " dogu.json > dogu2.json && mv dogu2.json dogu.json
19+ jq " .Image = \" registry.cloudogu.com/${PRERELEASE_NAME} \" " dogu.json > dogu2.json && mv dogu2.json dogu.json
20+ fi
21+
22+ # Update version in Dockerfile
23+ if [ -f " Dockerfile" ]; then
24+ echo " Updating version in Dockerfile..."
25+ LABEL_BLOCK=$( sed -n ' /^LABEL[[:space:]]/ {N; /NAME=".*"/ {N; /VERSION=".*"/ {p}}}' Dockerfile)
26+
27+ # Extract NAME and VERSION from the LABEL block
28+ ORIG_NAME=$( echo " $LABEL_BLOCK " | sed -n ' s/.*NAME="\([^"]*\)".*/\1/p' )
29+ ORIG_VERSION=$( echo " $LABEL_BLOCK " | sed -n ' s/.*VERSION="\([^"]*\)".*/\1/p' )
30+
31+ # Output the extracted values for debugging
32+ echo " ORIG_NAME Dockerfile: ${ORIG_NAME} "
33+ echo " ORIG_VERSION Dockerfile: ${ORIG_VERSION} "
34+
35+ # Prepare prerelease name and version
36+ PRERELEASE_NAME=" prerelease_$( echo -e " $ORIG_NAME " | sed ' s/\//\\\//g' ) "
37+ PRERELEASE_VERSION=" ${ORIG_VERSION}${TIMESTAMP} "
38+
39+ # Output the new values for debugging
40+ echo " PRERELEASE_NAME Dockerfile: ${PRERELEASE_NAME} "
41+ echo " PRERELEASE_VERSION Dockerfile: ${PRERELEASE_VERSION} "
42+
43+ # Only replace NAME= and VERSION= and only inside the LABEL block
44+ # This assumes LABEL block is between 'LABEL' and first non-indented line
45+ sed -i ' /^LABEL/,/^[^[:space:]]/ {
46+ s/\(NAME="\)[^"]*\("\)/\1' " ${PRERELEASE_NAME} " ' \2/
47+ s/\(VERSION="\)[^"]*\("\)/\1' " ${PRERELEASE_VERSION} " ' \2/
48+ }' Dockerfile
49+ fi
50+
51+ }
52+
53+
54+ TYPE=" ${1} "
55+
56+ echo ${TYPE}
57+ if [[ " ${TYPE} " == " prerelease_namespace" ]]; then
58+ prerelease_namespace
59+ fi
0 commit comments