{
    "apiVersion": "v1",
    "items": [
        {
            "apiVersion": "tekton.dev/v1",
            "kind": "TaskRun",
            "metadata": {
                "annotations": {
                    "chains.tekton.dev/signed": "true",
                    "operator-sdk/primary-resource": "retry-pipeline-timeout-qbaq/snapshot-sample-tv44-d499148-8mwb4",
                    "operator-sdk/primary-resource-type": "Release.appstudio.redhat.com",
                    "pac.test.appstudio.openshift.io/sha": "d49914874789147eb2de9bb6a12cd5d150bfff92",
                    "pac.test.appstudio.openshift.io/url-repository": "https://github.com/redhat-appstudio-qe/dc-metro-map-release",
                    "pipeline.tekton.dev/release": "70f7308",
                    "results.tekton.dev/childReadyForDeletion": "true",
                    "results.tekton.dev/record": "retry-pipeline-timeout-managed/results/a48afb23-9de3-4a82-ac5d-a9332dc880e2/records/ad2b071b-bd5a-451d-bc4e-0999778134cf",
                    "results.tekton.dev/result": "retry-pipeline-timeout-managed/results/a48afb23-9de3-4a82-ac5d-a9332dc880e2",
                    "results.tekton.dev/stored": "true",
                    "tekton.dev/pipelines.minVersion": "0.12.1",
                    "tekton.dev/tags": "release"
                },
                "creationTimestamp": "2026-10-06T10:06:05Z",
                "deletionGracePeriodSeconds": 0,
                "deletionTimestamp": "2026-10-06T10:08:36Z",
                "finalizers": [
                    "results.tekton.dev/taskrun"
                ],
                "generation": 2,
                "labels": {
                    "app.kubernetes.io/managed-by": "tekton-pipelines",
                    "appstudio.openshift.io/application": "appstudio",
                    "appstudio.openshift.io/service": "release",
                    "appstudio.openshift.io/snapshot": "snapshot-sample-tv44",
                    "pipelines.appstudio.openshift.io/type": "managed",
                    "release.appstudio.openshift.io/attempt": "1",
                    "release.appstudio.openshift.io/name": "snapshot-sample-tv44-d499148-8mwb4",
                    "release.appstudio.openshift.io/namespace": "retry-pipeline-timeout-qbaq",
                    "tekton.dev/memberOf": "tasks",
                    "tekton.dev/pipeline": "retry-e2e-managed",
                    "tekton.dev/pipelineRun": "managed-fzbxk",
                    "tekton.dev/pipelineRunUID": "a48afb23-9de3-4a82-ac5d-a9332dc880e2",
                    "tekton.dev/pipelineTask": "collect-data"
                },
                "name": "managed-fzbxk-collect-data",
                "namespace": "retry-pipeline-timeout-managed",
                "ownerReferences": [
                    {
                        "apiVersion": "tekton.dev/v1",
                        "blockOwnerDeletion": true,
                        "controller": true,
                        "kind": "PipelineRun",
                        "name": "managed-fzbxk",
                        "uid": "a48afb23-9de3-4a82-ac5d-a9332dc880e2"
                    }
                ],
                "resourceVersion": "23268",
                "uid": "ad2b071b-bd5a-451d-bc4e-0999778134cf"
            },
            "spec": {
                "params": [
                    {
                        "name": "releasePlanAdmission",
                        "value": "retry-pipeline-timeout-managed/demo"
                    }
                ],
                "serviceAccountName": "release-service-account",
                "taskSpec": {
                    "params": [
                        {
                            "name": "releasePlanAdmission",
                            "type": "string"
                        }
                    ],
                    "results": [
                        {
                            "name": "failMode",
                            "type": "string"
                        },
                        {
                            "name": "failOnTask",
                            "type": "string"
                        }
                    ],
                    "steps": [
                        {
                            "computeResources": {
                                "limits": {
                                    "memory": "64Mi"
                                },
                                "requests": {
                                    "cpu": "50m",
                                    "memory": "64Mi"
                                }
                            },
                            "image": "quay.io/konflux-ci/release-service-utils@sha256:850118bc6eda4ca3f98ef1e53109164f64a0945a6ac0942f908b7e106f50775c",
                            "name": "collect-data",
                            "script": "#!/usr/bin/env bash\nset -euo pipefail\n\nDATA=$(get-resource releasePlanAdmission \"retry-pipeline-timeout-managed/demo\" |\n  jq '.spec.data // {}')\n\nFAIL_MODE=$(jq -r '.failMode // \"none\"' \u003c\u003c\u003c\"${DATA}\")\nFAIL_ON_TASK=$(jq -r '.failOnTask // \"task-01\"' \u003c\u003c\u003c\"${DATA}\")\n\nprintf '%s' \"${FAIL_MODE}\" \u003e \"$(results.failMode.path)\"\nprintf '%s' \"${FAIL_ON_TASK}\" \u003e \"$(results.failOnTask.path)\"\n"
                        }
                    ]
                },
                "timeout": "1h0m0s"
            },
            "status": {
                "artifacts": {},
                "completionTime": "2026-10-06T10:06:10Z",
                "conditions": [
                    {
                        "lastTransitionTime": "2026-10-06T10:06:10Z",
                        "message": "All Steps have completed executing",
                        "reason": "Succeeded",
                        "status": "True",
                        "type": "Succeeded"
                    }
                ],
                "podName": "managed-fzbxk-collect-data-pod",
                "provenance": {
                    "featureFlags": {
                        "awaitSidecarReadiness": true,
                        "coschedule": "workspaces",
                        "enableAPIFields": "beta",
                        "enableProvenanceInStatus": true,
                        "enforceNonfalsifiability": "none",
                        "maxResultSize": 4096,
                        "resultExtractionMethod": "termination-message",
                        "runningInEnvWithInjectedSidecars": true,
                        "sendCloudEventsForRuns": true,
                        "verificationNoMatchPolicy": "ignore"
                    }
                },
                "results": [
                    {
                        "name": "failMode",
                        "type": "string",
                        "value": "pipeline-timeout"
                    },
                    {
                        "name": "failOnTask",
                        "type": "string",
                        "value": "task-02"
                    }
                ],
                "startTime": "2026-10-06T10:06:05Z",
                "steps": [
                    {
                        "container": "step-collect-data",
                        "imageID": "quay.io/konflux-ci/release-service-utils@sha256:850118bc6eda4ca3f98ef1e53109164f64a0945a6ac0942f908b7e106f50775c",
                        "name": "collect-data",
                        "provenance": {},
                        "terminated": {
                            "containerID": "containerd://2243694c43f2497f96ffd3bcfd6be2bc6a0c40b1b88892d68d163f808d6bf145",
                            "exitCode": 0,
                            "finishedAt": "2026-10-06T10:06:09Z",
                            "message": "[{\"key\":\"failMode\",\"value\":\"pipeline-timeout\",\"type\":1},{\"key\":\"failOnTask\",\"value\":\"task-02\",\"type\":1}]",
                            "reason": "Completed",
                            "startedAt": "2026-10-06T10:06:09Z"
                        },
                        "terminationReason": "Completed"
                    }
                ],
                "taskSpec": {
                    "params": [
                        {
                            "name": "releasePlanAdmission",
                            "type": "string"
                        }
                    ],
                    "results": [
                        {
                            "name": "failMode",
                            "type": "string"
                        },
                        {
                            "name": "failOnTask",
                            "type": "string"
                        }
                    ],
                    "steps": [
                        {
                            "computeResources": {
                                "limits": {
                                    "memory": "64Mi"
                                },
                                "requests": {
                                    "cpu": "50m",
                                    "memory": "64Mi"
                                }
                            },
                            "image": "quay.io/konflux-ci/release-service-utils@sha256:850118bc6eda4ca3f98ef1e53109164f64a0945a6ac0942f908b7e106f50775c",
                            "name": "collect-data",
                            "script": "#!/usr/bin/env bash\nset -euo pipefail\n\nDATA=$(get-resource releasePlanAdmission \"retry-pipeline-timeout-managed/demo\" |\n  jq '.spec.data // {}')\n\nFAIL_MODE=$(jq -r '.failMode // \"none\"' \u003c\u003c\u003c\"${DATA}\")\nFAIL_ON_TASK=$(jq -r '.failOnTask // \"task-01\"' \u003c\u003c\u003c\"${DATA}\")\n\nprintf '%s' \"${FAIL_MODE}\" \u003e \"/tekton/results/failMode\"\nprintf '%s' \"${FAIL_ON_TASK}\" \u003e \"/tekton/results/failOnTask\"\n"
                        }
                    ]
                }
            }
        },
        {
            "apiVersion": "tekton.dev/v1",
            "kind": "TaskRun",
            "metadata": {
                "annotations": {
                    "chains.tekton.dev/signed": "true",
                    "operator-sdk/primary-resource": "retry-pipeline-timeout-qbaq/snapshot-sample-tv44-d499148-8mwb4",
                    "operator-sdk/primary-resource-type": "Release.appstudio.redhat.com",
                    "pac.test.appstudio.openshift.io/sha": "d49914874789147eb2de9bb6a12cd5d150bfff92",
                    "pac.test.appstudio.openshift.io/url-repository": "https://github.com/redhat-appstudio-qe/dc-metro-map-release",
                    "pipeline.tekton.dev/release": "70f7308",
                    "results.tekton.dev/childReadyForDeletion": "true",
                    "results.tekton.dev/record": "retry-pipeline-timeout-managed/results/a48afb23-9de3-4a82-ac5d-a9332dc880e2/records/03d41524-acb6-4510-834d-117df1ced9d5",
                    "results.tekton.dev/result": "retry-pipeline-timeout-managed/results/a48afb23-9de3-4a82-ac5d-a9332dc880e2",
                    "results.tekton.dev/stored": "true",
                    "tekton.dev/pipelines.minVersion": "0.12.1",
                    "tekton.dev/tags": "release"
                },
                "creationTimestamp": "2026-10-06T10:08:17Z",
                "deletionGracePeriodSeconds": 0,
                "deletionTimestamp": "2026-10-06T10:08:36Z",
                "finalizers": [
                    "results.tekton.dev/taskrun"
                ],
                "generation": 2,
                "labels": {
                    "app.kubernetes.io/managed-by": "tekton-pipelines",
                    "appstudio.openshift.io/application": "appstudio",
                    "appstudio.openshift.io/service": "release",
                    "appstudio.openshift.io/snapshot": "snapshot-sample-tv44",
                    "pipelines.appstudio.openshift.io/type": "managed",
                    "release.appstudio.openshift.io/attempt": "1",
                    "release.appstudio.openshift.io/name": "snapshot-sample-tv44-d499148-8mwb4",
                    "release.appstudio.openshift.io/namespace": "retry-pipeline-timeout-qbaq",
                    "tekton.dev/memberOf": "finally",
                    "tekton.dev/pipeline": "retry-e2e-managed",
                    "tekton.dev/pipelineRun": "managed-fzbxk",
                    "tekton.dev/pipelineRunUID": "a48afb23-9de3-4a82-ac5d-a9332dc880e2",
                    "tekton.dev/pipelineTask": "finalize"
                },
                "name": "managed-fzbxk-finalize",
                "namespace": "retry-pipeline-timeout-managed",
                "ownerReferences": [
                    {
                        "apiVersion": "tekton.dev/v1",
                        "blockOwnerDeletion": true,
                        "controller": true,
                        "kind": "PipelineRun",
                        "name": "managed-fzbxk",
                        "uid": "a48afb23-9de3-4a82-ac5d-a9332dc880e2"
                    }
                ],
                "resourceVersion": "23269",
                "uid": "03d41524-acb6-4510-834d-117df1ced9d5"
            },
            "spec": {
                "serviceAccountName": "release-service-account",
                "taskSpec": {
                    "steps": [
                        {
                            "computeResources": {
                                "limits": {
                                    "memory": "32Mi"
                                },
                                "requests": {
                                    "cpu": "50m",
                                    "memory": "32Mi"
                                }
                            },
                            "image": "quay.io/konflux-ci/release-service-utils@sha256:850118bc6eda4ca3f98ef1e53109164f64a0945a6ac0942f908b7e106f50775c",
                            "name": "finalize-step-01",
                            "script": "#!/usr/bin/env bash\necho \"finalize: complete\"\n"
                        }
                    ]
                },
                "timeout": "1h0m0s"
            },
            "status": {
                "artifacts": {},
                "completionTime": "2026-10-06T10:08:21Z",
                "conditions": [
                    {
                        "lastTransitionTime": "2026-10-06T10:08:21Z",
                        "message": "All Steps have completed executing",
                        "reason": "Succeeded",
                        "status": "True",
                        "type": "Succeeded"
                    }
                ],
                "podName": "managed-fzbxk-finalize-pod",
                "provenance": {
                    "featureFlags": {
                        "awaitSidecarReadiness": true,
                        "coschedule": "workspaces",
                        "enableAPIFields": "beta",
                        "enableProvenanceInStatus": true,
                        "enforceNonfalsifiability": "none",
                        "maxResultSize": 4096,
                        "resultExtractionMethod": "termination-message",
                        "runningInEnvWithInjectedSidecars": true,
                        "sendCloudEventsForRuns": true,
                        "verificationNoMatchPolicy": "ignore"
                    }
                },
                "startTime": "2026-10-06T10:08:17Z",
                "steps": [
                    {
                        "container": "step-finalize-step-01",
                        "imageID": "quay.io/konflux-ci/release-service-utils@sha256:850118bc6eda4ca3f98ef1e53109164f64a0945a6ac0942f908b7e106f50775c",
                        "name": "finalize-step-01",
                        "provenance": {},
                        "terminated": {
                            "containerID": "containerd://52e36559be76d196818d94a78a01eed0a791d3ee3389bc6628def469a0e07417",
                            "exitCode": 0,
                            "finishedAt": "2026-10-06T10:08:21Z",
                            "reason": "Completed",
                            "startedAt": "2026-10-06T10:08:21Z"
                        },
                        "terminationReason": "Completed"
                    }
                ],
                "taskSpec": {
                    "steps": [
                        {
                            "computeResources": {
                                "limits": {
                                    "memory": "32Mi"
                                },
                                "requests": {
                                    "cpu": "50m",
                                    "memory": "32Mi"
                                }
                            },
                            "image": "quay.io/konflux-ci/release-service-utils@sha256:850118bc6eda4ca3f98ef1e53109164f64a0945a6ac0942f908b7e106f50775c",
                            "name": "finalize-step-01",
                            "script": "#!/usr/bin/env bash\necho \"finalize: complete\"\n"
                        }
                    ]
                }
            }
        },
        {
            "apiVersion": "tekton.dev/v1",
            "kind": "TaskRun",
            "metadata": {
                "annotations": {
                    "chains.tekton.dev/signed": "true",
                    "operator-sdk/primary-resource": "retry-pipeline-timeout-qbaq/snapshot-sample-tv44-d499148-8mwb4",
                    "operator-sdk/primary-resource-type": "Release.appstudio.redhat.com",
                    "pac.test.appstudio.openshift.io/sha": "d49914874789147eb2de9bb6a12cd5d150bfff92",
                    "pac.test.appstudio.openshift.io/url-repository": "https://github.com/redhat-appstudio-qe/dc-metro-map-release",
                    "pipeline.tekton.dev/release": "70f7308",
                    "results.tekton.dev/childReadyForDeletion": "true",
                    "results.tekton.dev/record": "retry-pipeline-timeout-managed/results/a48afb23-9de3-4a82-ac5d-a9332dc880e2/records/22198d17-f2df-45fc-a5a5-f02441cc597d",
                    "results.tekton.dev/result": "retry-pipeline-timeout-managed/results/a48afb23-9de3-4a82-ac5d-a9332dc880e2",
                    "results.tekton.dev/stored": "true",
                    "tekton.dev/pipelines.minVersion": "0.12.1",
                    "tekton.dev/tags": "release"
                },
                "creationTimestamp": "2026-10-06T10:06:10Z",
                "deletionGracePeriodSeconds": 0,
                "deletionTimestamp": "2026-10-06T10:08:36Z",
                "finalizers": [
                    "results.tekton.dev/taskrun"
                ],
                "generation": 2,
                "labels": {
                    "app.kubernetes.io/managed-by": "tekton-pipelines",
                    "appstudio.openshift.io/application": "appstudio",
                    "appstudio.openshift.io/service": "release",
                    "appstudio.openshift.io/snapshot": "snapshot-sample-tv44",
                    "pipelines.appstudio.openshift.io/type": "managed",
                    "release.appstudio.openshift.io/attempt": "1",
                    "release.appstudio.openshift.io/name": "snapshot-sample-tv44-d499148-8mwb4",
                    "release.appstudio.openshift.io/namespace": "retry-pipeline-timeout-qbaq",
                    "tekton.dev/memberOf": "tasks",
                    "tekton.dev/pipeline": "retry-e2e-managed",
                    "tekton.dev/pipelineRun": "managed-fzbxk",
                    "tekton.dev/pipelineRunUID": "a48afb23-9de3-4a82-ac5d-a9332dc880e2",
                    "tekton.dev/pipelineTask": "task-01"
                },
                "name": "managed-fzbxk-task-01",
                "namespace": "retry-pipeline-timeout-managed",
                "ownerReferences": [
                    {
                        "apiVersion": "tekton.dev/v1",
                        "blockOwnerDeletion": true,
                        "controller": true,
                        "kind": "PipelineRun",
                        "name": "managed-fzbxk",
                        "uid": "a48afb23-9de3-4a82-ac5d-a9332dc880e2"
                    }
                ],
                "resourceVersion": "23272",
                "uid": "22198d17-f2df-45fc-a5a5-f02441cc597d"
            },
            "spec": {
                "params": [
                    {
                        "name": "failMode",
                        "value": "pipeline-timeout"
                    },
                    {
                        "name": "failOnTask",
                        "value": "task-02"
                    }
                ],
                "serviceAccountName": "release-service-account",
                "taskSpec": {
                    "params": [
                        {
                            "name": "failMode",
                            "type": "string"
                        },
                        {
                            "name": "failOnTask",
                            "type": "string"
                        }
                    ],
                    "steps": [
                        {
                            "computeResources": {
                                "limits": {
                                    "memory": "64Mi"
                                },
                                "requests": {
                                    "cpu": "100m",
                                    "memory": "64Mi"
                                }
                            },
                            "image": "quay.io/konflux-ci/release-service-utils@sha256:850118bc6eda4ca3f98ef1e53109164f64a0945a6ac0942f908b7e106f50775c",
                            "name": "task-01-step-01",
                            "script": "#!/usr/bin/env bash\nset -euo pipefail\n\nFAIL_MODE=\"$(params.failMode)\"\nFAIL_ON_TASK=\"$(params.failOnTask)\"\n\n# Only inject failures into the selected task.\n[[ \"${FAIL_ON_TASK}\" == \"task-01\" ]] || exit 0\n\necho \"task-01-step-01: failMode=${FAIL_MODE}\"\n\ncase \"${FAIL_MODE}\" in\n  error)\n    exit 1\n    ;;\n  oom)\n    # Trigger OOM only when the task is still running with the\n    # original memory limit. After retry mitigation the limit\n    # should be increased and this path should no longer OOM.\n    LIMIT=\"max\"\n    [[ -r /sys/fs/cgroup/memory.max ]] \u0026\u0026 read -r LIMIT \u003c /sys/fs/cgroup/memory.max\n\n    THRESHOLD=104857600 # 100 Mi\n\n    if [[ \"${LIMIT}\" != \"max\" ]] \u0026\u0026 (( LIMIT \u003c THRESHOLD )); then\n      echo \"limit ${LIMIT} \u003c ${THRESHOLD}: triggering OOMKill\"\n\n      X=$(dd if=/dev/zero bs=1M count=150 status=none | tr '\\0' 'a')\n      echo \"${#X}\"\n    else\n      echo \"limit ${LIMIT} sufficient\"\n    fi\n    ;;\n  task-timeout)\n    # Sleep longer than the task timeout. Which is set to 1 minute.\n    sleep 90\n    ;;\n  none)\n    ;;\n  *)\n    echo \"unknown fail mode: ${FAIL_MODE}\" \u003e\u00262\n    exit 1\n    ;;\nesac\n"
                        },
                        {
                            "computeResources": {
                                "limits": {
                                    "memory": "32Mi"
                                },
                                "requests": {
                                    "cpu": "50m",
                                    "memory": "32Mi"
                                }
                            },
                            "image": "quay.io/konflux-ci/release-service-utils@sha256:850118bc6eda4ca3f98ef1e53109164f64a0945a6ac0942f908b7e106f50775c",
                            "name": "task-01-step-02",
                            "script": "#!/usr/bin/env bash\necho \"task-01-step-02: complete\"\n"
                        }
                    ]
                },
                "timeout": "1m0s"
            },
            "status": {
                "artifacts": {},
                "completionTime": "2026-10-06T10:06:14Z",
                "conditions": [
                    {
                        "lastTransitionTime": "2026-10-06T10:06:14Z",
                        "message": "All Steps have completed executing",
                        "reason": "Succeeded",
                        "status": "True",
                        "type": "Succeeded"
                    }
                ],
                "podName": "managed-fzbxk-task-01-pod",
                "provenance": {
                    "featureFlags": {
                        "awaitSidecarReadiness": true,
                        "coschedule": "workspaces",
                        "enableAPIFields": "beta",
                        "enableProvenanceInStatus": true,
                        "enforceNonfalsifiability": "none",
                        "maxResultSize": 4096,
                        "resultExtractionMethod": "termination-message",
                        "runningInEnvWithInjectedSidecars": true,
                        "sendCloudEventsForRuns": true,
                        "verificationNoMatchPolicy": "ignore"
                    }
                },
                "startTime": "2026-10-06T10:06:10Z",
                "steps": [
                    {
                        "container": "step-task-01-step-01",
                        "imageID": "quay.io/konflux-ci/release-service-utils@sha256:850118bc6eda4ca3f98ef1e53109164f64a0945a6ac0942f908b7e106f50775c",
                        "name": "task-01-step-01",
                        "provenance": {},
                        "terminated": {
                            "containerID": "containerd://c63850e4f5fb1371e6a16103448d8706a2b38d14ec24441994adf4049f544c2b",
                            "exitCode": 0,
                            "finishedAt": "2026-10-06T10:06:13Z",
                            "reason": "Completed",
                            "startedAt": "2026-10-06T10:06:13Z"
                        },
                        "terminationReason": "Completed"
                    },
                    {
                        "container": "step-task-01-step-02",
                        "imageID": "quay.io/konflux-ci/release-service-utils@sha256:850118bc6eda4ca3f98ef1e53109164f64a0945a6ac0942f908b7e106f50775c",
                        "name": "task-01-step-02",
                        "provenance": {},
                        "terminated": {
                            "containerID": "containerd://fdf195e564c57ac8366f3ffad99e477cd99800aa04b14dd16562d23767e8ac8e",
                            "exitCode": 0,
                            "finishedAt": "2026-10-06T10:06:13Z",
                            "reason": "Completed",
                            "startedAt": "2026-10-06T10:06:13Z"
                        },
                        "terminationReason": "Completed"
                    }
                ],
                "taskSpec": {
                    "params": [
                        {
                            "name": "failMode",
                            "type": "string"
                        },
                        {
                            "name": "failOnTask",
                            "type": "string"
                        }
                    ],
                    "steps": [
                        {
                            "computeResources": {
                                "limits": {
                                    "memory": "64Mi"
                                },
                                "requests": {
                                    "cpu": "100m",
                                    "memory": "64Mi"
                                }
                            },
                            "image": "quay.io/konflux-ci/release-service-utils@sha256:850118bc6eda4ca3f98ef1e53109164f64a0945a6ac0942f908b7e106f50775c",
                            "name": "task-01-step-01",
                            "script": "#!/usr/bin/env bash\nset -euo pipefail\n\nFAIL_MODE=\"pipeline-timeout\"\nFAIL_ON_TASK=\"task-02\"\n\n# Only inject failures into the selected task.\n[[ \"${FAIL_ON_TASK}\" == \"task-01\" ]] || exit 0\n\necho \"task-01-step-01: failMode=${FAIL_MODE}\"\n\ncase \"${FAIL_MODE}\" in\n  error)\n    exit 1\n    ;;\n  oom)\n    # Trigger OOM only when the task is still running with the\n    # original memory limit. After retry mitigation the limit\n    # should be increased and this path should no longer OOM.\n    LIMIT=\"max\"\n    [[ -r /sys/fs/cgroup/memory.max ]] \u0026\u0026 read -r LIMIT \u003c /sys/fs/cgroup/memory.max\n\n    THRESHOLD=104857600 # 100 Mi\n\n    if [[ \"${LIMIT}\" != \"max\" ]] \u0026\u0026 (( LIMIT \u003c THRESHOLD )); then\n      echo \"limit ${LIMIT} \u003c ${THRESHOLD}: triggering OOMKill\"\n\n      X=$(dd if=/dev/zero bs=1M count=150 status=none | tr '\\0' 'a')\n      echo \"${#X}\"\n    else\n      echo \"limit ${LIMIT} sufficient\"\n    fi\n    ;;\n  task-timeout)\n    # Sleep longer than the task timeout. Which is set to 1 minute.\n    sleep 90\n    ;;\n  none)\n    ;;\n  *)\n    echo \"unknown fail mode: ${FAIL_MODE}\" \u003e\u00262\n    exit 1\n    ;;\nesac\n"
                        },
                        {
                            "computeResources": {
                                "limits": {
                                    "memory": "32Mi"
                                },
                                "requests": {
                                    "cpu": "50m",
                                    "memory": "32Mi"
                                }
                            },
                            "image": "quay.io/konflux-ci/release-service-utils@sha256:850118bc6eda4ca3f98ef1e53109164f64a0945a6ac0942f908b7e106f50775c",
                            "name": "task-01-step-02",
                            "script": "#!/usr/bin/env bash\necho \"task-01-step-02: complete\"\n"
                        }
                    ]
                }
            }
        },
        {
            "apiVersion": "tekton.dev/v1",
            "kind": "TaskRun",
            "metadata": {
                "annotations": {
                    "chains.tekton.dev/signed": "true",
                    "operator-sdk/primary-resource": "retry-pipeline-timeout-qbaq/snapshot-sample-tv44-d499148-8mwb4",
                    "operator-sdk/primary-resource-type": "Release.appstudio.redhat.com",
                    "pac.test.appstudio.openshift.io/sha": "d49914874789147eb2de9bb6a12cd5d150bfff92",
                    "pac.test.appstudio.openshift.io/url-repository": "https://github.com/redhat-appstudio-qe/dc-metro-map-release",
                    "pipeline.tekton.dev/release": "70f7308",
                    "results.tekton.dev/childReadyForDeletion": "true",
                    "results.tekton.dev/record": "retry-pipeline-timeout-managed/results/a48afb23-9de3-4a82-ac5d-a9332dc880e2/records/c0149756-29b7-41ce-a652-84ed66a4d6e8",
                    "results.tekton.dev/result": "retry-pipeline-timeout-managed/results/a48afb23-9de3-4a82-ac5d-a9332dc880e2",
                    "results.tekton.dev/stored": "true",
                    "tekton.dev/pipelines.minVersion": "0.12.1",
                    "tekton.dev/tags": "release"
                },
                "creationTimestamp": "2026-10-06T10:06:14Z",
                "deletionGracePeriodSeconds": 0,
                "deletionTimestamp": "2026-10-06T10:08:36Z",
                "finalizers": [
                    "results.tekton.dev/taskrun"
                ],
                "generation": 2,
                "labels": {
                    "app.kubernetes.io/managed-by": "tekton-pipelines",
                    "appstudio.openshift.io/application": "appstudio",
                    "appstudio.openshift.io/service": "release",
                    "appstudio.openshift.io/snapshot": "snapshot-sample-tv44",
                    "pipelines.appstudio.openshift.io/type": "managed",
                    "release.appstudio.openshift.io/attempt": "1",
                    "release.appstudio.openshift.io/name": "snapshot-sample-tv44-d499148-8mwb4",
                    "release.appstudio.openshift.io/namespace": "retry-pipeline-timeout-qbaq",
                    "tekton.dev/memberOf": "tasks",
                    "tekton.dev/pipeline": "retry-e2e-managed",
                    "tekton.dev/pipelineRun": "managed-fzbxk",
                    "tekton.dev/pipelineRunUID": "a48afb23-9de3-4a82-ac5d-a9332dc880e2",
                    "tekton.dev/pipelineTask": "task-02"
                },
                "name": "managed-fzbxk-task-02",
                "namespace": "retry-pipeline-timeout-managed",
                "ownerReferences": [
                    {
                        "apiVersion": "tekton.dev/v1",
                        "blockOwnerDeletion": true,
                        "controller": true,
                        "kind": "PipelineRun",
                        "name": "managed-fzbxk",
                        "uid": "a48afb23-9de3-4a82-ac5d-a9332dc880e2"
                    }
                ],
                "resourceVersion": "23275",
                "uid": "c0149756-29b7-41ce-a652-84ed66a4d6e8"
            },
            "spec": {
                "params": [
                    {
                        "name": "failMode",
                        "value": "pipeline-timeout"
                    },
                    {
                        "name": "failOnTask",
                        "value": "task-02"
                    }
                ],
                "serviceAccountName": "release-service-account",
                "taskSpec": {
                    "params": [
                        {
                            "name": "failMode",
                            "type": "string"
                        },
                        {
                            "name": "failOnTask",
                            "type": "string"
                        }
                    ],
                    "stepTemplate": {
                        "computeResources": {
                            "limits": {
                                "memory": "64Mi"
                            },
                            "requests": {
                                "cpu": "100m",
                                "memory": "64Mi"
                            }
                        },
                        "image": "quay.io/konflux-ci/release-service-utils@sha256:850118bc6eda4ca3f98ef1e53109164f64a0945a6ac0942f908b7e106f50775c"
                    },
                    "steps": [
                        {
                            "computeResources": {
                                "limits": {
                                    "memory": "64Mi"
                                },
                                "requests": {
                                    "cpu": "100m",
                                    "memory": "64Mi"
                                }
                            },
                            "image": "quay.io/konflux-ci/release-service-utils@sha256:850118bc6eda4ca3f98ef1e53109164f64a0945a6ac0942f908b7e106f50775c",
                            "name": "task-02-step-01",
                            "script": "#!/usr/bin/env bash\nset -euo pipefail\n\nFAIL_MODE=\"$(params.failMode)\"\nFAIL_ON_TASK=\"$(params.failOnTask)\"\n\n# pipeline-timeout always runs from task-02 regardless of failOnTask.\nif [[ \"${FAIL_ON_TASK}\" != \"task-02\" \u0026\u0026 \"${FAIL_MODE}\" != \"pipeline-timeout\" ]]; then\n  echo \"task-02: complete\"\n  exit 0\nfi\n\necho \"task-02-step-01: failMode=${FAIL_MODE}\"\n\ncase \"${FAIL_MODE}\" in\n  pipeline-timeout)\n    # Sleep past the pipeline level pipeline/tasks timeout. This is used to verify\n    # that retry mitigation updates both pipeline and tasks timeouts\n    # and allows the pipelineRun to complete on retry.\n    echo \"task-02-step-01: sleeping 120s\"\n    sleep 120\n    ;;\n  error)\n    exit 1\n    ;;\n  oom)\n    # Trigger OOM only when the task is still running with the\n    # original memory limit. After retry mitigation the limit\n    # should be increased and this path should no longer OOM.\n    LIMIT=\"max\"\n    [[ -r /sys/fs/cgroup/memory.max ]] \u0026\u0026 read -r LIMIT \u003c /sys/fs/cgroup/memory.max\n\n    THRESHOLD=104857600 # 100 Mi\n\n    if [[ \"${LIMIT}\" != \"max\" ]] \u0026\u0026 (( LIMIT \u003c THRESHOLD )); then\n      echo \"limit ${LIMIT} \u003c ${THRESHOLD}: triggering OOMKill\"\n      X=$(dd if=/dev/zero bs=1M count=150 status=none | tr '\\0' 'a')\n      echo \"${#X}\"\n    else\n      echo \"limit ${LIMIT} sufficient\"\n    fi\n    ;;\n  oom-always)\n  # Always trigger an OOMKill regardless of the memory limit.\n  # This is used to verify that retry mitigation cannot fix\n  # the failure even after resource requests/limits are increased.\n  \n  X=$(dd if=/dev/zero bs=1M count=2048 status=none | tr '\\0' 'a')\n  echo \"${#X}\"\n  ;;\n  none)\n    ;;\n  *)\n    echo \"unknown fail mode: ${FAIL_MODE}\" \u003e\u00262\n    exit 1\n    ;;\nesac\n"
                        },
                        {
                            "computeResources": {
                                "limits": {
                                    "memory": "64Mi"
                                },
                                "requests": {
                                    "cpu": "100m",
                                    "memory": "64Mi"
                                }
                            },
                            "image": "quay.io/konflux-ci/release-service-utils@sha256:850118bc6eda4ca3f98ef1e53109164f64a0945a6ac0942f908b7e106f50775c",
                            "name": "task-02-step-02",
                            "script": "#!/usr/bin/env bash\necho \"task-02-step-02: complete\"\n"
                        }
                    ]
                },
                "timeout": "1h0m0s"
            },
            "status": {
                "artifacts": {},
                "completionTime": "2026-10-06T10:08:17Z",
                "conditions": [
                    {
                        "lastTransitionTime": "2026-10-06T10:08:17Z",
                        "message": "All Steps have completed executing",
                        "reason": "Succeeded",
                        "status": "True",
                        "type": "Succeeded"
                    }
                ],
                "podName": "managed-fzbxk-task-02-pod",
                "provenance": {
                    "featureFlags": {
                        "awaitSidecarReadiness": true,
                        "coschedule": "workspaces",
                        "enableAPIFields": "beta",
                        "enableProvenanceInStatus": true,
                        "enforceNonfalsifiability": "none",
                        "maxResultSize": 4096,
                        "resultExtractionMethod": "termination-message",
                        "runningInEnvWithInjectedSidecars": true,
                        "sendCloudEventsForRuns": true,
                        "verificationNoMatchPolicy": "ignore"
                    }
                },
                "startTime": "2026-10-06T10:06:14Z",
                "steps": [
                    {
                        "container": "step-task-02-step-01",
                        "imageID": "quay.io/konflux-ci/release-service-utils@sha256:850118bc6eda4ca3f98ef1e53109164f64a0945a6ac0942f908b7e106f50775c",
                        "name": "task-02-step-01",
                        "provenance": {},
                        "terminated": {
                            "containerID": "containerd://349657f96ca8c23838e8f299e9866165c2672a95cf8bda9b7fd6dd8f0e01d8e6",
                            "exitCode": 0,
                            "finishedAt": "2026-10-06T10:08:17Z",
                            "reason": "Completed",
                            "startedAt": "2026-10-06T10:06:17Z"
                        },
                        "terminationReason": "Completed"
                    },
                    {
                        "container": "step-task-02-step-02",
                        "imageID": "quay.io/konflux-ci/release-service-utils@sha256:850118bc6eda4ca3f98ef1e53109164f64a0945a6ac0942f908b7e106f50775c",
                        "name": "task-02-step-02",
                        "provenance": {},
                        "terminated": {
                            "containerID": "containerd://9b808bd26b505236b1cb23341cfc28284184af3a4d23fa74f38920c77981d014",
                            "exitCode": 0,
                            "finishedAt": "2026-10-06T10:08:17Z",
                            "reason": "Completed",
                            "startedAt": "2026-10-06T10:08:17Z"
                        },
                        "terminationReason": "Completed"
                    }
                ],
                "taskSpec": {
                    "params": [
                        {
                            "name": "failMode",
                            "type": "string"
                        },
                        {
                            "name": "failOnTask",
                            "type": "string"
                        }
                    ],
                    "stepTemplate": {
                        "computeResources": {
                            "limits": {
                                "memory": "64Mi"
                            },
                            "requests": {
                                "cpu": "100m",
                                "memory": "64Mi"
                            }
                        },
                        "image": "quay.io/konflux-ci/release-service-utils@sha256:850118bc6eda4ca3f98ef1e53109164f64a0945a6ac0942f908b7e106f50775c"
                    },
                    "steps": [
                        {
                            "computeResources": {
                                "limits": {
                                    "memory": "64Mi"
                                },
                                "requests": {
                                    "cpu": "100m",
                                    "memory": "64Mi"
                                }
                            },
                            "image": "quay.io/konflux-ci/release-service-utils@sha256:850118bc6eda4ca3f98ef1e53109164f64a0945a6ac0942f908b7e106f50775c",
                            "name": "task-02-step-01",
                            "script": "#!/usr/bin/env bash\nset -euo pipefail\n\nFAIL_MODE=\"pipeline-timeout\"\nFAIL_ON_TASK=\"task-02\"\n\n# pipeline-timeout always runs from task-02 regardless of failOnTask.\nif [[ \"${FAIL_ON_TASK}\" != \"task-02\" \u0026\u0026 \"${FAIL_MODE}\" != \"pipeline-timeout\" ]]; then\n  echo \"task-02: complete\"\n  exit 0\nfi\n\necho \"task-02-step-01: failMode=${FAIL_MODE}\"\n\ncase \"${FAIL_MODE}\" in\n  pipeline-timeout)\n    # Sleep past the pipeline level pipeline/tasks timeout. This is used to verify\n    # that retry mitigation updates both pipeline and tasks timeouts\n    # and allows the pipelineRun to complete on retry.\n    echo \"task-02-step-01: sleeping 120s\"\n    sleep 120\n    ;;\n  error)\n    exit 1\n    ;;\n  oom)\n    # Trigger OOM only when the task is still running with the\n    # original memory limit. After retry mitigation the limit\n    # should be increased and this path should no longer OOM.\n    LIMIT=\"max\"\n    [[ -r /sys/fs/cgroup/memory.max ]] \u0026\u0026 read -r LIMIT \u003c /sys/fs/cgroup/memory.max\n\n    THRESHOLD=104857600 # 100 Mi\n\n    if [[ \"${LIMIT}\" != \"max\" ]] \u0026\u0026 (( LIMIT \u003c THRESHOLD )); then\n      echo \"limit ${LIMIT} \u003c ${THRESHOLD}: triggering OOMKill\"\n      X=$(dd if=/dev/zero bs=1M count=150 status=none | tr '\\0' 'a')\n      echo \"${#X}\"\n    else\n      echo \"limit ${LIMIT} sufficient\"\n    fi\n    ;;\n  oom-always)\n  # Always trigger an OOMKill regardless of the memory limit.\n  # This is used to verify that retry mitigation cannot fix\n  # the failure even after resource requests/limits are increased.\n  \n  X=$(dd if=/dev/zero bs=1M count=2048 status=none | tr '\\0' 'a')\n  echo \"${#X}\"\n  ;;\n  none)\n    ;;\n  *)\n    echo \"unknown fail mode: ${FAIL_MODE}\" \u003e\u00262\n    exit 1\n    ;;\nesac\n"
                        },
                        {
                            "computeResources": {
                                "limits": {
                                    "memory": "64Mi"
                                },
                                "requests": {
                                    "cpu": "100m",
                                    "memory": "64Mi"
                                }
                            },
                            "image": "quay.io/konflux-ci/release-service-utils@sha256:850118bc6eda4ca3f98ef1e53109164f64a0945a6ac0942f908b7e106f50775c",
                            "name": "task-02-step-02",
                            "script": "#!/usr/bin/env bash\necho \"task-02-step-02: complete\"\n"
                        }
                    ]
                }
            }
        },
        {
            "apiVersion": "tekton.dev/v1",
            "kind": "TaskRun",
            "metadata": {
                "annotations": {
                    "chains.tekton.dev/signed": "true",
                    "operator-sdk/primary-resource": "retry-pipeline-timeout-qbaq/snapshot-sample-tv44-d499148-8mwb4",
                    "operator-sdk/primary-resource-type": "Release.appstudio.redhat.com",
                    "pac.test.appstudio.openshift.io/sha": "d49914874789147eb2de9bb6a12cd5d150bfff92",
                    "pac.test.appstudio.openshift.io/url-repository": "https://github.com/redhat-appstudio-qe/dc-metro-map-release",
                    "pipeline.tekton.dev/release": "70f7308",
                    "results.tekton.dev/childReadyForDeletion": "true",
                    "results.tekton.dev/record": "retry-pipeline-timeout-managed/results/4d760a2c-4638-4cf4-baf9-7e5003957c2a/records/65146763-d3d3-40ef-b002-17676080f603",
                    "results.tekton.dev/result": "retry-pipeline-timeout-managed/results/4d760a2c-4638-4cf4-baf9-7e5003957c2a",
                    "results.tekton.dev/stored": "true",
                    "tekton.dev/pipelines.minVersion": "0.12.1",
                    "tekton.dev/tags": "release"
                },
                "creationTimestamp": "2026-10-06T10:04:36Z",
                "deletionGracePeriodSeconds": 0,
                "deletionTimestamp": "2026-10-06T10:08:36Z",
                "finalizers": [
                    "results.tekton.dev/taskrun"
                ],
                "generation": 2,
                "labels": {
                    "app.kubernetes.io/managed-by": "tekton-pipelines",
                    "appstudio.openshift.io/application": "appstudio",
                    "appstudio.openshift.io/service": "release",
                    "appstudio.openshift.io/snapshot": "snapshot-sample-tv44",
                    "pipelines.appstudio.openshift.io/type": "managed",
                    "release.appstudio.openshift.io/attempt": "0",
                    "release.appstudio.openshift.io/name": "snapshot-sample-tv44-d499148-8mwb4",
                    "release.appstudio.openshift.io/namespace": "retry-pipeline-timeout-qbaq",
                    "tekton.dev/memberOf": "tasks",
                    "tekton.dev/pipeline": "retry-e2e-managed",
                    "tekton.dev/pipelineRun": "managed-scx7v",
                    "tekton.dev/pipelineRunUID": "4d760a2c-4638-4cf4-baf9-7e5003957c2a",
                    "tekton.dev/pipelineTask": "task-01"
                },
                "name": "managed-scx7v-task-01",
                "namespace": "retry-pipeline-timeout-managed",
                "ownerReferences": [
                    {
                        "apiVersion": "tekton.dev/v1",
                        "blockOwnerDeletion": true,
                        "controller": true,
                        "kind": "PipelineRun",
                        "name": "managed-scx7v",
                        "uid": "4d760a2c-4638-4cf4-baf9-7e5003957c2a"
                    }
                ],
                "resourceVersion": "23284",
                "uid": "65146763-d3d3-40ef-b002-17676080f603"
            },
            "spec": {
                "params": [
                    {
                        "name": "failMode",
                        "value": "pipeline-timeout"
                    },
                    {
                        "name": "failOnTask",
                        "value": "task-02"
                    }
                ],
                "serviceAccountName": "release-service-account",
                "taskSpec": {
                    "params": [
                        {
                            "name": "failMode",
                            "type": "string"
                        },
                        {
                            "name": "failOnTask",
                            "type": "string"
                        }
                    ],
                    "steps": [
                        {
                            "computeResources": {
                                "limits": {
                                    "memory": "64Mi"
                                },
                                "requests": {
                                    "cpu": "100m",
                                    "memory": "64Mi"
                                }
                            },
                            "image": "quay.io/konflux-ci/release-service-utils@sha256:850118bc6eda4ca3f98ef1e53109164f64a0945a6ac0942f908b7e106f50775c",
                            "name": "task-01-step-01",
                            "script": "#!/usr/bin/env bash\nset -euo pipefail\n\nFAIL_MODE=\"$(params.failMode)\"\nFAIL_ON_TASK=\"$(params.failOnTask)\"\n\n# Only inject failures into the selected task.\n[[ \"${FAIL_ON_TASK}\" == \"task-01\" ]] || exit 0\n\necho \"task-01-step-01: failMode=${FAIL_MODE}\"\n\ncase \"${FAIL_MODE}\" in\n  error)\n    exit 1\n    ;;\n  oom)\n    # Trigger OOM only when the task is still running with the\n    # original memory limit. After retry mitigation the limit\n    # should be increased and this path should no longer OOM.\n    LIMIT=\"max\"\n    [[ -r /sys/fs/cgroup/memory.max ]] \u0026\u0026 read -r LIMIT \u003c /sys/fs/cgroup/memory.max\n\n    THRESHOLD=104857600 # 100 Mi\n\n    if [[ \"${LIMIT}\" != \"max\" ]] \u0026\u0026 (( LIMIT \u003c THRESHOLD )); then\n      echo \"limit ${LIMIT} \u003c ${THRESHOLD}: triggering OOMKill\"\n\n      X=$(dd if=/dev/zero bs=1M count=150 status=none | tr '\\0' 'a')\n      echo \"${#X}\"\n    else\n      echo \"limit ${LIMIT} sufficient\"\n    fi\n    ;;\n  task-timeout)\n    # Sleep longer than the task timeout. Which is set to 1 minute.\n    sleep 90\n    ;;\n  none)\n    ;;\n  *)\n    echo \"unknown fail mode: ${FAIL_MODE}\" \u003e\u00262\n    exit 1\n    ;;\nesac\n"
                        },
                        {
                            "computeResources": {
                                "limits": {
                                    "memory": "32Mi"
                                },
                                "requests": {
                                    "cpu": "50m",
                                    "memory": "32Mi"
                                }
                            },
                            "image": "quay.io/konflux-ci/release-service-utils@sha256:850118bc6eda4ca3f98ef1e53109164f64a0945a6ac0942f908b7e106f50775c",
                            "name": "task-01-step-02",
                            "script": "#!/usr/bin/env bash\necho \"task-01-step-02: complete\"\n"
                        }
                    ]
                },
                "timeout": "1m0s"
            },
            "status": {
                "artifacts": {},
                "completionTime": "2026-10-06T10:04:41Z",
                "conditions": [
                    {
                        "lastTransitionTime": "2026-10-06T10:04:41Z",
                        "message": "All Steps have completed executing",
                        "reason": "Succeeded",
                        "status": "True",
                        "type": "Succeeded"
                    }
                ],
                "podName": "managed-scx7v-task-01-pod",
                "provenance": {
                    "featureFlags": {
                        "awaitSidecarReadiness": true,
                        "coschedule": "workspaces",
                        "enableAPIFields": "beta",
                        "enableProvenanceInStatus": true,
                        "enforceNonfalsifiability": "none",
                        "maxResultSize": 4096,
                        "resultExtractionMethod": "termination-message",
                        "runningInEnvWithInjectedSidecars": true,
                        "sendCloudEventsForRuns": true,
                        "verificationNoMatchPolicy": "ignore"
                    }
                },
                "startTime": "2026-10-06T10:04:36Z",
                "steps": [
                    {
                        "container": "step-task-01-step-01",
                        "imageID": "quay.io/konflux-ci/release-service-utils@sha256:850118bc6eda4ca3f98ef1e53109164f64a0945a6ac0942f908b7e106f50775c",
                        "name": "task-01-step-01",
                        "provenance": {},
                        "terminated": {
                            "containerID": "containerd://80b48e4e7d0b8cbcc542289f4f334b8a9401b706db517d13b038cbf64c7d6c5f",
                            "exitCode": 0,
                            "finishedAt": "2026-10-06T10:04:41Z",
                            "reason": "Completed",
                            "startedAt": "2026-10-06T10:04:41Z"
                        },
                        "terminationReason": "Completed"
                    },
                    {
                        "container": "step-task-01-step-02",
                        "imageID": "quay.io/konflux-ci/release-service-utils@sha256:850118bc6eda4ca3f98ef1e53109164f64a0945a6ac0942f908b7e106f50775c",
                        "name": "task-01-step-02",
                        "provenance": {},
                        "terminated": {
                            "containerID": "containerd://9775ed4974818d09c67528627eec31d2cb5102dc601a85ed771776d11a403bb9",
                            "exitCode": 0,
                            "finishedAt": "2026-10-06T10:04:41Z",
                            "reason": "Completed",
                            "startedAt": "2026-10-06T10:04:41Z"
                        },
                        "terminationReason": "Completed"
                    }
                ],
                "taskSpec": {
                    "params": [
                        {
                            "name": "failMode",
                            "type": "string"
                        },
                        {
                            "name": "failOnTask",
                            "type": "string"
                        }
                    ],
                    "steps": [
                        {
                            "computeResources": {
                                "limits": {
                                    "memory": "64Mi"
                                },
                                "requests": {
                                    "cpu": "100m",
                                    "memory": "64Mi"
                                }
                            },
                            "image": "quay.io/konflux-ci/release-service-utils@sha256:850118bc6eda4ca3f98ef1e53109164f64a0945a6ac0942f908b7e106f50775c",
                            "name": "task-01-step-01",
                            "script": "#!/usr/bin/env bash\nset -euo pipefail\n\nFAIL_MODE=\"pipeline-timeout\"\nFAIL_ON_TASK=\"task-02\"\n\n# Only inject failures into the selected task.\n[[ \"${FAIL_ON_TASK}\" == \"task-01\" ]] || exit 0\n\necho \"task-01-step-01: failMode=${FAIL_MODE}\"\n\ncase \"${FAIL_MODE}\" in\n  error)\n    exit 1\n    ;;\n  oom)\n    # Trigger OOM only when the task is still running with the\n    # original memory limit. After retry mitigation the limit\n    # should be increased and this path should no longer OOM.\n    LIMIT=\"max\"\n    [[ -r /sys/fs/cgroup/memory.max ]] \u0026\u0026 read -r LIMIT \u003c /sys/fs/cgroup/memory.max\n\n    THRESHOLD=104857600 # 100 Mi\n\n    if [[ \"${LIMIT}\" != \"max\" ]] \u0026\u0026 (( LIMIT \u003c THRESHOLD )); then\n      echo \"limit ${LIMIT} \u003c ${THRESHOLD}: triggering OOMKill\"\n\n      X=$(dd if=/dev/zero bs=1M count=150 status=none | tr '\\0' 'a')\n      echo \"${#X}\"\n    else\n      echo \"limit ${LIMIT} sufficient\"\n    fi\n    ;;\n  task-timeout)\n    # Sleep longer than the task timeout. Which is set to 1 minute.\n    sleep 90\n    ;;\n  none)\n    ;;\n  *)\n    echo \"unknown fail mode: ${FAIL_MODE}\" \u003e\u00262\n    exit 1\n    ;;\nesac\n"
                        },
                        {
                            "computeResources": {
                                "limits": {
                                    "memory": "32Mi"
                                },
                                "requests": {
                                    "cpu": "50m",
                                    "memory": "32Mi"
                                }
                            },
                            "image": "quay.io/konflux-ci/release-service-utils@sha256:850118bc6eda4ca3f98ef1e53109164f64a0945a6ac0942f908b7e106f50775c",
                            "name": "task-01-step-02",
                            "script": "#!/usr/bin/env bash\necho \"task-01-step-02: complete\"\n"
                        }
                    ]
                }
            }
        },
        {
            "apiVersion": "tekton.dev/v1",
            "kind": "TaskRun",
            "metadata": {
                "annotations": {
                    "chains.tekton.dev/signed": "true",
                    "operator-sdk/primary-resource": "retry-pipeline-timeout-qbaq/snapshot-sample-tv44-d499148-8mwb4",
                    "operator-sdk/primary-resource-type": "Release.appstudio.redhat.com",
                    "pac.test.appstudio.openshift.io/sha": "d49914874789147eb2de9bb6a12cd5d150bfff92",
                    "pac.test.appstudio.openshift.io/url-repository": "https://github.com/redhat-appstudio-qe/dc-metro-map-release",
                    "pipeline.tekton.dev/release": "70f7308",
                    "results.tekton.dev/childReadyForDeletion": "true",
                    "results.tekton.dev/record": "retry-pipeline-timeout-managed/results/4d760a2c-4638-4cf4-baf9-7e5003957c2a/records/b6d6b3b5-515d-457d-a4fb-28a0fa35eae2",
                    "results.tekton.dev/result": "retry-pipeline-timeout-managed/results/4d760a2c-4638-4cf4-baf9-7e5003957c2a",
                    "results.tekton.dev/stored": "true",
                    "tekton.dev/pipelines.minVersion": "0.12.1",
                    "tekton.dev/tags": "release"
                },
                "creationTimestamp": "2026-10-06T10:04:41Z",
                "deletionGracePeriodSeconds": 0,
                "deletionTimestamp": "2026-10-06T10:08:36Z",
                "finalizers": [
                    "results.tekton.dev/taskrun"
                ],
                "generation": 3,
                "labels": {
                    "app.kubernetes.io/managed-by": "tekton-pipelines",
                    "appstudio.openshift.io/application": "appstudio",
                    "appstudio.openshift.io/service": "release",
                    "appstudio.openshift.io/snapshot": "snapshot-sample-tv44",
                    "pipelines.appstudio.openshift.io/type": "managed",
                    "release.appstudio.openshift.io/attempt": "0",
                    "release.appstudio.openshift.io/name": "snapshot-sample-tv44-d499148-8mwb4",
                    "release.appstudio.openshift.io/namespace": "retry-pipeline-timeout-qbaq",
                    "tekton.dev/memberOf": "tasks",
                    "tekton.dev/pipeline": "retry-e2e-managed",
                    "tekton.dev/pipelineRun": "managed-scx7v",
                    "tekton.dev/pipelineRunUID": "4d760a2c-4638-4cf4-baf9-7e5003957c2a",
                    "tekton.dev/pipelineTask": "task-02"
                },
                "name": "managed-scx7v-task-02",
                "namespace": "retry-pipeline-timeout-managed",
                "ownerReferences": [
                    {
                        "apiVersion": "tekton.dev/v1",
                        "blockOwnerDeletion": true,
                        "controller": true,
                        "kind": "PipelineRun",
                        "name": "managed-scx7v",
                        "uid": "4d760a2c-4638-4cf4-baf9-7e5003957c2a"
                    }
                ],
                "resourceVersion": "23286",
                "uid": "b6d6b3b5-515d-457d-a4fb-28a0fa35eae2"
            },
            "spec": {
                "params": [
                    {
                        "name": "failMode",
                        "value": "pipeline-timeout"
                    },
                    {
                        "name": "failOnTask",
                        "value": "task-02"
                    }
                ],
                "serviceAccountName": "release-service-account",
                "status": "TaskRunCancelled",
                "statusMessage": "TaskRun cancelled as the PipelineRun it belongs to has timed out.",
                "taskSpec": {
                    "params": [
                        {
                            "name": "failMode",
                            "type": "string"
                        },
                        {
                            "name": "failOnTask",
                            "type": "string"
                        }
                    ],
                    "stepTemplate": {
                        "computeResources": {
                            "limits": {
                                "memory": "64Mi"
                            },
                            "requests": {
                                "cpu": "100m",
                                "memory": "64Mi"
                            }
                        },
                        "image": "quay.io/konflux-ci/release-service-utils@sha256:850118bc6eda4ca3f98ef1e53109164f64a0945a6ac0942f908b7e106f50775c"
                    },
                    "steps": [
                        {
                            "computeResources": {
                                "limits": {
                                    "memory": "64Mi"
                                },
                                "requests": {
                                    "cpu": "100m",
                                    "memory": "64Mi"
                                }
                            },
                            "image": "quay.io/konflux-ci/release-service-utils@sha256:850118bc6eda4ca3f98ef1e53109164f64a0945a6ac0942f908b7e106f50775c",
                            "name": "task-02-step-01",
                            "script": "#!/usr/bin/env bash\nset -euo pipefail\n\nFAIL_MODE=\"$(params.failMode)\"\nFAIL_ON_TASK=\"$(params.failOnTask)\"\n\n# pipeline-timeout always runs from task-02 regardless of failOnTask.\nif [[ \"${FAIL_ON_TASK}\" != \"task-02\" \u0026\u0026 \"${FAIL_MODE}\" != \"pipeline-timeout\" ]]; then\n  echo \"task-02: complete\"\n  exit 0\nfi\n\necho \"task-02-step-01: failMode=${FAIL_MODE}\"\n\ncase \"${FAIL_MODE}\" in\n  pipeline-timeout)\n    # Sleep past the pipeline level pipeline/tasks timeout. This is used to verify\n    # that retry mitigation updates both pipeline and tasks timeouts\n    # and allows the pipelineRun to complete on retry.\n    echo \"task-02-step-01: sleeping 120s\"\n    sleep 120\n    ;;\n  error)\n    exit 1\n    ;;\n  oom)\n    # Trigger OOM only when the task is still running with the\n    # original memory limit. After retry mitigation the limit\n    # should be increased and this path should no longer OOM.\n    LIMIT=\"max\"\n    [[ -r /sys/fs/cgroup/memory.max ]] \u0026\u0026 read -r LIMIT \u003c /sys/fs/cgroup/memory.max\n\n    THRESHOLD=104857600 # 100 Mi\n\n    if [[ \"${LIMIT}\" != \"max\" ]] \u0026\u0026 (( LIMIT \u003c THRESHOLD )); then\n      echo \"limit ${LIMIT} \u003c ${THRESHOLD}: triggering OOMKill\"\n      X=$(dd if=/dev/zero bs=1M count=150 status=none | tr '\\0' 'a')\n      echo \"${#X}\"\n    else\n      echo \"limit ${LIMIT} sufficient\"\n    fi\n    ;;\n  oom-always)\n  # Always trigger an OOMKill regardless of the memory limit.\n  # This is used to verify that retry mitigation cannot fix\n  # the failure even after resource requests/limits are increased.\n  \n  X=$(dd if=/dev/zero bs=1M count=2048 status=none | tr '\\0' 'a')\n  echo \"${#X}\"\n  ;;\n  none)\n    ;;\n  *)\n    echo \"unknown fail mode: ${FAIL_MODE}\" \u003e\u00262\n    exit 1\n    ;;\nesac\n"
                        },
                        {
                            "computeResources": {
                                "limits": {
                                    "memory": "64Mi"
                                },
                                "requests": {
                                    "cpu": "100m",
                                    "memory": "64Mi"
                                }
                            },
                            "image": "quay.io/konflux-ci/release-service-utils@sha256:850118bc6eda4ca3f98ef1e53109164f64a0945a6ac0942f908b7e106f50775c",
                            "name": "task-02-step-02",
                            "script": "#!/usr/bin/env bash\necho \"task-02-step-02: complete\"\n"
                        }
                    ]
                },
                "timeout": "1h0m0s"
            },
            "status": {
                "completionTime": "2026-10-06T10:06:01Z",
                "conditions": [
                    {
                        "lastTransitionTime": "2026-10-06T10:06:01Z",
                        "message": "TaskRun \"managed-scx7v-task-02\" was cancelled. TaskRun cancelled as the PipelineRun it belongs to has timed out.",
                        "reason": "TaskRunCancelled",
                        "status": "False",
                        "type": "Succeeded"
                    }
                ],
                "podName": "managed-scx7v-task-02-pod",
                "provenance": {
                    "featureFlags": {
                        "awaitSidecarReadiness": true,
                        "coschedule": "workspaces",
                        "enableAPIFields": "beta",
                        "enableProvenanceInStatus": true,
                        "enforceNonfalsifiability": "none",
                        "maxResultSize": 4096,
                        "resultExtractionMethod": "termination-message",
                        "runningInEnvWithInjectedSidecars": true,
                        "sendCloudEventsForRuns": true,
                        "verificationNoMatchPolicy": "ignore"
                    }
                },
                "startTime": "2026-10-06T10:04:41Z",
                "steps": [
                    {
                        "container": "step-task-02-step-01",
                        "imageID": "quay.io/konflux-ci/release-service-utils@sha256:850118bc6eda4ca3f98ef1e53109164f64a0945a6ac0942f908b7e106f50775c",
                        "name": "task-02-step-01",
                        "provenance": {},
                        "terminated": {
                            "exitCode": 1,
                            "finishedAt": "2026-10-06T10:06:01Z",
                            "message": "Step task-02-step-01 terminated as pod managed-scx7v-task-02-pod is terminated",
                            "reason": "TaskRunCancelled",
                            "startedAt": "2026-10-06T10:04:44Z"
                        },
                        "terminationReason": "TaskRunCancelled"
                    },
                    {
                        "container": "step-task-02-step-02",
                        "imageID": "quay.io/konflux-ci/release-service-utils@sha256:850118bc6eda4ca3f98ef1e53109164f64a0945a6ac0942f908b7e106f50775c",
                        "name": "task-02-step-02",
                        "provenance": {},
                        "terminated": {
                            "exitCode": 1,
                            "finishedAt": "2026-10-06T10:06:01Z",
                            "message": "Step task-02-step-02 terminated as pod managed-scx7v-task-02-pod is terminated",
                            "reason": "TaskRunCancelled",
                            "startedAt": "2026-10-06T10:04:44Z"
                        },
                        "terminationReason": "TaskRunCancelled"
                    }
                ],
                "taskSpec": {
                    "params": [
                        {
                            "name": "failMode",
                            "type": "string"
                        },
                        {
                            "name": "failOnTask",
                            "type": "string"
                        }
                    ],
                    "stepTemplate": {
                        "computeResources": {
                            "limits": {
                                "memory": "64Mi"
                            },
                            "requests": {
                                "cpu": "100m",
                                "memory": "64Mi"
                            }
                        },
                        "image": "quay.io/konflux-ci/release-service-utils@sha256:850118bc6eda4ca3f98ef1e53109164f64a0945a6ac0942f908b7e106f50775c"
                    },
                    "steps": [
                        {
                            "computeResources": {
                                "limits": {
                                    "memory": "64Mi"
                                },
                                "requests": {
                                    "cpu": "100m",
                                    "memory": "64Mi"
                                }
                            },
                            "image": "quay.io/konflux-ci/release-service-utils@sha256:850118bc6eda4ca3f98ef1e53109164f64a0945a6ac0942f908b7e106f50775c",
                            "name": "task-02-step-01",
                            "script": "#!/usr/bin/env bash\nset -euo pipefail\n\nFAIL_MODE=\"pipeline-timeout\"\nFAIL_ON_TASK=\"task-02\"\n\n# pipeline-timeout always runs from task-02 regardless of failOnTask.\nif [[ \"${FAIL_ON_TASK}\" != \"task-02\" \u0026\u0026 \"${FAIL_MODE}\" != \"pipeline-timeout\" ]]; then\n  echo \"task-02: complete\"\n  exit 0\nfi\n\necho \"task-02-step-01: failMode=${FAIL_MODE}\"\n\ncase \"${FAIL_MODE}\" in\n  pipeline-timeout)\n    # Sleep past the pipeline level pipeline/tasks timeout. This is used to verify\n    # that retry mitigation updates both pipeline and tasks timeouts\n    # and allows the pipelineRun to complete on retry.\n    echo \"task-02-step-01: sleeping 120s\"\n    sleep 120\n    ;;\n  error)\n    exit 1\n    ;;\n  oom)\n    # Trigger OOM only when the task is still running with the\n    # original memory limit. After retry mitigation the limit\n    # should be increased and this path should no longer OOM.\n    LIMIT=\"max\"\n    [[ -r /sys/fs/cgroup/memory.max ]] \u0026\u0026 read -r LIMIT \u003c /sys/fs/cgroup/memory.max\n\n    THRESHOLD=104857600 # 100 Mi\n\n    if [[ \"${LIMIT}\" != \"max\" ]] \u0026\u0026 (( LIMIT \u003c THRESHOLD )); then\n      echo \"limit ${LIMIT} \u003c ${THRESHOLD}: triggering OOMKill\"\n      X=$(dd if=/dev/zero bs=1M count=150 status=none | tr '\\0' 'a')\n      echo \"${#X}\"\n    else\n      echo \"limit ${LIMIT} sufficient\"\n    fi\n    ;;\n  oom-always)\n  # Always trigger an OOMKill regardless of the memory limit.\n  # This is used to verify that retry mitigation cannot fix\n  # the failure even after resource requests/limits are increased.\n  \n  X=$(dd if=/dev/zero bs=1M count=2048 status=none | tr '\\0' 'a')\n  echo \"${#X}\"\n  ;;\n  none)\n    ;;\n  *)\n    echo \"unknown fail mode: ${FAIL_MODE}\" \u003e\u00262\n    exit 1\n    ;;\nesac\n"
                        },
                        {
                            "computeResources": {
                                "limits": {
                                    "memory": "64Mi"
                                },
                                "requests": {
                                    "cpu": "100m",
                                    "memory": "64Mi"
                                }
                            },
                            "image": "quay.io/konflux-ci/release-service-utils@sha256:850118bc6eda4ca3f98ef1e53109164f64a0945a6ac0942f908b7e106f50775c",
                            "name": "task-02-step-02",
                            "script": "#!/usr/bin/env bash\necho \"task-02-step-02: complete\"\n"
                        }
                    ]
                }
            }
        }
    ],
    "kind": "List",
    "metadata": {
        "resourceVersion": ""
    }
}
