jenkins-x/jx

Upgrade Tekton to latest version

Opened this issue ยท 1 comments

We will need kubernetes version v1.28.x everywhere

  • Starting from the v0.24.x release of Tekton: Kubernetes version 1.18 or later
  • Starting from the v0.27.x release of Tekton: Kubernetes version 1.19 or later
  • Starting from the v0.30.x release of Tekton: Kubernetes version 1.20 or later
  • Starting from the v0.33.x release of Tekton: Kubernetes version 1.21 or later
  • Starting from the v0.39.x release of Tekton: Kubernetes version 1.22 or later
  • Starting from the v0.41.x release of Tekton: Kubernetes version 1.23 or later
  • Starting from the v0.45.x release of Tekton: Kubernetes version 1.24 or later
  • Starting from the v0.51.x release of Tekton: Kubernetes version 1.25 or later
  • Starting from the v0.59.x release of Tekton: Kubernetes version 1.27 or later
  • Starting from the v0.61.x release of Tekton: Kubernetes version 1.28 or later

Kubernetes deprecation guide: from here

v1-25

Tekton backwards incompatible changes:

  • https://github.com/tektoncd/pipeline/releases/tag/v0.44.0

    • In current release:
      • ๐Ÿšจ "embedded-status" now defaults to "minimal" (#5934)
      • ๐Ÿšจ Cluster PipelineResources have been removed (#5996)
      • ๐Ÿšจ CloudEvent PipelineResources have been removed (#5995)
  • https://github.com/tektoncd/pipeline/releases/tag/v0.45.0

  • In current release:

    • ๐Ÿšจ pipelinerun.status.taskRuns and pipelinerun.status.runs have been removed.
      • The pipelinerun.status.taskRuns and pipelinerun.status.runs fields have been removed, along with the embedded-status feature flag. If you are using these fields in your own tooling, please migrate to using pipelinerun.status.childReferences instead. (#6099).
  • https://github.com/tektoncd/pipeline/releases/tag/v0.46.0

  • In current release:

    • ๐Ÿšจ remove config-trusted-resources (#6305)
    • BREAKING CHANGE: [alpha] config-trusted-resources is removed, please refer to for migrating public keys in VerificationPolicy
  • https://github.com/tektoncd/pipeline/releases/tag/v0.49.0

    • In current release:
      • ๐Ÿšจ Enable beta features by default (#6732)
      • action required: "enable-api-fields" is set to "beta" by default. If you are using v1 APIs and would like to use only stable features, modify the "feature-flags" configmap in the "tekton-pipelines" namespace to set "enable-api-fields" to "stable". Example command: kubectl patch cm feature-flags -n tekton-pipelines -p '{"data":{"enable-api-fields":"stable"}}'If you are using v1beta1 APIs, no action is needed.
  • https://github.com/tektoncd/pipeline/releases/tag/v0.53.0

    • In the current release:
      • ๐Ÿšจ The behaviour of the enable-api-field flag has been fixed, resulting in a slight behaviour change: when using the v1beta1 API, API features in beta are only available when the enable-api-field is set to beta or alpha. Beta features used to be enabled on the v1beta1 API regardless of the value of enable-api-field.Note that:
        The default value for enable-api-field is beta
        Users that have the flag set to alpha or beta will continue to have access to beta features on v1beta1 and v1 APIs
        Users that have the flag set to stable will continue to not have access to beta features on the v1 API
        So in practice, there is no breaking change for users. Users of the v1beta1 API may now disable beta features, should they wish to do so, which was not possible before.

What do we need to do


@msvticket @Skisocks

According to https://github.com/tektoncd/pipeline/blob/main/docs/deprecations.md#v1beta1-deprecation the v1beta1 versions will be supported by tekton for a couple of years. So we should be able to support v1 and v1beta1 at the same time for a while, making the transition easier for us and our users.