Skip to content

Tekton Pipeline release v0.34.0 "Caracal Ruby"

Compare
Choose a tag to compare
@tekton-robot tekton-robot released this 22 Mar 14:38

πŸŽ‰ Cloud Events for Runs, Overrides for TaskRuns, and lots of fixes πŸŽ‰

-Docs @ v0.34.0
-Examples @ v0.34.0

Installation one-liner

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

Attestation

The Rekor UUID for this release is 1a84bc03f5f849d177185512d5578da724982ad33457852a1da2e93f259e7fb7

Obtain the attestation:

REKOR_UUID=1a84bc03f5f849d177185512d5578da724982ad33457852a1da2e93f259e7fb7
rekor-cli get --uuid $REKOR_UUID --format json | jq -r .Attestation | base64 --decode | 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.34.0/release.yaml
REKOR_UUID=1a84bc03f5f849d177185512d5578da724982ad33457852a1da2e93f259e7fb7

# Obtains the list of images with sha from the attestation
REKOR_ATTESTATION_IMAGES=$(rekor-cli get --uuid "$REKOR_UUID" --format json | jq -r .Attestation | base64 --decode | jq -r '.subject[]|.name + ":v0.34.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

  • ✨ TEP-0090: Matrix - Context Variables (#4689)

    Parameters in Matrix support Context Variables. Note that Matrix is not yet fully functional.

  • ✨ Implement CloudEvents for Runs (#4663)

    Tekton Pipelines can now generate CloudEvents for Runs.
    This feature is disabled by default. It can by enable by setting a sink URL and flipping the new feature flag "send-cloudevents-for-runs" to "true"

  • ✨ Add CloudEvents for Run definitions (#4659)

    CloudEvents for Run have been defined, but they are not sent yet.

  • ✨ TEP-0090: Matrix - API Change and Feature Flag (#4600)

    Added syntax support for Matrix as an alpha feature. It is still in a very early stage of development and is not yet fully functional.

  • ✨ Implement Step and Sidecar Overrides for TaskRun (#4598)

  • ✨ Add functions to merge step/sidecar overrides (#4617)

Backwards incompatible changes

In current release:

  • 🚨 Change Default Metrics Level for Taskrun and Pipelinerun (#4630)

    The Level for taskrun and pipelinerun metrics will change in this release. By default, taskrun and pipelinerun metrics have these values:

     metrics.taskrun.level: "task"
     metrics.taskrun.duration-type: "histogram"
     metrics.pipelinerun.level: "pipeline"
     metrics.pipelinerun.duration-type: "histogram"
  • 🚨 If an annotation or label is present in both Pipeline and PipelineRun, the value in the Run type takes precedence (same for Task and TaskRun) (#4638)

Fixes

  • πŸ› TEP-0090: Add validation for PipelineTask context variables (#4684)

  • πŸ› Update getNextTasks to support Run retries (#4647)

    schedule Runs with remaining retries

  • πŸ› Update IsFailure method to reflect Run retries (#4625)

    Runs that have remaining retries are not failed

  • πŸ› set the param type based on the default value (#4608)

    Set the type of the param based on the default value when the type is not specified or cannot be inferred from the default value.

  • πŸ› workspace-in-sidecar flakey test fix (#4634)

  • πŸ› Add log line to debg workspace-in-sidecar example (#4646)

  • πŸ› Fix Task(Run)/Pipeline(Run) metadata propagation (#4638)
    Fix Task(Run)/Pipeline(Run) metadata propagation, If an annotation or label is present in both Pipeline and PipelineRun, the value in the
    Run type takes precedence (same for Task and TaskRun)

  • πŸ› Change Default Metrics Level for Taskrun and Pipelinerun (#4630)

    The Level for taskrun and pipelinerun metrics will change in this release. By default, taskrun and pipelinerun metrics have these values:

     metrics.taskrun.level: "task"
     metrics.taskrun.duration-type: "histogram"
     metrics.pipelinerun.level: "pipeline"
     metrics.pipelinerun.duration-type: "histogram"

Misc

  • πŸ”¨ refactor reconcile pipeline TaskSpecMetadata test (#4693)

  • πŸ”¨ refactor create helpers in reconcile pr tests (#4682)

  • πŸ”¨ TEP-0090: Refactor Pipeline Workspaces Validation (#4670)

  • πŸ”¨ clean up reconcile unit test to use YAML parser (#4637)

  • πŸ”¨ test reconcile on cancelled refactor (#4628)

  • πŸ”¨ refactor TestReconcile_PipelineSpecTaskSpec result (#4627)

  • πŸ”¨ TEP-0058: Graceful Termination - is deprecated (#4612)

    Reminder that PipelineRunCancelled was deprecated in v0.25. Earliest removal date is March 2022.

  • πŸ”¨ Build tekton pipelines with golang 1.17 (#4639)

    Tekton is now built using golang 1.17.7

  • πŸ”¨ PipelineRunState cleanup: tests + comments (#4667)

  • πŸ”¨ Remove unused windows dockerfiles (#4644)

  • πŸ”¨ cleanup - refactor taskRunStatus and runStatus unit tests (#4632)

  • πŸ”¨ Replace remaining implementations of TestClock (#4624)

  • πŸ”¨ refactor TestReconcile_PipelineSpecTaskSpec objects (#4622)

  • πŸ”¨ clean up TestReconcile_CloudEvents YAML parsing (#4619)

  • πŸ”¨ cleaning up a unit test InvalidPipelineRuns to use YAML parser (#4616)

  • πŸ”¨ Replace Clock package with k8s Clock package (#4607)

  • πŸ”¨ Remove broken link in development doc (#4602)

  • πŸ”¨ Add GetStatusCondition for Run (#4658)

  • πŸ”¨ TEP-0090: Pipeline Context Variables - Fix Validation Tests (#4685)

  • πŸ”¨ Add hostAliases to podTemplate doc (#4683)

  • πŸ”¨ go.mod: bump containerd dependency to 1.5.10 (#4649)

  • πŸ”¨ TEP-0090: Refactor execution status validation (#4635)

  • πŸ”¨ Remove lengthly operations from hermetic tests πŸ§ͺ (#4590)

Docs

  • πŸ“– TEP-0090: Matrix - Update API definition (#4601)

  • πŸ“– Update the release cheatsheet to the new release drafter (#4677)

  • πŸ“– Update API reference docs for TaskRun (#4662)

  • πŸ“– Add links to docs and examples for 4 minor releases (#4650)

  • πŸ“– Add links to docs and examples for v0.33.0 (#4595)

  • πŸ“– Update taskrun code example links in the documentation (#4692)

Thanks

Thanks to these contributors who contributed to v0.34.0!

Extra shout-out for awesome release notes: