Skip to content

Releases: tektoncd/pipeline

Tekton Pipeline release v0.16.3 "Dolores Rex"

15 Sep 22:11
Compare
Choose a tag to compare

🎉 Fix nil pointer with timeouts 🎉

-Docs @ v0.16.3
-Examples @ v0.16.3

Installation one-liner

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

Changes

Fixes

  • 🐛 Fix nil pointer exception in case the PipelineRun timeout is not specified (nor default applied)⏲ (#3241)

Thanks

Thanks for the bug report @dghubble 😻 !!

Thanks to these contributors who contributed to v0.16.3!

Tekton Pipeline release v0.16.2 "Dolores Rex"

14 Sep 20:50
Compare
Choose a tag to compare

🎉 Fix When Expressions and Affinity Assistant event !!!🎉

-Docs @ v0.16.2
-Examples @ v0.16.2

Installation one-liner

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

Upgrade Notices

When expressions will now work when combined with other more complicated DAG features!

Fixes

When expression fixes for #3196 #3203 and #3188:

  • 🐛 Fix to honor When expressions in presence of finally tasks. When expression parameters were not getting resolved in presence of finally tasks and were causing check to skip always return false. Applied fix to when expression parameters resolution function to make sure parameters are substituted with its respective values.
  • 🐛 Fix pipelinerun to apply task results to the leaf nodes of DAG before checking if its time to run finally tasks so that when expressions have resolved task results before the check.
  • 🐛 Fix pipelinerun to detect and terminate by only evaluating when expressions when all its parents are visited/done instead of evaluating in advance.
  • 🐛 Tasks with WhenExpressions using variable replacements were not executed when the WhenExpressions evaluate to false

Fix for #3205:

  • 🐛 Omit potential NotFound events when cleaning up the Affinity Assistant

Thanks

Thanks for the quick bug reports!!

Thanks to these contributors who contributed to v0.16.2!

Tekton Pipeline release v0.16.1 "Dolores Rex"

11 Sep 22:59
Compare
Choose a tag to compare

🎉 Fix Cloud Events connection leak! 🎉

Note: be on the lookout for v0.16.2 which will include critical fixes to when expressions.

-Docs @ v0.16.1
-Examples @ v0.16.1

Installation one-liner

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

Fixes

  • 🐛 This release fixes an issue with the cloud event delivery that lead to an increasingly high number of open (idle) connections towards the configured target URL. The fix is achieved by disabling keep-alive, which means that - at least for now - we will be setting up a new connection for every cloud event. This is the current behaviour too, only now old connections will be closed immediately. (#3201, #3215)

Thanks

Thanks to these contributors who contributed to v0.16.1!

Tekton Pipeline release v0.16.0 "Dolores Rex"

09 Sep 22:01
Compare
Choose a tag to compare

🎉 When expressions and webhook probes! 🎉

-Docs @ v0.16.0
-Examples @ v0.16.0

Installation one-liner

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

Upgrade Notices

  • 📣 The tekton-pipelines-controller and tekton-pipelines-controller are now configured to run as a non-root user. (#2967)

Features

  • ✨ Liveness and readiness probes are available for webhook. (#3162)
  • ✨ To run a Task only when certain criteria are met, it is now possible to guard task execution using
    the when field, which allows you to list a series of references to WhenExpressions that contain
    an Input, an Operator and Values. The valid Operators are in and notin. The WhenExpressions are ANDed. (#3135)
  • ✨ Update step statuses on TaskRun in event of cancellation or timeout (#3088)
  • ✨ fix(substition): fix configmap and secret volume param substition (#3071)
  • ✨ User can access the uid of the PipelineRun that a Pipeline is running in using context.pipelineRun.uid, User can access the uid of the TaskRun that a Task is running in using context.taskRun.uid, All context variables that are supported so far are now validated. (#3017)
  • ✨ Adding support for git-lfs repositories in git-init by adding the package in the git-init image (#3006)
  • ✨ The TaskRun.Status.ResourcesResult field now contains a URL for Git and Image PipelineResources, containing the URL of the resource data. (#2975)
  • ✨ Pipeline authors can now specify metadata while embedding tasks (using taskSpec) into their pipeline. (#2826)

Deprecation Notices

  • 🚨 Conditions CRD deprecated, use WhenExpressions instead. (#3135)
  • 🚨 PipelineRun.Spec.ServiceAccountNames is being deprecated in favor of PipelineRun.Spec.TaskRunSpec[].ServiceAccountName (#3028)

Backwards incompatible changes

None!

Fixes

  • 🐛 Fixes a bug with validation for the Affinity Assistant when the same PVC is used for multiple workspaces but with different subPaths (#3099)
  • 🐛 Fix an issue where PipelineRuns would pass validation even when a workspace binding was missing required volume info. (#3096)
  • 🐛 When a TaskRun or PipelineRun completes, the go routine waiting for it to timeout will now stop (as it was designed to do!) instead of always re-reconciling (#3078)
  • 🐛 The tekton-pipelines-controller and tekton-pipelines-controller are now configured to run as a non-root user. To match these reduced requirements, the tekton-pipelines PodSecurityPolicy updates its runAsUser rule to use MustRunAsNonRoot and is further tightened-up to only allow "use" in the tekton-pipelines namespace. (#2967)
  • 🐛 Use ko:// in e2e tests to exercise current code 🙃 (#2902)

Misc

  • 🔨 PipelineRun.Spec.ServiceAccountNames is being deprecated in favor of PipelineRun.Spec.TaskRunSpec[].ServiceAccountName (#3028)
  • 🔨 Update the TestTaskRunStatus e2e test to work on s390x architectures. (#3061)
  • 🔨 Refactor Task Results Substitution (#3169)
  • 🔨 Refactor Pipeline Parameters Validation (#3167)
  • 🔨 Migrate some test builder references to structs (#3124)
  • 🔨 Don't set TTY:true in the place-scripts step used to power script mode.(#3120)
  • 🔨 Make this example actually run 🏃 (#3079)
  • 🔨 Separate Step and Sidecar types (#3077)
  • 🔨 Fix an error formatting in taskrun reconciler (#3073)
  • 🔨 Remove the pkg/logging directory. (#3058)
  • 🔨 Add v0.14.3 links to docs and examples (#3046)
  • 🔨 Cleanup some code in artifact storage. (#2965)
  • 🔨 Remove /bin/ash from examples (#3143)
  • 🔨 Clean up test cases in pipelinerun_test.go (#3134)
  • 🔨 Add concurrency limit to roadmap (#3130)
  • 🔨 Allow to specify target cluster architecture for tests (#3128)
  • 🔨 Makefile: bump gosec and golangci version (#3121)
  • 🔨 Add multiarch specific fixes to the pipeline tests (#3107)
  • 🔨 Add yamllint check and fix errors (#3101)
  • 🔨 fix(typo): fix typos in docs (#3093)
  • 🔨 Allow skipping some YAML tests (#3069)
  • 🔨 The nop container image now includes the LICENSE and source code from vendor like the other images. (#3042)
  • 🔨 Add the nop image to the nightly pipeline release (#3041)
  • 🔨 Bump controller's image, nginx: 1.19.1, google/cloud-sdk: 302.0.0-slim (#3002)

Docs

  • 📖 Remove documentation advocating for test builders (#3182)
  • 📖 Remove vendor-specific cluster setup instructions (#3174)
  • 📖 Update--cluster-version flag (#3165)
  • 📖 Fix typo in entrypoint folder (#3153)
  • 📖 Add Conditions CRD to deprecated features list (#3150)
  • 📖 Add documentation on how to install nightly releases. (#3147)
  • 📖 Update Openshift installation documentation (#3114)
  • 📖 Fix broken link in auth.md (#3095)
  • 📖 Add docs link for 0.15.2 (#3084)
  • 📖 Fix small typo in install doc for default workspace config (#3074)
  • 📖 Rewrite the "Authentication" doc for clarity and flow. (#3066)
  • 📖 Update Docker Desktop setup and separate out MiniKube setup (#3065)
  • 📖 Add links to v0.15.1 docs (#3062)
  • 📖 Include More Details on Pod Deletion for Cancelled/Timed Out TaskRuns (#3053)
  • 📖 Add v0.15.0 links to docs and examples (#3043)
  • 📖 Add initial documentation for Runs (#2943)

Thanks

Thanks to these contributors who contributed to v0.16.0!

Tekton Pipeline release v0.15.2 "Ragamuffin R2-D2"

10 Aug 16:26
Compare
Choose a tag to compare

🎉 Fix a bug in the pullrequest pipelineresource 🎉

The previous release, 0.15.1, was supposed to include a fix for the PullRequest Resource but was not published correctly with the new docker image. This release fixes that problem so that the released YAML includes the correct docker images.

-Docs @ v0.15.2
-Examples @ v0.15.2

Installation one-liner

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

Fixes

  • 🐛 Ensure pullrequest-init is based on a root image (#3055)

Thanks

Thanks to these contributors who contributed to v0.15.2!

Tekton Pipeline release v0.15.1 "Ragamuffin R2-D2"

05 Aug 13:08
Compare
Choose a tag to compare

🎉 Bug Fix for PullRequest PipelineResources 🎉

-Docs @ v0.15.1
-Examples @ v0.15.1

Installation one-liner

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

Changes

Fixes

  • 🐛 Ensure pullrequest-init is based on a root image (#3055)

Thanks

Thanks to these contributors who contributed to v0.15.1!

Tekton Pipeline release v0.15.0 "Ragamuffin R2-D2"

02 Aug 21:10
Compare
Choose a tag to compare

🎉 Cloud Events, Run CRD, more variables and better docs 🎉

-Docs @ v0.15.0
-Examples @ v0.15.0

Installation one-liner

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

Upgrade Notices

📣 The minimum Kubernetes version is now 1.16. 📣

Known Issues

There is a known issue with PullRequest Resources in 0.15.0: Tasks that write a pr.json file to be used by an output PullRequest PipelineResource will see permission errors when run: The output PullRequest Resource will attempt to read the pr.json file but will not be able to because the injected PullRequest Step is not running as root. To workaround this issue in the short term you can modify permissions on the pr.json file to be world-readable (e.g. run chmod 777 on the pr.json file in your Step). A 0.15 point release is planned to address this issue.

Changes

Features

  • ✨ Use cloud event native retries for cloud event pipeline resource (#3003)
    Cloud events sent via CloudEventPipelineResource now use retries with backoff.

  • ✨ Add pipeline run support for cloud events (#2938)
    Add cloud events for pipeline runs via the configuration option default-cloud-events-sink.
    When the default sink is setup, cloud events are sent, else they're disabled.

Send cloud events (when enabled) from the pipeline run and controller, for all non-error
events that are already notified via k8s events.

  • ✨ Add Default TaskRun Workspace Bindings to config-default (#2930)
    Users can now set a default Workspace configuration for any Workspaces that a Task declares but that a TaskRun does not explicitly provide. It can be set in the config-defaults ConfigMap in default-task-run-workspace-binding.

  • ✨ Add namespace variable interpolation for pipelinerun namespace and (#2926)
    Add namespace variable interpolation in context. for pipelinerun namespace and taskrun namespace.

  • ✨ Wire up webhook validation for Run objects (#2916)

  • ✨ Define a helper method pkg/controller.FilterRunRef (#2915)

  • ✨ Define v1alpha1 Run type and generated scaffolding (#2871)

Introduce the Run CRD. The new CRD will support the definition of new
kind of Tasks to be integrated in the pipelines.
Runs are an experimental alpha feature and should be expected to change
in breaking ways or even be removed.

Runs are not currently integrated with Pipelines, and require a running
third-party controller to actually perform any work. Without a third-party
controller, Runs will just exist without a status indefinitely.

  • ✨ Validate TaskRun compatibility with the Affinity Assistant (#2885)
    A TaskRun that mount more than one PVC-backed workspace is incompatible
    with the Affinity Assistant. Validation has been added to handle this case.

  • ✨ Allow variable substitution inside csi volumes parameters (#2643)
    This PR allow to use parameters in CSI volume parameters.

  • ✨ PR upload validates comment file extension (#2462)
    Comment files under a PullRequest need to have either:

  • no extension: for comment files that contain comment as plain text
  • .json extension: for comment files in JSON format

Deprecation Notices

None this time.

Backwards incompatible changes

None this time.

Fixes

  • 🐛 Add omitempty for SchedulerName, ImagePullSecrets, HostNetwork (#3032)
  • 🐛 Make string variable interpolation deterministic, and single-pass. (#3024)
  • 🐛 Fix assignments to nil map issues (#3001)
  • 🐛 Update shell-image to current gcr.io/distroless/base:debug SHA (#2999)
  • 🐛 Use a hash of the workspace name in PVCs from template (#2961)
  • 🐛 Remove ssh-keyscan from git credential initialization (#2953)
  • 🐛 Dont write creds-init files if none of that type are mounted (#2940)
  • 🐛 dep: update golang.org/x/text to v0.3.3 (#2929)
  • 🐛 variable substitution in finally section (#2908)
  • 🐛 change value of app.kubernetes.io/version label (#2900)
  • 🐛 Include Task name in err message when validating (#2899)
  • 🐛 cloudevent: make sure we enter the channel before… (#2895)
  • 🐛 Fix TestTaskRunPipelineRunCancel failure (#2850)

[Fill list here]

Misc

  • 🔨 Run TestReconcileTimeouts as separate tests ⏰ (#3030)
  • 🔨 Add nop-image to release configs (#3025)
  • 🔨 Align release-generated .ko.yaml with repo config (#3018)
  • 🔨 Remove default flag values for image names (#3016)
  • 🔨 Add a minimal nop image (#3014)
  • 🔨 deleting hard coded taskrun controller name (#3012)
  • 🔨 Some timeout refactoring (#3011)
  • 🔨 Update the google/go-containerregistry library to an actual release. (#2988)
  • 🔨 Use filepath.Join instead of string formatting. (#2985)
  • 🔨 Change podconvert.MakePod func into a configuration struct with methods (#2982)
  • 🔨 Remove the "baseBuildOverrides" flag from .ko.yaml (#2972)
  • 🔨 Enable the "misspell" linter, and fix some misspellings. (#2964)
  • 🔨 Enable the deadcode linter in golangci, and clean up dead code. (#2960)
  • 🔨 Remove an unused line of code from oci/resolver.go (#2959)
  • 🔨 Add pipeline artifact config to the shared config store (#2947)
  • 🔨 Add some missing json annotations. (#2920)
  • 🔨 [master] Auto-update dependencies (#2910)
  • 🔨 Use sets.NewString from apimachinery (#2909)
  • 🔨 Stop using PATCH to update labels/annotations (#2907)
  • 🔨 refactoring pipelinerun unit test (#2876)
  • 🔨 Pick up the latest knative/pkg and K8s 0.17.x (#2846)
  • 🔨 Remove legacy Cluster Resource behavior left in place for the 0.14.0 … (#2808)
  • 🔨 Use MarkStatus* helpers in pkg/pod/status (#2804)
  • 🔨 Add a test to ensure that labels are updated as a part of TaskRun (#2785)
  • 🔨 Add kodata for the nop image (#3042)
  • 🔨 [master] Auto-update dependencies (#3037)
  • 🔨 Add .status.extraFields to the RunStatus type (#2991)
  • 🔨 tekton/release-pipeline: run test after precheck (#2955)
  • 🔨 Add Priti as an owner 🎉 (#2948)
  • 🔨 Makefile: bump golangci-lint to 1.28.0 ⚓️ (#2904)
  • 🔨 Makefile: add a cross target 🌵 (#2903)
  • 🔨 Update the pull_request_template for release-note 📖 (#2882)
  • 🔨 Use OWNER_ALIASES defined teams and add area/* labels (#2839)
  • 🔨 Google/ko 5.0+ requires images to be prefixed by ko:// . (#2675)

Docs

  • 📖 small typo fix (#3040)
  • 📖 follow on from PR 3010, formatting fix and updating resource requirements for minikube (#3034)
  • 📖 Remove mention of ssh-keygen from auth doc (#3033)
  • 📖 Document using custom SSH port for git repos (#3022)
  • 📖 Fixes #2971, adding a section to the tutorial for using minikube when running locally (#3010)
  • 📖 Rewrite the Knative Build migration guide for clarity and flow. (#2996)
  • 📖 Fix: host.docker.internal instead of host.docker.local (#2993)
  • 📖 fixes 2978, missing command in monitoring steps (#2990)
  • 📖 Rewrite the "Pod Templates" documentation for clarity and flow. (#2983)
  • 📖 TUTORIAL: Fix docker registry credentials issue (#2980)
  • 📖 README: fix typo with doc text (#2976)
  • 📖 Fix minor format issues (#2963)
  • 📖 README.md: add v0.14.1 and v0.14.2 release, docs links (#2956)
  • 📖 Rewrites the "Labels" documentation for clarity and flow. (#2946)
  • 📖 Flesh out the docs on using results in Pipelines (#2945)
  • 📖 Document that Task Results dont get trimmed (#2942)
  • 📖 Rewrite the "Logs" documentation for clarity and flow. (#2939)
  • 📖 Document all locations that variable substitution is available (#2927)
  • 📖 Fix a typo in development.md file (#2923)
  • 📖 Rewrite the "Events" documentation for clarity and flow. (#2919)
  • 📖 Rewrite the "Container Contract" documentation for clarity and flow. (#2914)
  • 📖 Rewrite the "Metrics" documentation for clarity and flow. (#2913)
  • 📖 Add extended documentation about PersistentVolumes within a PipelineRun (#2912)
  • 📖 Fix documentation about cloudevents (#2911)
  • 📖 Update README docs pointing to 0.14.0 release (#2896)
  • 📖 Fix documentation about tasks (#2893)
  • 📖 Improve workspace documentation (#2890)
  • 📖 Rewrite the Condition documentation for clarity and flow. (#2867)

Thanks

Thanks to these contributors who contributed to v0.15.0!

Extra shout-out for awesome release notes:

Tekton Pipeline release v0.14.3 "Javanese Multivac"

29 Jul 08:59
Compare
Choose a tag to compare

🎉 Bugfix release 🎉

-Docs @ v0.14.3
-Examples @ v0.14.3

Installation one-liner

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

Upgrade Notices

Users need to pass in default parameter values or provide the required parameters in Pipeline spec as they now get validated by the controller.
The creds-init step is gone and its behavior is now handle by the entrypoint. This shouldn't have any impact except running as the same user as the step.

Changes

Fixes

  • 🐛 Fix some assignment to nil map issues (#3005)
    Fix a panic in the pipeline controller that may happen when a pipeline hangs in starting state, because of a malformed condition name.

Thanks

Thanks to these contributors who cFix a panic in the pipeline controller that may happen when a pipeline hangs in starting state, because of a malformed condition name.ontributed to v0.14.3!

Tekton Pipeline release v0.14.2 "Javanese Multivac"

17 Jul 06:15
Compare
Choose a tag to compare

🎉 Bugfix release 🎉

-Docs @ v0.14.2
-Examples @ v0.14.2

Installation one-liner

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

Upgrade Notices

Users need to pass in default parameter values or provide the required parameters in Pipeline spec as they now get validated by the controller.
The creds-init step is gone and its behavior is now handle by the entrypoint. This shouldn't have any impact except running as the same user as the step.

Changes

Fixes

  • 🐛 Rollback creds-init removal in 0.14 branch (#2952)
    The removal of the creds-init initContainer that occurred in 0.14.0 has been rolled back. The change introduced an unintended backwards-incompatibility that needs to be resolved.

Thanks

Thanks to these contributors who contributed to v0.14.2!

Tekton Pipeline release v0.14.1 "Javanese Multivac"

09 Jul 15:57
Compare
Choose a tag to compare

🎉 Bugfix release 🎉

-Docs @ v0.14.1
-Examples @ v0.14.1

Installation one-liner

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

Upgrade Notices

Users need to pass in default parameter values or provide the required parameters in Pipeline spec as they now get validated by the controller.
The creds-init step is gone and its behavior is now handle by the entrypoint. This shouldn't have any impact except running as the same user as the step.

Changes

Fixes

  • 🐛 Include Task name in err message when validating (#2899)
    Include the task name in error message when validating pipeline
  • 🐛 variable substitution in finally section (#2908)
    Variables from params section are now substituted with specified values for final tasks.
  • 🐛 Fix documentation about cloudevents (#2911)
  • change value of app.kubernetes.io/version label (#2900)

Thanks

Thanks to these contributors who contributed to v0.14.1!