github tektoncd/pipeline v1.6.0
Tekton Pipeline release v1.6.0 "Sphynx Sentinels"

2 days ago

🎉 Resolvers caching, Pipeline in Pipeline, and better ARM64 support & tested releases 🎉

-Docs @ v1.6.0
-Examples @ v1.6.0

Installation one-liner

kubectl apply -f https://infra.tekton.dev/tekton-releases/pipeline/previous/v1.6.0/release.yaml

Attestation

The Rekor UUID for this release is 108e9186e8c5677a288ca8343f66259e4a615801fa37703480d82893d1c6a45a2935a6632beb4164

Obtain the attestation:

REKOR_UUID=108e9186e8c5677a288ca8343f66259e4a615801fa37703480d82893d1c6a45a2935a6632beb4164
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://infra.tekton.dev/tekton-releases/pipeline/previous/v1.6.0/release.yaml
REKOR_UUID=108e9186e8c5677a288ca8343f66259e4a615801fa37703480d82893d1c6a45a2935a6632beb4164

# 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 + ":v1.6.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

Changes

Features

  • ✨ feat: implement shared cache for bundle, git, and cluster resolvers (#9051)

Support caching for bundle, git, and cluster resolvers, reducing redundant fetches and improving pipeline performance.

Key Features:

  • Automatic caching for immutable references (digest-based bundles, git SHAs)
  • Three cache modes: always (cache everything), never (disable caching),auto (cache only immutable references - default)
  • Configurable via ConfigMap: Set cache size and TTL without restarting controllers
  • Per-task override: Tasks can override global cache settings using the cache parameter
  • Observability: Cache hits/misses and timestamps added to resource annotations

This helps reduce external API calls, improves pipeline exec speed, and provides better resilience during remote resource resolution.

  • ✨ feat: resolve array values in Input of When expressions (#9038)

Array values can now be resolved in the Input attribute of When expressions

  • ✨ Issue 9032 - Add support for step display name (#9033)

add displayName field to Step.

A Pipeline can now execute embedded Pipelines (Pipelines-in-Pipelines) using the PipelineSpec field under tasks. Refer to the TEP-0056 for more details.

Fixes

  • 🐛 fix: do not fail PipelineRun when TaskRef reconciles with retryable err (#9099)

With this change, unknown DryRunValidation errors during TaskRef and PipelineRef resolution no longer cause PipelineRuns and TaskRuns to fail. Explicit Validation errors will still cause the Run to fail.

  • 🐛 Added signal handling in SidecarLog results to support Kubernetes-native sidecar functionality (#9095)

Added signal handling to SidecarLog to support Kubernetes-native sidecar functionality, preventing repeated restarts of the init container.

  • 🐛 Pods for timed out TaskRuns should not be deleted when keep-pod-on-cancel feature flag is true (#9075)

If Feature flag "keep-pod-on-cancel" is set to true then pods corresponding to TaskRun will be not be deleted when TaskRun Times Out. Earlier pod was retained only if it taskrun was canceled.

  • 🐛 fix(taskrun): ensure status steps are ordered correctly when using StepAction (#9039)

Binary file (standard input) matches

  • 🐛 entrypoint: handle linux in pkgs/platforms (#9096)
  • 🐛 test/e2e: remove data race on global variable requireAlphaFeatureFlag (#9067)
  • 🐛 tests: pdate csi-node-driver-registrar image reference (#9089)
  • 🐛 ci: Ensure e2e setup errors fail tests, add retries during e2e setup (#9082)
  • 🐛 test/e2e: Fix TestLargerResultsSidecarLogs and TestWaitCustomTask_V1_PipelineRun flakyness (#9072)

Misc

  • 🔨 e2e: migrate wait.PollImmediate deprecated functions (#9073)
  • 🔨 chore: centralize ko base image configuration (#9110)
  • 🔨 build(deps): bump k8s.io/code-generator from 0.32.8 to 0.32.9 (#9106)
  • 🔨 build(deps): bump the all group in /tekton with 4 updates (#9105)
  • 🔨 build(deps): bump chainguard-dev/actions from 1.5.3 to 1.5.7 (#9104)
  • 🔨 build(deps): bump github/codeql-action from 4.30.9 to 4.31.0 (#9103)
  • 🔨 build(deps): bump actions/upload-artifact from 4.6.2 to 5.0.0 (#9102)
  • 🔨 build(deps): bump tj-actions/changed-files from d03a93c0dbfac6d6dd6a0d8a5e7daff992b07449 to dbf178ceecb9304128c8e0648591d71208c6e2c9 (#9101)
  • 🔨 build(deps): bump google.golang.org/protobuf from 1.36.8 to 1.36.10 (#9097)
  • 🔨 e2e: tests against 1.34 as well (#9091)
  • 🔨 ci/e2e: run one e2e on arm64 (#9090)
  • 🔨 build(deps): bump github/codeql-action from 3.30.1 to 4.30.9 (#9088)
  • 🔨 build(deps): bump actions/setup-go from 5.5.0 to 6.0.0 (#9087)
  • 🔨 build(deps): bump actions/dependency-review-action from 4.8.0 to 4.8.1 (#9086)
  • 🔨 build(deps): bump golang.org/x/crypto from 0.41.0 to 0.43.0 (#9085)
  • 🔨 build(deps): bump the all group in /tekton with 2 updates (#9081)
  • 🔨 build(deps): bump actions/upload-artifact from 4.4.3 to 4.6.2 (#9079)
  • 🔨 build(deps): bump actions/cache from 4.2.4 to 4.3.0 (#9078)
  • 🔨 build(deps): bump peter-evans/create-or-update-comment from 4.0.0 to 5.0.0 (#9077)
  • 🔨 build(deps): bump ossf/scorecard-action from 2.4.2 to 2.4.3 (#9076)
  • 🔨 test/e2e: update kubernetes versions we test against (#9068)
  • 🔨 Pin actions by commit SHA or image digest (#9061)
  • 🔨 build(deps): bump tj-actions/changed-files from 2036da178f85576f1940fedb74bb93a36cd89ab7 to d03a93c0dbfac6d6dd6a0d8a5e7daff992b07449 (#9058)
  • 🔨 build(deps): bump chainguard-dev/actions from 1.4.12 to 1.5.3 (#9057)
  • 🔨 Add GitHub Actions workflow for go coverage job (#9055)
  • 🔨 build(deps): bump actions/dependency-review-action from 4.7.2 to 4.8.0 (#9047)
  • 🔨 build(deps): bump step-security/harden-runner from 2.13.0 to 2.13.1 (#9036)
  • 🔨 build(deps): bump actions/setup-go from 5.5.0 to 6.0.0 (#9027)
  • 🔨 fix: fix %w formatting leak in user-facing error (#9003)
  • 🔨 build(deps): bump the all group in /tekton with 3 updates (#8990)
  • 🔨 build(deps): bump github.com/spiffe/go-spiffe/v2 from 2.5.0 to 2.6.0 (#8988)

Docs

  • 📖 document the latest release - 1.5 (#9054)
  • 📖 Remove broken example link from TaskRuns doc (#9023)

Thanks

Thanks to these contributors who contributed to v1.6.0!

Extra shout-out for awesome release notes:

Don't miss a new pipeline release

NewReleases is sending notifications on new releases.