Skip to content

Tekton Pipeline release v0.21.0 "Savannah Ash"

Compare
Choose a tag to compare
@tekton-robot tekton-robot released this 16 Feb 22:53

πŸŽ‰ WhenExpressions and Results in Finally Tasks πŸŽ‰

-Docs @ v0.21.0
-Examples @ v0.21.0

Installation one-liner

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

Upgrade Notices

  • Requires Kubernetes 1.17+ to run
  • The controller now requires that the SYSTEM_NAMESPACE environment variable is set. This was set by default before, but is now required.

Features

  • ✨ WhenExpressions in Finally Tasks (#3738)

    WhenExpressions are supported in Finally Tasks not only to provide efficient guarded execution but also to improve the
    reusability of Tasks in Finally

  • ✨ Allow pipeline results to use custom task results (#3694)

    Pipeline results now can refer to pipeline tasks that run custom tasks and produce results.

  • ✨ Support multiple secrets of type dockercfg and dockerconfigjson (#3659)

    Adds support for multiple secrets of type dockercfg or dockerconfigjson

  • ✨ add sparse checkout to git (#3646)

  • ✨ Implement Pending PipelineRun status (TEP-0015) (#3522)

    Added PipelineRunPending setting to PipelineRun Spec Status to allow creating PipelineRuns in a Pending state.

  • ✨ consuming task results in finally (#3242)

    Final tasks can be configured to consume results of PipelineTasks from tasks section.

Deprecation Notices

N/A

Backwards incompatible changes

N/A

Fixes

  • πŸ› Make volume mount names RFC1123 DNS label strict (#3740)

    Fixed a bug where a secret name with dots (e.g. gcr.io) led to a TaskRun creation failure, because the secret name was used internally as part of a volume mount name. These volume mount name have the be RFC1123 DNS label conform and therefore disallow dots as part of the name.

  • πŸ› Validate Context Variables in Finally Tasks (#3733)

    Added validation for Context variables in Finally Tasks

  • πŸ› Change to use the FilteredPodInformer to only watch Tekton relevant pods (#3725)

    Performance improvement: Only watch Pods managed by Tekton, instead of all Pods on the cluster

  • πŸ› Fix duplicate Pods when TaskRun or Pod labels are changed (#3708)

    Fix duplicate Pods when TaskRun or Pod labels are changed

  • πŸ› Fix stuck PipelineRun caused by optional workspace (#3702)

    Fixed bug where PipelineRun that didn't provide an optional workspace to the Pipeline would stall until timing out.

  • πŸ› taskrun: fix log message (#3689)

  • πŸ› Fix bug where step status ordering did not match step container ordering (#3679)

    Fixed bug where sorted order of step statuses did not match order of step containers.

  • πŸ› set task as failed (#3571)

    Declare task failure when it hits CreateContainerConfigError instead of setting it to unknown i.e. running.

  • πŸ› Move resolution of Pipeline Results to end of completed/successful reconcile (#3684)

Misc

  • πŸ”¨ Use crane cp to move images, instead of gcloud (#3755)

    Release: Copy and re-tag images using crane, instead of gcloud

  • πŸ”¨ Update TOC in Pipelines documentation (#3743)

  • πŸ”¨ Refactor IsFinallySkipped Tests (#3729)

  • πŸ”¨ Document deprecation of the build-gcs PipelineResource type (#3728)

    Deprecate the build-gcs sub-type of the storage PipelineResource

  • πŸ”¨ bump deps - k8s to 1.19.7 (#3724)

  • πŸ”¨ Issue #3553 reduce unit test execution time (#3652)

  • πŸ”¨ Remove pkg/system. (#3177)

    The controller now requires that the SYSTEM_NAMESPACE environment variable is set. This was set by default before, but is now required.

  • πŸ”¨ tekton controller logger key (#3752)

    The controller logger key is now set to "tekton-pipelines-controller" instead of "tekton" which is consistent with the webhook service name "tekton-pipelines-webhook".

  • πŸ”¨ promoting webhook service name in the logger (#3741)

    Promoting webhook service name in the logger instead of always defaulting to "webhook-pipeline". The service name is read from the env. variable WEBHOOK_SERVICE_NAME if specified else defaults to "tekton-pipelines-webhook"

  • πŸ”¨ Add nonroot user to pipeline's build-base image (#3727)

    Added non-root user 65532 to pipelines' build-base image. Git-init can now be used to clone repositories as a non-root user.

  • πŸ”¨ release: publish only on a given list of platforms πŸ’» (#3717)

    Publish images for a finite list of architecture instead of all the one supported by base images. The current list is : linux/amd64 (supported) and linux/arm64, linux/s390x, linux/ppc64le.

  • πŸ”¨ Validate dependencies between resolved resources in a PipelineRun (#3711)

    Added extra validations before PipelineRun can start: all result variables in the Pipeline must be valid and optional workspaces from a pipeline can only be passed to tasks expecting optional workspaces.

  • πŸ”¨ Fix replace go mod of client-go (#3668)

  • πŸ”¨ Use main branch for community repository πŸ§™ (#3747)

  • πŸ”¨ bump ggcr & k8schain module versions (#3736)

  • πŸ”¨ Add kustomize.yaml to the Tekton folder (#3754)

  • πŸ”¨ Small updates for s390x tests (#3714)

  • πŸ”¨ Ignore generated openapi code when running golangci-lint (#3685)

  • πŸ”¨ adding unit tests for pipelineTaskList.Deps (#3597)

  • πŸ”¨ Fix TestPipelineLevelFinally_OneDAGTaskFailed test to avoid false negative error (#3722)

  • πŸ”¨ Skip the dropNetworking test if it doesn't have the correct privileges. (#3653)

Docs

  • πŸ“– Correct workspace doc on behaviour of mountPath (#3719)

    Fixed doc issue: relative workspace mountPaths are not prepended with "/workspace/" and never have been.

  • πŸ“– Fix typo in auth.md (#3709)

  • πŸ“– Update taskruns.md doc (#3696)

    Fix wrong path in the taskruns.md document.

  • πŸ“– Fix the broken link of pipeline previous yaml file (#3671)

  • πŸ“– updating doc - pipelineResult referencing results of a finally task (#3753)

  • πŸ“– Add docs about cloud events structure (#3735)

  • πŸ“– Add comment to PipelineRunSpecStatusPending (#3723)

  • πŸ“– updating readme with 0.20.1 (#3698)

  • πŸ“– Add link to docs and exmples for v0.20.0 (#3686)

Thanks

Thanks to these contributors who contributed to v0.21.0!

Extra shout-out for awesome release notes: