+ echo -n 1585ea3e-df53-4e11-8f83-da12a18c81ed + RESULTS_DIR_PATH=results + '[' -n 1585ea3e-df53-4e11-8f83-da12a18c81ed ']' + mkdir -p /var/workdir/release/1585ea3e-df53-4e11-8f83-da12a18c81ed + RESULTS_DIR_PATH=1585ea3e-df53-4e11-8f83-da12a18c81ed/results + mkdir -p /var/workdir/release/1585ea3e-df53-4e11-8f83-da12a18c81ed/results + echo -n 1585ea3e-df53-4e11-8f83-da12a18c81ed/results + RELEASE_PATH=1585ea3e-df53-4e11-8f83-da12a18c81ed/release.json + echo -n 1585ea3e-df53-4e11-8f83-da12a18c81ed/release.json + get-resource release ex-registry-sh-8eb00540/snapshot-sample-8eb00540-ljgzw + tee /var/workdir/release/1585ea3e-df53-4e11-8f83-da12a18c81ed/release.json { "apiVersion": "appstudio.redhat.com/v1alpha1", "kind": "Release", "metadata": { "creationTimestamp": "2026-08-18T19:41:25Z", "finalizers": [ "appstudio.redhat.com/release-finalizer" ], "generateName": "snapshot-sample-8eb00540-", "generation": 1, "labels": { "appstudio.openshift.io/application": "appstudio", "appstudio.openshift.io/component": "dc-metro-map", "pac.test.appstudio.openshift.io/event-type": "push", "release.appstudio.openshift.io/automated": "true", "release.appstudio.openshift.io/releasePlan": "source-releaseplan", "release.appstudio.openshift.io/snapshot": "snapshot-sample-8eb00540" }, "name": "snapshot-sample-8eb00540-ljgzw", "namespace": "ex-registry-sh-8eb00540", "resourceVersion": "9366", "uid": "14c5ca9a-1b97-4b78-9dad-3a6ab63cbd83" }, "spec": { "gracePeriodDays": 7, "releasePlan": "source-releaseplan", "snapshot": "snapshot-sample-8eb00540" }, "status": { "attribution": { "author": "kubernetes-admin", "standingAuthorization": true }, "automated": true, "conditions": [ { "lastTransitionTime": "2026-08-18T19:41:25Z", "message": "", "reason": "Progressing", "status": "False", "type": "Released" }, { "lastTransitionTime": "2026-08-18T19:41:25Z", "message": "", "reason": "Succeeded", "status": "True", "type": "Validated" }, { "lastTransitionTime": "2026-08-18T19:41:25Z", "message": "", "reason": "Skipped", "status": "True", "type": "TenantCollectorsPipelineProcessed" }, { "lastTransitionTime": "2026-08-18T19:41:25Z", "message": "", "reason": "Skipped", "status": "True", "type": "ManagedCollectorsPipelineProcessed" }, { "lastTransitionTime": "2026-08-18T19:41:25Z", "message": "", "reason": "Skipped", "status": "True", "type": "TenantPipelineProcessed" }, { "lastTransitionTime": "2026-08-18T19:41:26Z", "message": "", "reason": "Progressing", "status": "False", "type": "ManagedPipelineProcessed" } ], "expirationTime": "2026-08-25T19:41:25Z", "managedPipelineAttempts": [ { "pipelineRun": "ex-registry-sh-managed-8eb00540/managed-lz4x8", "roleBindings": { "tenantRoleBinding": "ex-registry-sh-8eb00540/snapshot-sample-8eb00540-ljgzw-rolebinding-for-release-pip8psnr" }, "startTime": "2026-08-18T19:41:26Z", "status": "Progressing" } ], "managedProcessing": { "pipelineRun": "ex-registry-sh-managed-8eb00540/managed-lz4x8", "roleBindings": { "tenantRoleBinding": "ex-registry-sh-8eb00540/snapshot-sample-8eb00540-ljgzw-rolebinding-for-release-pip8psnr" }, "startTime": "2026-08-18T19:41:26Z" }, "startTime": "2026-08-18T19:41:25Z", "target": "ex-registry-sh-managed-8eb00540", "validation": { "time": "2026-08-18T19:41:25Z" } } } + RELEASEPLAN_PATH=1585ea3e-df53-4e11-8f83-da12a18c81ed/release_plan.json + echo -n 1585ea3e-df53-4e11-8f83-da12a18c81ed/release_plan.json + get-resource releaseplan ex-registry-sh-8eb00540/source-releaseplan + tee /var/workdir/release/1585ea3e-df53-4e11-8f83-da12a18c81ed/release_plan.json { "apiVersion": "appstudio.redhat.com/v1alpha1", "kind": "ReleasePlan", "metadata": { "creationTimestamp": "2026-08-18T19:41:25Z", "generation": 1, "labels": { "originating-tool": "push-to-external-registry-self-hosted-quay", "release.appstudio.openshift.io/author": "kubernetes-admin", "release.appstudio.openshift.io/auto-release": "true", "release.appstudio.openshift.io/releasePlanAdmission": "demo", "release.appstudio.openshift.io/standing-attribution": "true" }, "name": "source-releaseplan", "namespace": "ex-registry-sh-8eb00540", "resourceVersion": "9344", "uid": "dd8e33c6-1cb9-461b-82b0-37c3aea9421e" }, "spec": { "application": "appstudio", "releaseGracePeriodDays": 7, "target": "ex-registry-sh-managed-8eb00540" }, "status": { "conditions": [ { "lastTransitionTime": "2026-08-18T19:41:25Z", "message": "", "reason": "Matched", "status": "True", "type": "Matched" } ], "releasePlanAdmission": { "active": true, "name": "ex-registry-sh-managed-8eb00540/demo" } } } + RELEASEPLANADMISSION_PATH=1585ea3e-df53-4e11-8f83-da12a18c81ed/release_plan_admission.json + echo -n 1585ea3e-df53-4e11-8f83-da12a18c81ed/release_plan_admission.json + get-resource releaseplanadmission ex-registry-sh-managed-8eb00540/demo + tee /var/workdir/release/1585ea3e-df53-4e11-8f83-da12a18c81ed/release_plan_admission.json { "apiVersion": "appstudio.redhat.com/v1alpha1", "kind": "ReleasePlanAdmission", "metadata": { "annotations": { "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"appstudio.redhat.com/v1alpha1\",\"kind\":\"ReleasePlanAdmission\",\"metadata\":{\"annotations\":{},\"labels\":{\"originating-tool\":\"push-to-external-registry-self-hosted-quay\"},\"name\":\"demo\",\"namespace\":\"ex-registry-sh-managed-8eb00540\"},\"spec\":{\"applications\":[\"appstudio\"],\"data\":{\"mapping\":{\"components\":[{\"name\":\"dc-metro-map\",\"repositories\":[{\"url\":\"quay-service.quay/test-org/released-dc-metro-map\"}]}],\"defaults\":{\"public\":true,\"pushSourceContainer\":false,\"tags\":[\"latest\"]},\"registrySecret\":\"quay-api-token\"}},\"origin\":\"ex-registry-sh-8eb00540\",\"pipeline\":{\"pipelineRef\":{\"ociStorage\":\"quay-service.quay/test-org/trusted-artifacts\",\"params\":[{\"name\":\"url\",\"value\":\"https://github.com/joejstuart/release-service-catalog\"},{\"name\":\"revision\",\"value\":\"3c895813a006b3471b14dae22b0136928321ffe9\"},{\"name\":\"pathInRepo\",\"value\":\"pipelines/managed/push-to-external-registry/push-to-external-registry.yaml\"}],\"resolver\":\"git\"},\"serviceAccountName\":\"release-service-account\",\"timeouts\":{\"pipeline\":\"4h0m0s\",\"tasks\":\"4h0m0s\"}},\"policy\":\"ex-registry-sh-policy-8eb00540\"}}\n" }, "creationTimestamp": "2026-08-18T19:41:23Z", "generation": 1, "labels": { "originating-tool": "push-to-external-registry-self-hosted-quay", "release.appstudio.openshift.io/block-releases": "false" }, "name": "demo", "namespace": "ex-registry-sh-managed-8eb00540", "resourceVersion": "9345", "uid": "5978dfca-4fd1-4349-a1b9-5467d8d66ad3" }, "spec": { "applications": [ "appstudio" ], "data": { "mapping": { "components": [ { "name": "dc-metro-map", "repositories": [ { "url": "quay-service.quay/test-org/released-dc-metro-map" } ] } ], "defaults": { "public": true, "pushSourceContainer": false, "tags": [ "latest" ] }, "registrySecret": "quay-api-token" } }, "origin": "ex-registry-sh-8eb00540", "pipeline": { "pipelineRef": { "ociStorage": "quay-service.quay/test-org/trusted-artifacts", "params": [ { "name": "url", "value": "https://github.com/joejstuart/release-service-catalog" }, { "name": "revision", "value": "3c895813a006b3471b14dae22b0136928321ffe9" }, { "name": "pathInRepo", "value": "pipelines/managed/push-to-external-registry/push-to-external-registry.yaml" } ], "resolver": "git" }, "serviceAccountName": "release-service-account", "timeouts": { "pipeline": "4h0m0s", "tasks": "4h0m0s" } }, "policy": "ex-registry-sh-policy-8eb00540" }, "status": { "conditions": [ { "lastTransitionTime": "2026-08-18T19:41:25Z", "message": "", "reason": "Matched", "status": "True", "type": "Matched" } ], "releasePlans": [ { "active": true, "name": "ex-registry-sh-8eb00540/source-releaseplan" } ], "retryInfo": { "enabled": false, "reason": "pipeline not configured for retries" } } } + RELEASESERVICECONFIG_PATH=1585ea3e-df53-4e11-8f83-da12a18c81ed/release_service_config.json + echo -n 1585ea3e-df53-4e11-8f83-da12a18c81ed/release_service_config.json + get-resource releaseserviceconfig release-service/release-service-config + tee /var/workdir/release/1585ea3e-df53-4e11-8f83-da12a18c81ed/release_service_config.json { "apiVersion": "appstudio.redhat.com/v1alpha1", "kind": "ReleaseServiceConfig", "metadata": { "creationTimestamp": "2026-08-18T19:36:56Z", "generation": 1, "labels": { "konflux.konflux-ci.dev/component": "release", "konflux.konflux-ci.dev/owner": "konflux-release-service" }, "name": "release-service-config", "namespace": "release-service", "ownerReferences": [ { "apiVersion": "konflux.konflux-ci.dev/v1alpha1", "blockOwnerDeletion": true, "controller": true, "kind": "KonfluxReleaseService", "name": "konflux-release-service", "uid": "5119250d-97bc-4576-a006-6401bfa705f8" } ], "resourceVersion": "6833", "uid": "2927e9f9-1bdb-462c-b949-bee415dc05d4" }, "spec": { "debug": false } } Fetching Snapshot Spec + echo -e '\nFetching Snapshot Spec' + SNAPSHOTSPEC_PATH=1585ea3e-df53-4e11-8f83-da12a18c81ed/snapshot_spec.json + echo -n 1585ea3e-df53-4e11-8f83-da12a18c81ed/snapshot_spec.json + get-resource snapshot ex-registry-sh-8eb00540/snapshot-sample-8eb00540 '{.spec}' + jq '(if (.componentGroup == null or .componentGroup == "") then .componentGroup = .application else . end) | del(.application)' + tee /var/workdir/release/1585ea3e-df53-4e11-8f83-da12a18c81ed/snapshot_spec.json { "artifacts": {}, "components": [ { "containerImage": "quay-service.quay/test-org/dcmetromap@sha256:544259be8bcd9e6a2066224b805d854d863064c9b64fa3a87bfcd03f5b0f28e6", "name": "dc-metro-map", "source": { "git": { "revision": "d49914874789147eb2de9bb6a12cd5d150bfff92", "url": "https://github.com/redhat-appstudio-qe/dc-metro-map-release" } } } ], "componentGroup": "appstudio" } ++ get-resource snapshot ex-registry-sh-8eb00540/snapshot-sample-8eb00540 '{.metadata.labels}' + labels='{"appstudio.openshift.io/application":"appstudio","appstudio.openshift.io/component":"dc-metro-map","originating-tool":"push-to-external-registry-self-hosted-quay","pac.test.appstudio.openshift.io/event-type":"push","test.appstudio.openshift.io/type":"component"}' ++ jq -r '."appstudio.openshift.io/build-pipelinerun" // ""' + BUILD_ID= + echo -n '' + tee /tekton/results/snapshotBuildId + echo -e '\nGenerating collectors data' Generating collectors data ++ get-resource release ex-registry-sh-8eb00540/snapshot-sample-8eb00540-ljgzw '{.status.collectors}' + collectors_status='{}' + echo '***collectors status' ***collectors status {} *** + echo '{}' + echo '***' ++ jq -c ' def deepmerge(a; b): reduce b[] as $item (a; reduce ($item | keys_unsorted[]) as $key (.; $item[$key] as $val | ($val | type) as $type | .[$key] = if ($type == "object") then deepmerge({}; [if .[$key] == null then {} else .[$key] end, $val]) elif ($type == "array") then (.[$key] + $val | unique) else $val end) ); # Ensure we safely handle missing collectors (.? // {}) as $collectors | # Flatten and combine the managed and tenant sections [($collectors.managed? // {} | to_entries | map(.value)) + ($collectors.tenant? // {} | to_entries | map(.value))] | flatten | deepmerge({}; .) ' ***collectors + collectors_result='{}' + echo '***collectors' + jq {} + echo '***' + echo -e '\nFetching merged data json' *** Fetching merged data json ++ get-resource release ex-registry-sh-8eb00540/snapshot-sample-8eb00540-ljgzw '{.spec.data}' + release_result='{}' ++ get-resource releaseplan ex-registry-sh-8eb00540/source-releaseplan '{.spec.data}' + release_plan_result='{}' ++ get-resource releaseplanadmission ex-registry-sh-managed-8eb00540/demo '{.spec.data}' + release_plan_admission_result='{"mapping":{"components":[{"name":"dc-metro-map","repositories":[{"url":"quay-service.quay/test-org/released-dc-metro-map"}]}],"defaults":{"public":true,"pushSourceContainer":false,"tags":["latest"]},"registrySecret":"quay-api-token"}}' ++ merge-json '{}' '{}' + merged_output='{}' ++ merge-json '{}' '{}' + merged_output='{}' ++ merge-json '{}' '{"mapping":{"components":[{"name":"dc-metro-map","repositories":[{"url":"quay-service.quay/test-org/released-dc-metro-map"}]}],"defaults":{"public":true,"pushSourceContainer":false,"tags":["latest"]},"registrySecret":"quay-api-token"}}' + merged_output='{"mapping":{"components":[{"name":"dc-metro-map","repositories":[{"url":"quay-service.quay/test-org/released-dc-metro-map"}]}],"defaults":{"public":true,"pushSourceContainer":false,"tags":["latest"]},"registrySecret":"quay-api-token"}}' + DATA_PATH=1585ea3e-df53-4e11-8f83-da12a18c81ed/data.json + echo -n 1585ea3e-df53-4e11-8f83-da12a18c81ed/data.json + echo '{"mapping":{"components":[{"name":"dc-metro-map","repositories":[{"url":"quay-service.quay/test-org/released-dc-metro-map"}]}],"defaults":{"public":true,"pushSourceContainer":false,"tags":["latest"]},"registrySecret":"quay-api-token"}}' + tee /var/workdir/release/1585ea3e-df53-4e11-8f83-da12a18c81ed/data.json {"mapping":{"components":[{"name":"dc-metro-map","repositories":[{"url":"quay-service.quay/test-org/released-dc-metro-map"}]}],"defaults":{"public":true,"pushSourceContainer":false,"tags":["latest"]},"registrySecret":"quay-api-token"}} ++ jq -c .spec.pipeline.pipelineRef /var/workdir/release/1585ea3e-df53-4e11-8f83-da12a18c81ed/release_plan_admission.json + pipelineref='{"ociStorage":"quay-service.quay/test-org/trusted-artifacts","params":[{"name":"url","value":"https://github.com/joejstuart/release-service-catalog"},{"name":"revision","value":"3c895813a006b3471b14dae22b0136928321ffe9"},{"name":"pathInRepo","value":"pipelines/managed/push-to-external-registry/push-to-external-registry.yaml"}],"resolver":"git"}' ++ jq -r '.resolver // ""' + resolver=git + '[' git == git ']' ++ jq -r '.params[] | select(.name=="url") | .value' + url=https://github.com/joejstuart/release-service-catalog ++ jq -r '.params[] | select(.name=="revision") | .value' + revision=3c895813a006b3471b14dae22b0136928321ffe9 ++ jq -r '.params[] | select(.name=="pathInRepo") | .value' + pathinrepo=pipelines/managed/push-to-external-registry/push-to-external-registry.yaml + orgrepo=joejstuart/release-service-catalog ++ echo joejstuart/release-service-catalog ++ cut -f1 -d/ + org=joejstuart ++ echo joejstuart/release-service-catalog ++ cut -f2 -d/ ++ cut -d. -f1 + repo=release-service-catalog ++ curl -s https://api.github.com/repos/joejstuart/release-service-catalog/commits/3c895813a006b3471b14dae22b0136928321ffe9 ++ jq -r '.sha // ""' + sha=3c895813a006b3471b14dae22b0136928321ffe9 + org=joejstuart + repo=release-service-catalog + revision=3c895813a006b3471b14dae22b0136928321ffe9 + pathinrepo=pipelines/managed/push-to-external-registry/push-to-external-registry.yaml + sha=3c895813a006b3471b14dae22b0136928321ffe9 + echo '' + echo 'Release Pipeline Ref Info:' + echo -------------------------- Release Pipeline Ref Info: -------------------------- ++ jq -n -c --arg org joejstuart --arg repo release-service-catalog --arg revision 3c895813a006b3471b14dae22b0136928321ffe9 --arg pathinrepo pipelines/managed/push-to-external-registry/push-to-external-registry.yaml --arg sha 3c895813a006b3471b14dae22b0136928321ffe9 '$ARGS.named' + json='{"org":"joejstuart","repo":"release-service-catalog","revision":"3c895813a006b3471b14dae22b0136928321ffe9","pathinrepo":"pipelines/managed/push-to-external-registry/push-to-external-registry.yaml","sha":"3c895813a006b3471b14dae22b0136928321ffe9"}' + echo '{"org":"joejstuart","repo":"release-service-catalog","revision":"3c895813a006b3471b14dae22b0136928321ffe9","pathinrepo":"pipelines/managed/push-to-external-registry/push-to-external-registry.yaml","sha":"3c895813a006b3471b14dae22b0136928321ffe9"}' + jq . { "org": "joejstuart", "repo": "release-service-catalog", "revision": "3c895813a006b3471b14dae22b0136928321ffe9", "pathinrepo": "pipelines/managed/push-to-external-registry/push-to-external-registry.yaml", "sha": "3c895813a006b3471b14dae22b0136928321ffe9" } ++ jq -r '.singleComponentMode // "false"' /var/workdir/release/1585ea3e-df53-4e11-8f83-da12a18c81ed/data.json + SINGLE_COMPONENT_MODE=false ++ echo ex-registry-sh-8eb00540/snapshot-sample-8eb00540 ++ cut -f2 -d/ + SNAPSHOT_NAME=snapshot-sample-8eb00540 ++ echo ex-registry-sh-8eb00540/snapshot-sample-8eb00540 ++ cut -f1 -d/ + SNAPSHOT_NAMESPACE=ex-registry-sh-8eb00540 + echo -n false + tee /tekton/results/singleComponentMode + echo -n snapshot-sample-8eb00540 + tee /tekton/results/snapshotName + echo -n ex-registry-sh-8eb00540 + tee /tekton/results/snapshotNamespace falsesnapshot-sample-8eb00540ex-registry-sh-8eb00540