@@ -51,6 +51,7 @@ permissions:
5151 contents : read
5252 id-token : write
5353 pull-requests : read
54+ packages : read
5455
5556jobs :
5657
@@ -247,14 +248,39 @@ jobs:
247248 echo "::error title=WERF version::WERF_VERSION is not set. Run read_werf_version_step before werf_install_step."
248249 exit 1
249250 fi
251+ MINIMAL_DDK_VERSION="v2.62.1"
252+ if [[ ${MINIMAL_DDK_VERSION} =~ v([0-9]+)\.([0-9]+)\.([0-9]+) ]]; then
253+ minimal_ddk_major=${BASH_REMATCH[1]}
254+ minimal_ddk_minor=${BASH_REMATCH[2]}
255+ minimal_ddk_patch=${BASH_REMATCH[3]}
256+ fi
257+ if [[ ${WERF_VERSION} =~ v([0-9]+)\.([0-9]+)\.([0-9]+) ]]; then
258+ werf_current_major=${BASH_REMATCH[1]}
259+ werf_current_minor=${BASH_REMATCH[2]}
260+ werf_current_patch=${BASH_REMATCH[3]}
261+ fi
262+ if (( werf_current_major > minimal_ddk_major )); then
263+ werf_fallback=false
264+ elif (( werf_current_minor > minimal_ddk_minor && werf_current_major == minimal_ddk_major )); then
265+ werf_fallback=false
266+ elif (( werf_current_patch >= minimal_ddk_patch && werf_current_minor == minimal_ddk_minor && werf_current_major == minimal_ddk_major )); then
267+ werf_fallback=false
268+ else
269+ werf_fallback=true
270+ fi
250271 WERF_PATH="$RUNNER_TOOL_CACHE/werf-dk/${WERF_VERSION}-dk"
251272 echo "$WERF_PATH" >> "$GITHUB_PATH"
252273 CACHED_VERSION=$($WERF_PATH/werf version | tr -d '\n')
253- if [[ "${WERF_VERSION}-dk" != "$CACHED_VERSION" ]]; then
274+ if [[ "${WERF_VERSION}-dk" != "$CACHED_VERSION" && $werf_fallback == "false" ]]; then
254275 echo "Current werf is $CACHED_VERSION, downloading ${WERF_VERSION}-dk";
255276 mkdir -p "$WERF_PATH"
256277 curl -Lsfo "$WERF_PATH/werf" https://github.com/deckhouse/delivery-kit/releases/download/${WERF_VERSION}-dk/werf
257278 chmod +x "$WERF_PATH/werf"
279+ elif [[ "${WERF_VERSION}-dk" != "$CACHED_VERSION" && $werf_fallback == "true" ]]; then
280+ echo "Current werf is $CACHED_VERSION, fallback to ${WERF_VERSION}";
281+ mkdir -p "$WERF_PATH"
282+ curl -Lsfo "$WERF_PATH/werf" https://tuf.werf.io/targets/releases/${WERF_VERSION#v}/linux-amd64/bin/werf
283+ chmod +x "$WERF_PATH/werf"
258284 else
259285 echo "Current werf is $CACHED_VERSION, skipping download"
260286 fi
@@ -629,14 +655,39 @@ jobs:
629655 echo "::error title=WERF version::WERF_VERSION is not set. Run read_werf_version_step before werf_install_step."
630656 exit 1
631657 fi
658+ MINIMAL_DDK_VERSION="v2.62.1"
659+ if [[ ${MINIMAL_DDK_VERSION} =~ v([0-9]+)\.([0-9]+)\.([0-9]+) ]]; then
660+ minimal_ddk_major=${BASH_REMATCH[1]}
661+ minimal_ddk_minor=${BASH_REMATCH[2]}
662+ minimal_ddk_patch=${BASH_REMATCH[3]}
663+ fi
664+ if [[ ${WERF_VERSION} =~ v([0-9]+)\.([0-9]+)\.([0-9]+) ]]; then
665+ werf_current_major=${BASH_REMATCH[1]}
666+ werf_current_minor=${BASH_REMATCH[2]}
667+ werf_current_patch=${BASH_REMATCH[3]}
668+ fi
669+ if (( werf_current_major > minimal_ddk_major )); then
670+ werf_fallback=false
671+ elif (( werf_current_minor > minimal_ddk_minor && werf_current_major == minimal_ddk_major )); then
672+ werf_fallback=false
673+ elif (( werf_current_patch >= minimal_ddk_patch && werf_current_minor == minimal_ddk_minor && werf_current_major == minimal_ddk_major )); then
674+ werf_fallback=false
675+ else
676+ werf_fallback=true
677+ fi
632678 WERF_PATH="$RUNNER_TOOL_CACHE/werf-dk/${WERF_VERSION}-dk"
633679 echo "$WERF_PATH" >> "$GITHUB_PATH"
634680 CACHED_VERSION=$($WERF_PATH/werf version | tr -d '\n')
635- if [[ "${WERF_VERSION}-dk" != "$CACHED_VERSION" ]]; then
681+ if [[ "${WERF_VERSION}-dk" != "$CACHED_VERSION" && $werf_fallback == "false" ]]; then
636682 echo "Current werf is $CACHED_VERSION, downloading ${WERF_VERSION}-dk";
637683 mkdir -p "$WERF_PATH"
638684 curl -Lsfo "$WERF_PATH/werf" https://github.com/deckhouse/delivery-kit/releases/download/${WERF_VERSION}-dk/werf
639685 chmod +x "$WERF_PATH/werf"
686+ elif [[ "${WERF_VERSION}-dk" != "$CACHED_VERSION" && $werf_fallback == "true" ]]; then
687+ echo "Current werf is $CACHED_VERSION, fallback to ${WERF_VERSION}";
688+ mkdir -p "$WERF_PATH"
689+ curl -Lsfo "$WERF_PATH/werf" https://tuf.werf.io/targets/releases/${WERF_VERSION#v}/linux-amd64/bin/werf
690+ chmod +x "$WERF_PATH/werf"
640691 else
641692 echo "Current werf is $CACHED_VERSION, skipping download"
642693 fi
@@ -793,14 +844,39 @@ jobs:
793844 echo "::error title=WERF version::WERF_VERSION is not set. Run read_werf_version_step before werf_install_step."
794845 exit 1
795846 fi
847+ MINIMAL_DDK_VERSION="v2.62.1"
848+ if [[ ${MINIMAL_DDK_VERSION} =~ v([0-9]+)\.([0-9]+)\.([0-9]+) ]]; then
849+ minimal_ddk_major=${BASH_REMATCH[1]}
850+ minimal_ddk_minor=${BASH_REMATCH[2]}
851+ minimal_ddk_patch=${BASH_REMATCH[3]}
852+ fi
853+ if [[ ${WERF_VERSION} =~ v([0-9]+)\.([0-9]+)\.([0-9]+) ]]; then
854+ werf_current_major=${BASH_REMATCH[1]}
855+ werf_current_minor=${BASH_REMATCH[2]}
856+ werf_current_patch=${BASH_REMATCH[3]}
857+ fi
858+ if (( werf_current_major > minimal_ddk_major )); then
859+ werf_fallback=false
860+ elif (( werf_current_minor > minimal_ddk_minor && werf_current_major == minimal_ddk_major )); then
861+ werf_fallback=false
862+ elif (( werf_current_patch >= minimal_ddk_patch && werf_current_minor == minimal_ddk_minor && werf_current_major == minimal_ddk_major )); then
863+ werf_fallback=false
864+ else
865+ werf_fallback=true
866+ fi
796867 WERF_PATH="$RUNNER_TOOL_CACHE/werf-dk/${WERF_VERSION}-dk"
797868 echo "$WERF_PATH" >> "$GITHUB_PATH"
798869 CACHED_VERSION=$($WERF_PATH/werf version | tr -d '\n')
799- if [[ "${WERF_VERSION}-dk" != "$CACHED_VERSION" ]]; then
870+ if [[ "${WERF_VERSION}-dk" != "$CACHED_VERSION" && $werf_fallback == "false" ]]; then
800871 echo "Current werf is $CACHED_VERSION, downloading ${WERF_VERSION}-dk";
801872 mkdir -p "$WERF_PATH"
802873 curl -Lsfo "$WERF_PATH/werf" https://github.com/deckhouse/delivery-kit/releases/download/${WERF_VERSION}-dk/werf
803874 chmod +x "$WERF_PATH/werf"
875+ elif [[ "${WERF_VERSION}-dk" != "$CACHED_VERSION" && $werf_fallback == "true" ]]; then
876+ echo "Current werf is $CACHED_VERSION, fallback to ${WERF_VERSION}";
877+ mkdir -p "$WERF_PATH"
878+ curl -Lsfo "$WERF_PATH/werf" https://tuf.werf.io/targets/releases/${WERF_VERSION#v}/linux-amd64/bin/werf
879+ chmod +x "$WERF_PATH/werf"
804880 else
805881 echo "Current werf is $CACHED_VERSION, skipping download"
806882 fi
@@ -1842,14 +1918,39 @@ jobs:
18421918 echo "::error title=WERF version::WERF_VERSION is not set. Run read_werf_version_step before werf_install_step."
18431919 exit 1
18441920 fi
1921+ MINIMAL_DDK_VERSION="v2.62.1"
1922+ if [[ ${MINIMAL_DDK_VERSION} =~ v([0-9]+)\.([0-9]+)\.([0-9]+) ]]; then
1923+ minimal_ddk_major=${BASH_REMATCH[1]}
1924+ minimal_ddk_minor=${BASH_REMATCH[2]}
1925+ minimal_ddk_patch=${BASH_REMATCH[3]}
1926+ fi
1927+ if [[ ${WERF_VERSION} =~ v([0-9]+)\.([0-9]+)\.([0-9]+) ]]; then
1928+ werf_current_major=${BASH_REMATCH[1]}
1929+ werf_current_minor=${BASH_REMATCH[2]}
1930+ werf_current_patch=${BASH_REMATCH[3]}
1931+ fi
1932+ if (( werf_current_major > minimal_ddk_major )); then
1933+ werf_fallback=false
1934+ elif (( werf_current_minor > minimal_ddk_minor && werf_current_major == minimal_ddk_major )); then
1935+ werf_fallback=false
1936+ elif (( werf_current_patch >= minimal_ddk_patch && werf_current_minor == minimal_ddk_minor && werf_current_major == minimal_ddk_major )); then
1937+ werf_fallback=false
1938+ else
1939+ werf_fallback=true
1940+ fi
18451941 WERF_PATH="$RUNNER_TOOL_CACHE/werf-dk/${WERF_VERSION}-dk"
18461942 echo "$WERF_PATH" >> "$GITHUB_PATH"
18471943 CACHED_VERSION=$($WERF_PATH/werf version | tr -d '\n')
1848- if [[ "${WERF_VERSION}-dk" != "$CACHED_VERSION" ]]; then
1944+ if [[ "${WERF_VERSION}-dk" != "$CACHED_VERSION" && $werf_fallback == "false" ]]; then
18491945 echo "Current werf is $CACHED_VERSION, downloading ${WERF_VERSION}-dk";
18501946 mkdir -p "$WERF_PATH"
18511947 curl -Lsfo "$WERF_PATH/werf" https://github.com/deckhouse/delivery-kit/releases/download/${WERF_VERSION}-dk/werf
18521948 chmod +x "$WERF_PATH/werf"
1949+ elif [[ "${WERF_VERSION}-dk" != "$CACHED_VERSION" && $werf_fallback == "true" ]]; then
1950+ echo "Current werf is $CACHED_VERSION, fallback to ${WERF_VERSION}";
1951+ mkdir -p "$WERF_PATH"
1952+ curl -Lsfo "$WERF_PATH/werf" https://tuf.werf.io/targets/releases/${WERF_VERSION#v}/linux-amd64/bin/werf
1953+ chmod +x "$WERF_PATH/werf"
18531954 else
18541955 echo "Current werf is $CACHED_VERSION, skipping download"
18551956 fi
0 commit comments