@@ -67,41 +67,61 @@ jobs:
67
67
68
68
- name : Update the param.env file
69
69
run : |
70
- echo Latest commit is: ${{ steps.hash-n.outputs.HASH_N }} on ${{ env.RELEASE_VERSION_N}}
71
- IMAGES=$(cat manifests/base/params.env | grep "\-n=" | cut -d "=" -f 1)
70
+ PARAMS_ENV_PATH="manifests/base/params.env"
71
+
72
+ echo Latest commit is: ${{ steps.hash-n.outputs.HASH_N }} on ${{ env.RELEASE_VERSION_N }}
73
+
74
+ # Get the complete list of images N-version to update
75
+ IMAGES=$(cat "${PARAMS_ENV_PATH}" | grep "\-n=" | cut -d "=" -f 1)
72
76
73
77
for image in ${IMAGES}; do
74
78
echo "CHECKING: '${image}'"
75
- img=$(cat manifests/base/params.env | grep -E "${image}=" | cut -d '=' -f2)
76
- registry=$(echo $img | cut -d '@' -f1)
77
- src_tag=$(skopeo inspect docker://$img | jq '.Env[] | select(startswith("OPENSHIFT_BUILD_NAME=")) | split("=")[1]' | tr -d '"' | sed 's/-amd64$//')
79
+ img=$(grep -E "${image}=" "${PARAMS_ENV_PATH}" | cut -d '=' -f2)
80
+ registry=$(echo "${img}" | cut -d '@' -f1)
81
+
82
+ skopeo_metadata=$(skopeo inspect --retry-times 3 "docker://${img}")
83
+
84
+ src_tag=$(echo "${skopeo_metadata}" | jq '.Env[] | select(startswith("OPENSHIFT_BUILD_NAME=")) | split("=")[1]' | tr -d '"' | sed 's/-amd64$//')
78
85
regex="^$src_tag-${{ env.RELEASE_VERSION_N}}-\d+-${{ steps.hash-n.outputs.HASH_N }}\$"
79
- latest_tag=$(skopeo inspect docker://$img | jq -r --arg regex "$regex" '.RepoTags | map(select(. | test($regex))) | .[0]')
80
- digest=$(skopeo inspect docker://$registry:$latest_tag | jq .Digest | tr -d '"')
81
- output=$registry@$digest
82
- echo "NEW:" $output
83
- sed -i "s|${image}=.*|${image}=$output|" manifests/base/params.env
86
+ latest_tag=$(echo "${skopeo_metadata}" | jq -r --arg regex "$regex" '.RepoTags | map(select(. | test($regex))) | .[0]')
87
+ # use `--no-tags` for skopeo once available in newer version
88
+ digest=$(skopeo inspect --retry-times 3 "docker://${registry}:${latest_tag}" | jq .Digest | tr -d '"')
89
+ output="${registry}@${digest}"
90
+ echo "NEW: ${output}"
91
+ sed -i "s|${image}=.*|${image}=${output}|" "${PARAMS_ENV_PATH}"
84
92
done
93
+
85
94
if [[ $(git status --porcelain | wc -l) -gt 0 ]]; then
86
- git fetch origin ${{ env.DIGEST_UPDATER_BRANCH }} && git pull origin ${{ env.DIGEST_UPDATER_BRANCH }} && git add manifests/base/params.env && git commit -m "Update images for release N via ${{ env.DIGEST_UPDATER_BRANCH }} GitHub action" && git push origin ${{ env.DIGEST_UPDATER_BRANCH }}
95
+ git fetch origin ${{ env.DIGEST_UPDATER_BRANCH }} && \
96
+ git pull origin ${{ env.DIGEST_UPDATER_BRANCH }} && \
97
+ git add "${PARAMS_ENV_PATH}" && \
98
+ git commit -m "Update images for release N via ${{ env.DIGEST_UPDATER_BRANCH }} GitHub action" && \
99
+ git push origin ${{ env.DIGEST_UPDATER_BRANCH }}
87
100
else
88
- echo "There were no changes detected in the images for the ${{ env.RELEASE_VERSION_N}}"
101
+ echo "There were no changes detected in the images for the ${{ env.RELEASE_VERSION_N }}"
89
102
fi
90
103
91
104
- name : Update the commit.env file
92
105
run : |
93
- echo Latest commit is: ${{ steps.hash-n.outputs.HASH_N }} on ${{ env.RELEASE_VERSION_N}}
106
+ COMMIT_ENV_PATH="manifests/base/commit.env"
107
+
108
+ echo Latest commit is: ${{ steps.hash-n.outputs.HASH_N }} on ${{ env.RELEASE_VERSION_N }}
94
109
# Get the complete list of images N-1-version to update
95
- COMMIT=$(cat manifests/base/commit.env | grep "\-n=" | cut -d "=" -f 1)
110
+ COMMIT=$(grep "\-n=" "${COMMIT_ENV_PATH} " | cut -d "=" -f 1)
96
111
97
112
for val in ${COMMIT}; do
98
- echo $ val
99
- sed -i "s|${val}=.*|${val}=${{ steps.hash-n.outputs.HASH_N }}|" manifests/base/commit.env
113
+ echo "${ val}"
114
+ sed -i "s|${val}=.*|${val}=${{ steps.hash-n.outputs.HASH_N }}|" "${COMMIT_ENV_PATH}"
100
115
done
116
+
101
117
if [[ $(git status --porcelain | wc -l) -gt 0 ]]; then
102
- git fetch origin ${{ env.DIGEST_UPDATER_BRANCH }} && git pull origin ${{ env.DIGEST_UPDATER_BRANCH }} && git add manifests/base/commit.env && git commit -m "Update image commits for release N via ${{ env.DIGEST_UPDATER_BRANCH }} GitHub action" && git push origin ${{ env.DIGEST_UPDATER_BRANCH }}
118
+ git fetch origin ${{ env.DIGEST_UPDATER_BRANCH }} && \
119
+ git pull origin ${{ env.DIGEST_UPDATER_BRANCH }} && \
120
+ git add "${COMMIT_ENV_PATH}" && \
121
+ git commit -m "Update image commits for release N via ${{ env.DIGEST_UPDATER_BRANCH }} GitHub action" && \
122
+ git push origin ${{ env.DIGEST_UPDATER_BRANCH }}
103
123
else
104
- echo "There were no changes detected in the images for the ${{ env.RELEASE_VERSION_N}}"
124
+ echo "There were no changes detected in the images for the ${{ env.RELEASE_VERSION_N }}"
105
125
fi
106
126
107
127
update-n-1-version :
@@ -131,40 +151,61 @@ jobs:
131
151
132
152
- name : Update the param.env file
133
153
run : |
134
- echo Latest commit is: ${{ steps.hash-n-1.outputs.HASH_N_1 }} on ${{ env.RELEASE_VERSION_N_1}}
135
- IMAGES=$(cat manifests/base/params.env | grep "\-n-1=" | cut -d "=" -f 1)
154
+ PARAMS_ENV_PATH="manifests/base/params.env"
155
+
156
+ echo Latest commit is: ${{ steps.hash-n-1.outputs.HASH_N_1 }} on ${{ env.RELEASE_VERSION_N_1 }}
157
+
158
+ # Get the complete list of images N-1-version to update
159
+ IMAGES=$(cat "${PARAMS_ENV_PATH}" | grep "\-n-1=" | cut -d "=" -f 1)
136
160
137
161
for image in ${IMAGES}; do
138
162
echo "CHECKING: '${image}'"
139
- img=$(cat manifests/base/params.env | grep -E "${image}=" | cut -d '=' -f2)
140
- registry=$(echo $img | cut -d '@' -f1)
141
- src_tag=$(skopeo inspect docker://$img | jq '.Env[] | select(startswith("OPENSHIFT_BUILD_NAME=")) | split("=")[1]' | tr -d '"' | sed 's/-amd64$//')
163
+ img=$(grep -E "${image}=" "${PARAMS_ENV_PATH}" | cut -d '=' -f2)
164
+ registry=$(echo "${img}" | cut -d '@' -f1)
165
+
166
+ skopeo_metadata=$(skopeo inspect --retry-times 3 "docker://${img}")
167
+
168
+ src_tag=$(echo "${skopeo_metadata}" | jq '.Env[] | select(startswith("OPENSHIFT_BUILD_NAME=")) | split("=")[1]' | tr -d '"' | sed 's/-amd64$//')
142
169
regex="^$src_tag-${{ env.RELEASE_VERSION_N_1}}-\d+-${{ steps.hash-n-1.outputs.HASH_N_1 }}\$"
143
- latest_tag=$(skopeo inspect docker://$img | jq -r --arg regex "$regex" '.RepoTags | map(select(. | test($regex))) | .[0]')
144
- digest=$(skopeo inspect docker://$registry:$latest_tag | jq .Digest | tr -d '"')
145
- output=$registry@$digest
146
- echo "NEW:" $output
147
- sed -i "s|${image}=.*|${image}=$output|" manifests/base/params.env
170
+ latest_tag=$(echo "${skopeo_metadata}" | jq -r --arg regex "$regex" '.RepoTags | map(select(. | test($regex))) | .[0]')
171
+ # use `--no-tags` for skopeo once available in newer version
172
+ digest=$(skopeo inspect --retry-times 3 "docker://${registry}:${latest_tag}" | jq .Digest | tr -d '"')
173
+ output="${registry}@${digest}"
174
+ echo "NEW: ${output}"
175
+ sed -i "s|${image}=.*|${image}=${output}|" "${PARAMS_ENV_PATH}"
148
176
done
177
+
149
178
if [[ $(git status --porcelain | wc -l) -gt 0 ]]; then
150
- git fetch origin ${{ env.DIGEST_UPDATER_BRANCH }} && git pull origin ${{ env.DIGEST_UPDATER_BRANCH }} && git add manifests/base/params.env && git commit -m "Update images for release N-1 via ${{ env.DIGEST_UPDATER_BRANCH }} GitHub action" && git push origin ${{ env.DIGEST_UPDATER_BRANCH }}
179
+ git fetch origin ${{ env.DIGEST_UPDATER_BRANCH }} && \
180
+ git pull origin ${{ env.DIGEST_UPDATER_BRANCH }} && \
181
+ git add "${PARAMS_ENV_PATH}" && \
182
+ git commit -m "Update images for release N-1 via ${{ env.DIGEST_UPDATER_BRANCH }} GitHub action" && \
183
+ git push origin ${{ env.DIGEST_UPDATER_BRANCH }}
151
184
else
152
- echo "There were no changes detected in the images for the ${{ env.RELEASE_VERSION_N_1}}"
185
+ echo "There were no changes detected in the images for the ${{ env.RELEASE_VERSION_N_1 }}"
153
186
fi
187
+
154
188
- name : Update the commit.env file
155
189
run : |
156
- echo Latest commit is: ${{ steps.hash-n-1.outputs.HASH_N_1 }} on ${{ env.RELEASE_VERSION_N_1}}
190
+ COMMIT_ENV_PATH="manifests/base/commit.env"
191
+
192
+ echo Latest commit is: ${{ steps.hash-n-1.outputs.HASH_N_1 }} on ${{ env.RELEASE_VERSION_N_1 }}
157
193
# Get the complete list of images N-1-version to update
158
- COMMIT=$(cat manifests/base/commit.env | grep "\-n-1=" | cut -d "=" -f 1)
194
+ COMMIT=$(grep "\-n-1=" "${COMMIT_ENV_PATH} " | cut -d "=" -f 1)
159
195
160
196
for val in ${COMMIT}; do
161
- echo $ val
162
- sed -i "s|${val}=.*|${val}=${{ steps.hash-n-1.outputs.HASH_N_1 }}|" manifests/base/commit.env
197
+ echo "${ val}"
198
+ sed -i "s|${val}=.*|${val}=${{ steps.hash-n-1.outputs.HASH_N_1 }}|" "${COMMIT_ENV_PATH}"
163
199
done
200
+
164
201
if [[ $(git status --porcelain | wc -l) -gt 0 ]]; then
165
- git fetch origin ${{ env.DIGEST_UPDATER_BRANCH }} && git pull origin ${{ env.DIGEST_UPDATER_BRANCH }} && git add manifests/base/commit.env && git commit -m "Update image commits for release N via ${{ env.DIGEST_UPDATER_BRANCH }} GitHub action" && git push origin ${{ env.DIGEST_UPDATER_BRANCH }}
202
+ git fetch origin ${{ env.DIGEST_UPDATER_BRANCH }} && \
203
+ git pull origin ${{ env.DIGEST_UPDATER_BRANCH }} && \
204
+ git add "${COMMIT_ENV_PATH}" && \
205
+ git commit -m "Update image commits for release N via ${{ env.DIGEST_UPDATER_BRANCH }} GitHub action" && \
206
+ git push origin ${{ env.DIGEST_UPDATER_BRANCH }}
166
207
else
167
- echo "There were no changes detected in the images for the ${{ env.RELEASE_VERSION_N}}"
208
+ echo "There were no changes detected in the images for the ${{ env.RELEASE_VERSION_N }}"
168
209
fi
169
210
170
211
open-pull-request :
0 commit comments