@@ -125,7 +125,7 @@ spec:
125125 value : $(params.sourceDataArtifact)
126126 - name : publish-index-image
127127 image : >-
128- quay.io/konflux-ci /release-service-utils@sha256:5546fa78d3c88d7b6a2e8cff8902f7757f00541d0bbaf113b9f293133894afa3
128+ quay.io/jluza /release-service-utils:RELEASE-1989
129129 computeResources :
130130 limits :
131131 memory : 512Mi
@@ -142,71 +142,15 @@ spec:
142142 exit 1
143143 fi
144144
145- request="publish-index-image-pipeline"
146145 credentials=$(jq -r '.fbc.publishingCredentials' "$DATA_FILE")
147- pipelinerun_label="internal-services.appstudio.openshift.io/pipelinerun-uid"
148146
149- LENGTH="$(jq -r '.components | length' "$(params.dataDir)/$(params.internalRequestResultsFile)")"
150- for((i=0; i<LENGTH; i++)); do
151- targetIndex=$(jq -r --argjson i "$i" \
152- '.components[$i].target_index' "$(params.dataDir)/$(params.internalRequestResultsFile)")
153-
154- sourceIndex=$(jq -r --argjson i "$i" \
155- '.components[$i].index_image' "$(params.dataDir)/$(params.internalRequestResultsFile)")
156-
157- buildTimestamp=$(jq -r --argjson i "$i" '.components[$i].completion_time' \
158- "$(params.dataDir)/$(params.internalRequestResultsFile)")
159-
160- publishingImages=("$targetIndex")
161- # only publish the extra timestamp-based tag if the targetIndex does not have it already
162- if [[ ! "$targetIndex" =~ .*"$buildTimestamp"$ ]]; then
163- publishingImages+=("${targetIndex}-${buildTimestamp}")
164- fi
165-
166- requestTimeout=$(params.requestTimeout)
167- pipelineTimeoutSeconds=$((requestTimeout+300))
168- pipelineTimeout=$(date -u -d @"${pipelineTimeoutSeconds}" +"%Hh%Mm%Ss")
169- taskTimeout=$(date -u -d @"${requestTimeout}" +"%Hh%Mm%Ss")
170-
171- IR_RESULT_FILE=$(mktemp)
172-
173- for((x=0; x<${#publishingImages[@]}; x++ )); do
174- echo "=== Creating internal request to publish image:"
175- echo ""
176- echo "- from: ${sourceIndex}"
177- echo "- to: ${publishingImages[$x]}"
178-
179- internal-request --pipeline "${request}" \
180- -p sourceIndex="${sourceIndex}" \
181- -p targetIndex="${publishingImages[$x]}" \
182- -p publishingCredentials="${credentials}" \
183- -p retries="$(params.retries)" \
184- -p taskGitUrl="$(params.taskGitUrl)" \
185- -p taskGitRevision="$(params.taskGitRevision)" \
186- -t "$(params.requestTimeout)" \
187- --pipeline-timeout "${pipelineTimeout}" \
188- --task-timeout "$taskTimeout" \
189- -l ${pipelinerun_label}="$(params.pipelineRunUid)" \
190- | tee "$IR_RESULT_FILE" || \
191- (grep "^\[" "$IR_RESULT_FILE" | jq . && exit 1)
192-
193- internalRequest=$(awk -F"'" '/created/ { print $2 }' "$IR_RESULT_FILE")
194- echo "done (${internalRequest})"
195-
196- results=$(kubectl get internalrequest "${internalRequest}" -o=jsonpath='{.status.results}')
197- requestMessage=$(echo "${results}" | jq -r '.requestMessage // ""')
198-
199- if echo "${requestMessage}" | grep -qi "error"; then
200- echo "ERROR: Publish to ${publishingImages[$x]} failed"
201- echo "requestMessage: ${requestMessage}"
202- exit 1
203- fi
204- echo "=== published successfully (${publishingImages[$x]})"
205-
206- echo ""
207- echo ""
208- done
209- done
147+ python3 -m managed_publish_index_image \
148+ --request-timeout "$(params.requestTimeout)" \
149+ --retries "$(params.retries)" \
150+ --task-git-url "$(params.taskGitUrl)" \
151+ --task-git-revision "$(params.taskGitRevision)" \
152+ --pipeline-run-id "$(params.pipelineRunUid)" \
153+ --ir-results-file "$(params.dataDir)/$(params.internalRequestResultsFile)"
210154 - name : create-trusted-artifact
211155 computeResources :
212156 limits :
0 commit comments