{
    "apiVersion": "v1",
    "items": [
        {
            "apiVersion": "tekton.dev/v1",
            "kind": "PipelineRun",
            "metadata": {
                "annotations": {
                    "chains.tekton.dev/signed": "true",
                    "operator-sdk/primary-resource": "retry-taskrunspecs-oom-qbob/snapshot-sample-ksmm-d499148-zf8hs",
                    "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",
                    "results.tekton.dev/record": "retry-taskrunspecs-oom-managed/results/25d4c491-f169-4b81-bc98-e01ce3a51129/records/25d4c491-f169-4b81-bc98-e01ce3a51129",
                    "results.tekton.dev/result": "retry-taskrunspecs-oom-managed/results/25d4c491-f169-4b81-bc98-e01ce3a51129",
                    "results.tekton.dev/stored": "true",
                    "tekton.dev/pipelines.minVersion": "0.12.1",
                    "tekton.dev/tags": "release"
                },
                "creationTimestamp": "2026-10-06T07:49:10Z",
                "deletionGracePeriodSeconds": 0,
                "deletionTimestamp": "2026-10-06T07:49:39Z",
                "finalizers": [
                    "results.tekton.dev/pipelinerun"
                ],
                "generateName": "managed-",
                "generation": 2,
                "labels": {
                    "appstudio.openshift.io/application": "appstudio",
                    "appstudio.openshift.io/service": "release",
                    "appstudio.openshift.io/snapshot": "snapshot-sample-ksmm",
                    "pipelines.appstudio.openshift.io/type": "managed",
                    "release.appstudio.openshift.io/attempt": "2",
                    "release.appstudio.openshift.io/name": "snapshot-sample-ksmm-d499148-zf8hs",
                    "release.appstudio.openshift.io/namespace": "retry-taskrunspecs-oom-qbob",
                    "tekton.dev/pipeline": "retry-e2e-managed"
                },
                "name": "managed-n8nlq",
                "namespace": "retry-taskrunspecs-oom-managed",
                "resourceVersion": "23401",
                "uid": "25d4c491-f169-4b81-bc98-e01ce3a51129"
            },
            "spec": {
                "params": [
                    {
                        "name": "release",
                        "value": "retry-taskrunspecs-oom-qbob/snapshot-sample-ksmm-d499148-zf8hs"
                    },
                    {
                        "name": "releasePlan",
                        "value": "retry-taskrunspecs-oom-qbob/source-releaseplan"
                    },
                    {
                        "name": "releasePlanAdmission",
                        "value": "retry-taskrunspecs-oom-managed/demo"
                    },
                    {
                        "name": "releaseServiceConfig",
                        "value": "release-service/release-service-config"
                    },
                    {
                        "name": "snapshot",
                        "value": "retry-taskrunspecs-oom-qbob/snapshot-sample-ksmm"
                    },
                    {
                        "name": "enterpriseContractPolicy",
                        "value": "{\"description\":\"Red Hat's enterprise requirements\",\"sources\":[{\"name\":\"Default\",\"policy\":[\"oci::quay.io/conforma/release-policy:latest@sha256:2df9ba13162aded3e3eda3165530e68871fe6ac095c9b3d77b9dd711a51006eb\"],\"data\":[\"github.com/konflux-ci/konflux-operator-trusted-sources//data?ref=02d9af8ee540d66401c32c5e257a3195470e956b\"],\"config\":{\"exclude\":[\"step_image_registries\",\"tasks.required_tasks_found:prefetch-dependencies\"],\"include\":[\"@slsa3\"]}}],\"publicKey\":\"k8s://retry-taskrunspecs-oom-managed/cosign-public-key\"}"
                    },
                    {
                        "name": "taskGitUrl",
                        "value": "https://github.com/konflux-ci/release-service"
                    },
                    {
                        "name": "taskGitRevision",
                        "value": "341df6ce79548508b3465cd01cb6f8a3139ce9bc"
                    }
                ],
                "pipelineRef": {
                    "params": [
                        {
                            "name": "url",
                            "value": "https://github.com/konflux-ci/release-service"
                        },
                        {
                            "name": "revision",
                            "value": "341df6ce79548508b3465cd01cb6f8a3139ce9bc"
                        },
                        {
                            "name": "pathInRepo",
                            "value": "e2e-tests/pipelines/retry-e2e-managed.yaml"
                        }
                    ],
                    "resolver": "git"
                },
                "taskRunSpecs": [
                    {
                        "pipelineTaskName": "task-01",
                        "stepSpecs": [
                            {
                                "computeResources": {
                                    "limits": {
                                        "memory": "160Mi"
                                    },
                                    "requests": {
                                        "memory": "160Mi"
                                    }
                                },
                                "name": "task-01-step-01"
                            }
                        ]
                    }
                ],
                "taskRunTemplate": {
                    "serviceAccountName": "release-service-account"
                },
                "timeouts": {
                    "pipeline": "1h0m0s",
                    "tasks": "50m0s"
                },
                "workspaces": [
                    {
                        "name": "release-workspace",
                        "volumeClaimTemplate": {
                            "metadata": {},
                            "spec": {
                                "accessModes": [
                                    "ReadWriteOnce"
                                ],
                                "resources": {
                                    "requests": {
                                        "storage": "1Gi"
                                    }
                                }
                            },
                            "status": {}
                        }
                    }
                ]
            },
            "status": {
                "childReferences": [
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "managed-n8nlq-collect-data",
                        "pipelineTaskName": "collect-data"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "managed-n8nlq-task-01",
                        "pipelineTaskName": "task-01"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "managed-n8nlq-task-02",
                        "pipelineTaskName": "task-02"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "managed-n8nlq-finalize",
                        "pipelineTaskName": "finalize"
                    }
                ],
                "completionTime": "2026-10-06T07:49:27Z",
                "conditions": [
                    {
                        "lastTransitionTime": "2026-10-06T07:49:27Z",
                        "message": "Tasks Completed: 4 (Failed: 0, Cancelled 0), Skipped: 0",
                        "reason": "Succeeded",
                        "status": "True",
                        "type": "Succeeded"
                    }
                ],
                "finallyStartTime": "2026-10-06T07:49:23Z",
                "pipelineSpec": {
                    "description": "Managed pipeline for retry E2E tests. Reads failMode and failOnTask from releasePlanAdmission.spec.data. error and oom can be triggered on task-01 or task-02. task-timeout is supported on task-01. pipeline-timeout and oom-always is triggered from task-02.  failOnTask defaults to task-01 if not set.",
                    "finally": [
                        {
                            "name": "finalize",
                            "taskSpec": {
                                "metadata": {},
                                "spec": null,
                                "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"
                                    }
                                ]
                            }
                        }
                    ],
                    "params": [
                        {
                            "name": "release",
                            "type": "string"
                        },
                        {
                            "name": "releasePlan",
                            "type": "string"
                        },
                        {
                            "name": "releasePlanAdmission",
                            "type": "string"
                        },
                        {
                            "name": "releaseServiceConfig",
                            "type": "string"
                        },
                        {
                            "name": "snapshot",
                            "type": "string"
                        },
                        {
                            "name": "enterpriseContractPolicy",
                            "type": "string"
                        }
                    ],
                    "tasks": [
                        {
                            "name": "collect-data",
                            "params": [
                                {
                                    "name": "releasePlanAdmission",
                                    "value": "retry-taskrunspecs-oom-managed/demo"
                                }
                            ],
                            "taskSpec": {
                                "metadata": {},
                                "params": [
                                    {
                                        "name": "releasePlanAdmission",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "name": "failMode",
                                        "type": "string"
                                    },
                                    {
                                        "name": "failOnTask",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "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-taskrunspecs-oom-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"
                                    }
                                ]
                            }
                        },
                        {
                            "name": "task-01",
                            "params": [
                                {
                                    "name": "failMode",
                                    "value": "$(tasks.collect-data.results.failMode)"
                                },
                                {
                                    "name": "failOnTask",
                                    "value": "$(tasks.collect-data.results.failOnTask)"
                                }
                            ],
                            "runAfter": [
                                "collect-data"
                            ],
                            "taskSpec": {
                                "metadata": {},
                                "params": [
                                    {
                                        "name": "failMode",
                                        "type": "string"
                                    },
                                    {
                                        "name": "failOnTask",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "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"
                        },
                        {
                            "name": "task-02",
                            "params": [
                                {
                                    "name": "failMode",
                                    "value": "$(tasks.collect-data.results.failMode)"
                                },
                                {
                                    "name": "failOnTask",
                                    "value": "$(tasks.collect-data.results.failOnTask)"
                                }
                            ],
                            "runAfter": [
                                "task-01"
                            ],
                            "taskSpec": {
                                "metadata": {},
                                "params": [
                                    {
                                        "name": "failMode",
                                        "type": "string"
                                    },
                                    {
                                        "name": "failOnTask",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "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"
                                    }
                                ]
                            }
                        }
                    ]
                },
                "provenance": {
                    "featureFlags": {
                        "awaitSidecarReadiness": true,
                        "coschedule": "workspaces",
                        "enableAPIFields": "beta",
                        "enableProvenanceInStatus": true,
                        "enforceNonfalsifiability": "none",
                        "maxResultSize": 4096,
                        "resultExtractionMethod": "termination-message",
                        "runningInEnvWithInjectedSidecars": true,
                        "sendCloudEventsForRuns": true,
                        "verificationNoMatchPolicy": "ignore"
                    },
                    "refSource": {
                        "digest": {
                            "sha1": "341df6ce79548508b3465cd01cb6f8a3139ce9bc"
                        },
                        "entryPoint": "e2e-tests/pipelines/retry-e2e-managed.yaml",
                        "uri": "git+https://github.com/konflux-ci/release-service"
                    }
                },
                "startTime": "2026-10-06T07:49:10Z"
            }
        }
    ],
    "kind": "List",
    "metadata": {
        "resourceVersion": ""
    }
}
