Releases: tektoncd/pipeline
Tekton Pipeline release v0.16.3 "Dolores Rex"
🎉 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!
- ❤️ @vdemeester
Tekton Pipeline release v0.16.2 "Dolores Rex"
🎉 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
withWhenExpressions
using variable replacements were not executed when theWhenExpressions
evaluate to false
Fix for #3205:
- 🐛 Omit potential NotFound events when cleaning up the Affinity Assistant
Thanks
Thanks for the quick bug reports!!
- 😻 @VeereshAradhya
- 😻 @r0bj
- 😻 @abudavis
Thanks to these contributors who contributed to v0.16.2!
- ❤️ @pritidesai
- ❤️ @jerop
- ❤️ @jlpettersson
Tekton Pipeline release v0.16.1 "Dolores Rex"
🎉 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!
- ❤️ @afrittoli
- ❤️ @sbwsg
Tekton Pipeline release v0.16.0 "Dolores Rex"
🎉 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 aPipeline
is running in usingcontext.pipelineRun.uid
, User can access the uid of theTaskRun
that aTask
is running in usingcontext.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!
- ❤️ @FogDong
- ❤️ @imjasonh
- ❤️ @NavidZ
- ❤️ @Peaorl
- ❤️ @afrittoli
- ❤️ @barthy1
- ❤️ @bobcatfish
- ❤️ @chmouel
- ❤️ @danielhelfand
- ❤️ @dinagraves
- ❤️ @dlorenc
- ❤️ @eqqe
- ❤️ @jerop
- ❤️ @jlpettersson
- ❤️ @mrutkows
- ❤️ @piyush-garg
- ❤️ @pritidesai
- ❤️ @savitaashture
- ❤️ @sbwsg
- ❤️ @sergetron
- ❤️ @skaegi
- ❤️ @vdemeester
- ❤️ @waveywaves
- ❤️ @ywluogg
Tekton Pipeline release v0.15.2 "Ragamuffin R2-D2"
🎉 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!
- ❤️ @sbwsg
Tekton Pipeline release v0.15.1 "Ragamuffin R2-D2"
🎉 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!
- ❤️ @sbwsg
Tekton Pipeline release v0.15.0 "Ragamuffin R2-D2"
🎉 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 viaCloudEventPipelineResource
now use retries with backoff. -
✨ Add pipeline run support for cloud events (#2938)
Add cloud events for pipeline runs via the configuration optiondefault-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 defaultWorkspace
configuration for anyWorkspaces
that a Task declares but that a TaskRun does not explicitly provide. It can be set in theconfig-defaults
ConfigMap indefault-task-run-workspace-binding
. -
✨ Add namespace variable interpolation for pipelinerun namespace and (#2926)
Add namespace variable interpolation incontext.
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.
Run
s are an experimental alpha feature and should be expected to change
in breaking ways or even be removed.
Run
s are not currently integrated with Pipelines, and require a running
third-party controller to actually perform any work. Without a third-party
controller, Run
s 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!
- ❤️ @GregDritschler
- ❤️ @imjasonh
- ❤️ @JustinKuli
- ❤️ @NavidZ
- ❤️ @Peaorl
- ❤️ @R2wenD2
- ❤️ @Yannig
- ❤️ @adshmh
- ❤️ @afrittoli
- ❤️ @akram
- ❤️ @bobcatfish
- ❤️ @danielhelfand
- ❤️ @dlorenc
- ❤️ @du2016
- ❤️ @frostmourner
- ❤️ @jerop
- ❤️ @jlewi
- ❤️ @jlpettersson
- ❤️ @juanri0s
- ❤️ @mattmoor
- ❤️ @pritidesai
- ❤️ @psschwei
- ❤️ @ricardochimal
- ❤️ @rlandesman
- ❤️ @sbwsg
- ❤️ @sergetron
- ❤️ @skaegi
- ❤️ @vdemeester
Extra shout-out for awesome release notes:
- 😍 @afrittoli
- 😍 @jerop
- 😍 @Yannig
- 😍 @adshmh
Tekton Pipeline release v0.14.3 "Javanese Multivac"
🎉 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!
- ❤️ @sbwsg
- ❤️ @afrittoli
Tekton Pipeline release v0.14.2 "Javanese Multivac"
🎉 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!
- ❤️ @sbwsg
Tekton Pipeline release v0.14.1 "Javanese Multivac"
🎉 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!
- ❤️ @jlpettersson
- ❤️ @pritidesai
- ❤️ @afrittoli
- ❤️ @du2016