github tektoncd/pipeline v0.53.0
Tekton Pipeline release v0.53.0 "Munchkin Maschinenmensch" LTS

latest releases: v0.62.3, v0.63.0, v0.62.2...
10 months ago

🎉 CEL-based when expressions, Results from Matrices, beta promotions and more 🎉

-Docs @ v0.53.0
-Examples @ v0.53.0

Installation one-liner

kubectl apply -f https://storage.googleapis.com/tekton-releases/pipeline/previous/v0.53.0/release.yaml

Attestation

The Rekor UUID for this release is 24296fb24b8ad77ae1d898a8665e246adf87237e426dcb51e61a4f34dfda16ed10148ce5c80c57df

Obtain the attestation:

REKOR_UUID=24296fb24b8ad77ae1d898a8665e246adf87237e426dcb51e61a4f34dfda16ed10148ce5c80c57df
rekor-cli get --uuid $REKOR_UUID --format json | jq -r .Attestation | jq .

Verify that all container images in the attestation are in the release file:

RELEASE_FILE=https://storage.googleapis.com/tekton-releases/pipeline/previous/v0.53.0/release.yaml
REKOR_UUID=24296fb24b8ad77ae1d898a8665e246adf87237e426dcb51e61a4f34dfda16ed10148ce5c80c57df

# Obtains the list of images with sha from the attestation
REKOR_ATTESTATION_IMAGES=$(rekor-cli get --uuid "$REKOR_UUID" --format json | jq -r .Attestation | jq -r '.subject[]|.name + ":v0.53.0@sha256:" + .digest.sha256')

# Download the release file
curl "$RELEASE_FILE" > release.yaml

# For each image in the attestation, match it to the release file
for image in $REKOR_ATTESTATION_IMAGES; do
  printf $image; grep -q $image release.yaml && echo " ===> ok" || echo " ===> no match";
done

Upgrade Notices

  • [TEP-0104] Task-level Resource Requirements in now beta
  • Matrix is now beta
  • Starting with this release, all new API driven features will be controlled by individual feature flags, and the enable-api-fields flag will be eventually phased out, once all API features currently in alpha/beta reach stability (or are removed)

Changes

Features

  • ✨ parameterize pipelineTask (#7273)

displayName can now accept params, task result references, or context variables.

  • ✨ Hub resolver: add version constraints (#7257)

hub resolver can now specify a version constraint to choose a version (example: version: ">=0.2.0,< 1.0.0")

  • ✨ Set public Tekton Hub API as default catalog (#7256)

tekton resolver now uses hub.tekton.dev by default.

  • ✨ [TEP-0145] Add CEL field to WhenExpression

    • ✨ [TEP-0145] Add CEL field to WhenExpression, and feature flag to guard the field (#7247)
    • ✨ [TEP-0145] Add sanity check for CEL expression (#7251)
    • ✨ [TEP-0145] Add CEL evaluation (#7255)
      Support CEL expression in WhenExpression to guard the execution of Tasks
  • ✨ Add a setting disallowing access to all namespaces (#7237)

Add special value * to the blocked-namespace setting for the cluster-resolver to disallow by default all namespaces and only allow the namespaces explicitly listed in allowed-namespace setting.

  • ✨ [TEP-0104] Task-level Resource Requirements to beta (#7225)

The task-level resource requirements feature allows the user to set computeResources at runtime i.e. on TaskRun. This is now enabled as part of the beta API.

  • ✨ TEP-140: Produce Results in Matrix (#7167)

Pipeline authors can now produce results from a Matrixed PipelineTask as an aggregated array and consume them in an array params. Two context variables are introduced as part of this feature, $(tasks..matrix.length) to get the length of a matrix combinations and $(tasks..matrix..length) to get a length of aggregated result.

  • ✨ Promoting Matrix to Beta 🎉 🎓 (#7164)

Matrix feature is promoted to beta and possible to utilize with enable-api-fields set to beta.

  • ✨ TEP-0107: propagate results to embedded task spec (#7100)

Results are propagated in embedded specifications without mutations.

  • ✨ [TEP0138] Add Per-feature Flag Struct for New Features (#7090)

Please use per feature flags for new API-driven feature gating.

  • ✨ feat: add ability to include reason in count metrics (#7060)

Add ability to include reason along with status in TaskRun and PipelineRun count metrics

Backwards incompatible changes

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.

Work-in-progress

  • 🚧 TEP-0142: Introduce feature flag (#7277)

[WIP] Introduces a new feature flag "enable-step-actions: true/false" to gate the use of step actions.

  • 🚧 TEP-0142: Introducing the StepAction CRD (#7260)

Introduced the StepAction CRD as designed in https://github.com/tektoncd/community/blob/main/teps/0142-enable-step-reusability.md. The implementation is still ongoing; feature is not yet functional.

  • 🚧 [TEP-0050] Add OnError field (#7162)

Fixes

  • 🐛 Regression: fix results with out of order tasks (#7169)

Fix regression where a different order of task definition may cause result resolution to break

  • 🐛 Fix race condition in PVC deletion (#7149)

Bug fix: delete PVCs created by VolumeClaimTemplates when the owning PipelineRun is completed

  • 🐛 Recover Conversion Functions from Pipeline Resources for backwards compatibility (#7109)

Recover Conversion Functions from Pipeline Resources for backwards compatibility

  • 🐛 Different configmap for Leader Election per deployment (#7014)

Change configmap for LeaderElection of webhook to config-leader-election-webhook, event controller to config-leader-election-event and resolvers to config-leader-election-resolvers

  • 🐛 fix wait entrypoint cancellation error log output. (#7272)
  • 🐛 Flake Test fix: Sort TaskRunResults (#7254)
  • 🐛 fix waiter test is flaky (#7227)
  • 🐛 🔒 Update knative/pkg 1.11 to address CVE-2023-44487 (#7210)

Misc

  • 🔨 Refactor version.ValidateEnabledAPIFields to config pkg (#7206)

refactor: version.ValidateEnabledAPIFields has been moved to the config package

  • 🔨 [TEP0138] Decouple v1beta1 beta feature validation (#6941)

v1beta1 CRDs with beta features now requires beta enable-api-fields. More specifically, users who have been accidentally using beta features resolvers, object array params and results with enable-api-fields set to stable now needs to change to enable-api-fields=beta

  • 🔨 #7027 Cleanup cmp.Diff(want, got) for all diff.PrintWantGot() (#7209)
  • 🔨 Avoid unnecessary scans for codeql on non code (#7286)
  • 🔨 Bump k8s.io/client-go from 0.27.6 to 0.27.7 in /test/custom-task-ctrls/wait-task-beta (#7261)
  • 🔨 Bump github.com/sigstore/sigstore from 1.7.3 to 1.7.4 (#7246)
  • 🔨 [TEP-0145] Pull in cel-go to vendor (#7245)
  • 🔨 Bump github.com/tektoncd/pipeline from 0.52.0 to 0.52.1 in /test/custom-task-ctrls/wait-task-beta (#7219)
  • 🔨 Bump github.com/sigstore/sigstore/pkg/signature/kms/hashivault from 1.7.3 to 1.7.4 (#7213)
  • 🔨 Bump github.com/spiffe/spire-api-sdk from 1.8.0 to 1.8.1 (#7204)
  • 🔨 Bump google.golang.org/grpc from 1.58.2 to 1.58.3 (#7203)
  • 🔨 #6614 Add inclusive source scanning (#7199)
  • 🔨 Rename test cases for beta feature validations (#7198)
  • 🔨 Bump github.com/google/go-cmp from 0.5.9 to 0.6.0 (#7197)
  • 🔨 Bump github.com/containerd/containerd from 1.7.6 to 1.7.7 (#7196)
  • 🔨 Bump github.com/google/go-cmp from 0.5.9 to 0.6.0 in /test/custom-task-ctrls/wait-task-beta (#7195)
  • 🔨 Add reviewers section to OWNERS file. (#7193)
  • 🔨 Add @chitrangpatel as an pipelines maintainer (#7181)
  • 🔨 Bump golang.org/x/sync from 0.3.0 to 0.4.0 (#7178)
  • 🔨 update perl docker image with multi-arch tag (#7171)
  • 🔨 Add @Yongxuanzhang as a pipelines maintainer (#7168)
  • 🔨 Bump go.opentelemetry.io/otel/sdk from 1.16.0 to 1.19.0 (#7163)
  • 🔨 Bump github.com/opencontainers/image-spec from 1.1.0-rc4 to 1.1.0-rc5 (#7161)
  • 🔨 Increase the publish timeout (#7160)
  • 🔨 Bump google.golang.org/grpc from 1.58.1 to 1.58.2 (#7158)
  • 🔨 Increase the publish task timeout (#7156)
  • 🔨 Bump github.com/go-git/go-git/v5 from 5.8.1 to 5.9.0 (#7154)
  • 🔨 Bump github.com/google/uuid from 1.3.0 to 1.3.1 (#7151)
  • 🔨 Fix latest folder in releases (#7146)
  • 🔨 updating an example - results using sidecar logs (#7145)
  • 🔨 Bump github.com/tektoncd/pipeline from 0.51.0 to 0.52.0 in /test/custom-task-ctrls/wait-task-beta (#7142)
  • 🔨 Bump go.uber.org/zap from 1.25.0 to 1.26.0 (#7141)
  • 🔨 Bump github.com/go-git/go-billy/v5 from 5.4.1 to 5.5.0 (#7140)
  • 🔨 documenting 0.51 and 0.52 releases (#7139)
  • 🔨 Bump gomodules.xyz/jsonpatch/v2 from 2.2.0 to 2.4.0 (#7137)
  • 🔨 Bump github.com/spiffe/spire-api-sdk from 1.7.2 to 1.8.0 (#7136)
  • 🔨 Bump code.gitea.io/sdk/gitea from 0.15.1 to 0.16.0 (#7135)
  • 🔨 Bump go.opentelemetry.io/otel/exporters/jaeger from 1.16.0 to 1.17.0 (#7134)
  • 🔨 Bump go.opentelemetry.io/otel/trace from 1.16.0 to 1.18.0 (#7133)

Docs

  • 📖 Fix typos in DEVELOPMENT.md file (#7233)
  • 📖 Extend release timeouts in release cheatsheet (#7212)
  • 📖 #7190 display name link fixed in pipelines.md (#7205)
  • 📖 Added note to install.md to use tektoncd/operator for production installs (#7194)
  • 📖 Fix typo in documentation (#7176)
  • 📖 Add V1 Migration Guide Link in tektoncd/pipeline Readme (#7157)
  • 📖 Docs: Add TaskRun Status documentation section (#7147)
  • 📖 Fix typo in v0.52 EOL date (#7143)
  • 📖 [TEP0138] RFC: Add feature graduation process documentation (#7076)

Thanks

Thanks to these contributors who contributed to v0.53.0!

Extra shout-out for awesome release notes:

Don't miss a new pipeline release

NewReleases is sending notifications on new releases.