Skip to content

Commit 0b730a3

Browse files
committed
wip
1 parent 6f5716a commit 0b730a3

14 files changed

Lines changed: 944 additions & 36 deletions

.github/ci_templates/steps.yml

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -210,14 +210,39 @@
210210
echo "::error title=WERF version::WERF_VERSION is not set. Run read_werf_version_step before werf_install_step."
211211
exit 1
212212
fi
213+
MINIMAL_DDK_VERSION="v2.62.1"
214+
if [[ ${MINIMAL_DDK_VERSION} =~ v([0-9]+)\.([0-9]+)\.([0-9]+) ]]; then
215+
minimal_ddk_major=${BASH_REMATCH[1]}
216+
minimal_ddk_minor=${BASH_REMATCH[2]}
217+
minimal_ddk_patch=${BASH_REMATCH[3]}
218+
fi
219+
if [[ ${WERF_VERSION} =~ v([0-9]+)\.([0-9]+)\.([0-9]+) ]]; then
220+
werf_current_major=${BASH_REMATCH[1]}
221+
werf_current_minor=${BASH_REMATCH[2]}
222+
werf_current_patch=${BASH_REMATCH[3]}
223+
fi
224+
if (( werf_current_major > minimal_ddk_major )); then
225+
werf_fallback=false
226+
elif (( werf_current_minor > minimal_ddk_minor && werf_current_major == minimal_ddk_major )); then
227+
werf_fallback=false
228+
elif (( werf_current_patch >= minimal_ddk_patch && werf_current_minor == minimal_ddk_minor && werf_current_major == minimal_ddk_major )); then
229+
werf_fallback=false
230+
else
231+
werf_fallback=true
232+
fi
213233
WERF_PATH="$RUNNER_TOOL_CACHE/werf-dk/${WERF_VERSION}-dk"
214234
echo "$WERF_PATH" >> "$GITHUB_PATH"
215235
CACHED_VERSION=$($WERF_PATH/werf version | tr -d '\n')
216-
if [[ "${WERF_VERSION}-dk" != "$CACHED_VERSION" ]]; then
236+
if [[ "${WERF_VERSION}-dk" != "$CACHED_VERSION" && $werf_fallback == "false" ]]; then
217237
echo "Current werf is $CACHED_VERSION, downloading ${WERF_VERSION}-dk";
218238
mkdir -p "$WERF_PATH"
219239
curl -Lsfo "$WERF_PATH/werf" https://github.com/deckhouse/delivery-kit/releases/download/${WERF_VERSION}-dk/werf
220240
chmod +x "$WERF_PATH/werf"
241+
elif [[ "${WERF_VERSION}-dk" != "$CACHED_VERSION" && $werf_fallback == "true" ]]; then
242+
echo "Current werf is $CACHED_VERSION, fallback to ${WERF_VERSION}";
243+
mkdir -p "$WERF_PATH"
244+
curl -Lsfo "$WERF_PATH/werf" https://tuf.werf.io/targets/releases/${WERF_VERSION#v}/linux-amd64/bin/werf
245+
chmod +x "$WERF_PATH/werf"
221246
else
222247
echo "Current werf is $CACHED_VERSION, skipping download"
223248
fi

.github/workflow_templates/build-and-test_dev.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ permissions:
3535
contents: read
3636
id-token: write
3737
pull-requests: read
38+
packages: read
3839

3940
jobs:
4041
{!{ tmpl.Exec "pull_request_info_job" $ctx | strings.Indent 2 }!}

.github/workflow_templates/build-and-test_main.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ permissions:
3434
contents: read
3535
id-token: write
3636
pull-requests: read
37+
packages: read
3738

3839
jobs:
3940
{!{ tmpl.Exec "git_info_job" $ctx | strings.Indent 2 }!}

.github/workflow_templates/build-and-test_pre-release.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ permissions:
3434
contents: read
3535
id-token: write
3636
pull-requests: read
37+
packages: read
3738

3839
jobs:
3940
{!{ tmpl.Exec "git_info_job" $ctx | strings.Indent 2 }!}

.github/workflow_templates/build-and-test_release.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ permissions:
5151
contents: read
5252
id-token: write
5353
pull-requests: read
54+
packages: read
5455

5556
jobs:
5657
{!{ tmpl.Exec "git_info_job" $ctx | strings.Indent 2 }!}

.github/workflows/build-and-test_dev.yml

Lines changed: 235 additions & 9 deletions
Large diffs are not rendered by default.

.github/workflows/build-and-test_main.yml

Lines changed: 105 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ permissions:
5151
contents: read
5252
id-token: write
5353
pull-requests: read
54+
packages: read
5455

5556
jobs:
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

Comments
 (0)