Releases: tektoncd/pipeline
Tekton Pipeline release v0.10.2 "Bombay Robbie"
-Docs @ v0.10.2
-Examples @ v0.10.2
Fixes
- π Fix panic in controller related to image digest exporter (#2222)]
Tekton Pipeline release v0.11.0-rc2 "Ragdoll Norby"
π Beta Release Candidate 2 π
This is the second release towards Beta and includes bug fixes for issues discovered after RC1 went out. There will be at least one more release candidate before the actual Beta.
π¨ If you are upgrading from an older version of Tekton you may need to delete your existing tekton-pipeline
deployments before apply
ing the 0.11 release candidates.
π¨ Submitting v1alpha1 Tasks more than once can now result in errors. Submitting a v1alpha1 Task once will work but submitting the same Task again will fail. To work around this problem use kubectl replace
instead of apply
or first delete the Task and then re-apply
it.
This is a side-effect of the way Tekton internally upgrades Tasks from v1alpha1 to v1beta1. This issue will affect any Task that includes inputs.params or inputs.resources. On submission Kubernetes will return an error such as error when applying patch [...] validation failed: expected exactly one, got both: inputs.params, params.
π¨ Please also note that the minimum version of Kubernetes required to run Tekton is now 1.15.
-Docs @ v0.11.0-rc2
-Examples @ v0.11.0-rc2
Changes
Features
- β¨ Add description field to Spec (#2089)
Deprecation Notices (Same as RC1)
-
π¨ PipelineResources are not moving to Beta with Tekton's other types
PipelineResources have been a source of some contention within the Tekton community over the past several months. While the abstraction they expose does provide some value they can often be difficult to understand, hard to debug when they go wrong, and are far too limited in number and scope. For these reasons and more we do not plan to promote PipelineResources into Beta and will instead provide a documented migration path for users that does not use the type at all. Towards this goal we have already introduced a
git-clone
Task to the Tekton Catalog that provides exactly the same behaviour as the Git PipelineResource and we plan to introduce similar Tasks for all of the other existing PipelineResource types as well.See the git-clone Task in the catalog.
-
π¨ The
$HOME
env var andworkingDir
of Steps will change in the next releaseTekton currently overwrites the
HOME
environment variable in a Step's container to always be/tekton/home
and theworkingDir
field of the Step's image to always be/workspace
. This behaviour is problematic when a container depends on those values to be something specific for it to run correctly.In this release we are leaving Tekton's default behaviour alone but have introduced a new ConfigMap, named
feature-flags
, that allows you to disable it. In the next release we plan to flip this behaviour so that it is opt-in rather than opt-out. At some point in the future we plan to remove support for this overwriting behaviour entirely. (#2044).
Backwards incompatible changes (Same as RC1)
In current release:
-
π¨ The minimum required version of Kubernetes is now 1.15
Bump kubernetes to 1.16.5 and knative/pkg to release-0.12 (#1894)
-
π¨ Submitting v1alpha1 Tasks more than once can now result in errors. Submitting a
v1alpha1
Task once will work but submitting the same Task again will fail.
Fixes
- π Remove result initcontainer (#2175)
- π SetDefaults for embedded specs (Pipeline, Task) π₯ (#2162)
- π Fix to FieldError fields name for duplicate param names and associated unit tests (#2195)
- π Fixes Task workspaces marshalling (#2200)
- π Handle the case of multiple versions of a status (#2194)
Misc
- π¨ Invalid Sink URI CloudEvent test sometimes includes quotes (#2166)
Docs
- π Rewrite the Pipelines tutorial for clarity and flow. (#2068)
- π Update some more example links and move task results example (#2148)
- π Document Task Results maximum size (#2167)
- π Update install instructions on OpenShift (#2169)
- π Add params section to Pipelinerun doc (#2173)
- π Fix pipeline spelling bug in developers/readme.md (#2184)
- π Update docs to use v1beta1
- π Remove MiniShift from install documentation (#2189)
- π Fix broken markdown links in our doc (#2205)
- π Spelling fixes in our doc (#2206)
Thanks
Thanks to these contributors who contributed to v0.11.0-rc2!
- β€οΈ @cccfeng
- β€οΈ @chanseokoh
- β€οΈ @nikhil-thomas
- β€οΈ @piyush-garg
- β€οΈ @sbwsg
- β€οΈ @skaegi
- β€οΈ @spomorski
- β€οΈ @vdemeester
Tekton Pipeline release v0.11.0-rc1 "Ragdoll Norby"
π Beta Release Candidate 1 π
With this release Tekton Pipelines introduces a new apiVersion, v1beta1
. While the v1alpha1
version is continuing to be supported at this time we'd like to encourage anyone integrating with Pipelines to be aware of the upcoming API change and begin thinking about migrating over to the beta API. Documentation on migrating will be forthcoming, this release simply introduces the new version and allows us to publicise it.
Over the coming weeks we'll be working with the other Tekton projects to migrate their integrations to v1beta1
and fixing problems as they arise in subsequent Release Candidates.
π¨ If you are upgrading from an older version of Tekton you may need to delete your existing tekton-pipeline
deployments before apply
ing the 0.11 release candidates.
π¨ Submitting v1alpha1 Tasks more than once can now result in errors. Submitting a v1alpha1
Task once will work but submitting the same Task again will fail. To work around this problem first delete the Task and then reapply it.
This is a side-effect of the way Tekton internally upgrades Tasks from
v1alpha1
tov1beta1
. This issue will affect any Task that includesinputs.params
orinputs.resources
. On submission Kubernetes will return an error such aserror when applying patch [...] validation failed: expected exactly one, got both: inputs.params, params
.
π¨ Please also note that the minimum version of Kubernetes required to run Tekton is now 1.15.
Changes
Features
-
β¨ Introduce the
v1beta1
API VersionTekton Pipelines has introduced a new API version,
v1beta1
, with improvements to some of its APIs and Types.Add ClusterTask to v1alpha2 (#1946)
Port TaskResults and TaskRunResults to v1alpha2 (#1948)
Port Workspace in pipeline support to v1alpha2 (#1949)
Add PipelineRun types to v1alpha2 (#1955)
Add LimitRangeName to v1alpha2.PipelineRun tulip (#2009)
Task, ClusterTask and Pipeline auto-conversion from v1alpha1 to v1alpha2 (#2002)
TaskRun, and PipelineRun auto-conversion from v1alpha1 to v1alpha2 (#2025)
Expose v1beta1 to the world (#2035) -
β¨ Improved LimitRange support
Tekton Pipelines now plays more nicely with LimitRanges in a namespace when creating new Pods for TaskRuns.
Leave Max Container Request Values at Original Indices (#1937)
Check for LimitRange Minimum for TaskRun Container Requests (#1991)
Add LimitRange Examples for PipelineRun and TaskRun (#2004)
Pods created by TaskRuns will now respect any LimitRange minimums that exist in the namespace that the Pod runs in (#2020). -
β¨ Pipeline Resources can now be marked as optional
PipelineResources can now be declared as optional, allowing Tasks to be more flexible in their handling of input resources.
Enabling Pipeline Resources to be marked as Optional (#1910)
-
β¨ Data can now be shared between Tasks using Task Results and Task Params
A Pipeline can now feed Task Results into other Tasks through their Params. It is now much easier to pass small pieces of data through a Pipeline.
Update task run status with results (#1921)
Adding substitution for result path variable (#2018)
Adding pipeline results (#2042)
Make results folder writable (Fix for #2131) (#2143) -
β¨ Tekton Pipelines can be configured to no longer overwrite the HOME environment variable and workingDir of Steps
In the next release of Tekton this behaviour will become the default!
Allow disabling implicit HOME overwrite (#2044)
Add handling of working directory (#2115) -
β¨ Sidecars now support Script mode, just like in Task Steps
Add Script Support to Sidecars (#1987)
-
β¨ TaskRuns can now specify a different Scheduler Name in their podTemplate
Add SchedulerName to TaskRunSpec (#1790)
-
β¨ JSONPath-like Star Array Notation can now be used in variable substitutions
Adds Basic Support for Star Array Notation (#2085)
-
β¨ The Tekton Controller can now be configured to monitor an individual namespace
Allow controller to watch a specified namespace (#2144)
Deprecation Notices
-
π¨ PipelineResources are not moving to Beta with Tekton's other types
PipelineResources have been a source of some contention within the Tekton community over the past several months. While the abstraction they expose does provide some value they can often be difficult to understand, hard to debug when they go wrong, and are far too limited in number and scope. For these reasons and more we do not plan to promote PipelineResources into Beta and will instead provide a documented migration path for users that does not use the type at all. Towards this goal we have already introduced a
git-clone
Task to the Tekton Catalog that provides exactly the same behaviour as the Git PipelineResource and we plan to introduce similar Tasks for all of the other existing PipelineResource types as well.See the git-clone Task in the catalog.
-
π¨ The
$HOME
env var andworkingDir
of Steps will change in the next releaseTekton currently overwrites the
HOME
environment variable in a Step's container to always be/tekton/home
and theworkingDir
field of the Step's image to always be/workspace
. This behaviour is problematic when a container depends on those values to be something specific for it to run correctly.In this release we are leaving Tekton's default behaviour alone but have introduced a new ConfigMap, named
feature-flags
, that allows you to disable it. In the next release we plan to flip this behaviour so that it is opt-in rather than opt-out. At some point in the future we plan to remove support for this overwriting behaviour entirely. (#2044).
Backwards incompatible changes
In current release:
-
π¨ The minimum required version of Kubernetes is now 1.15
Bump kubernetes to 1.16.5 and knative/pkg to release-0.12 (#1894)
-
π¨ Submitting v1alpha1 Tasks more than once can now result in errors. Submitting a
v1alpha1
Task once will work but submitting the same Task again will fail. To work around this problem first delete the Task and then reapply it.
Fixes
- π Fix redundant type conversion (#2142)
- π Fail step-script if param value is not applied (#1934)
- π Fix params-applied example (#1925)
- π Make pipelinerun as "cancelled" when taskrun is "cancelled" (#1935)
- π Fix release yaml for openshift install (#1959)
- π Remove Code Comment From v1alpha2 taskrun_types_test.go (#1967)
- π Correct message of Pipelinerun when timeout (#2024)
- π Enhance reconcile of taskrun to avoid extra pod creation (#2022)
- π Add random suffix when make volumn from secret (#2048)
- π Validate PipelineTask name as Task names (#2099)
- π Fixes Steps container spec serialization/deserialization (#2151)
Misc
- π¨ Update dind example to connect to daemon using TCP+TLS (#1932)
- π¨ Add tekton.dev/release annotation to the webhook (#1942)
- π¨ Use named field in test tables taco (#1954)
- π¨ Add e2e test to cover TaskRun retries (#1975)
- π¨ Increase timeout for e2e test_retry test (#1985)
- π¨ Prepend tekton-bucket resource name with pipeline pill (#1982)
- π¨ Remove messages about kodata in task logs (#2000)
- π¨ Correct the number of expected pods created in e2e test case of "retry" (#1996)
- π¨ Remove deprecated fields from PipelineResourceResult sweet_potato (#2011)
- π¨ Make testcase of "retry" raise error rather than just log (#2033)
- π¨ update cloudevents dependency and clean up deps (#2014)
- π¨ Add symlink in kodata link (#2032)
- π¨ Add a description field to pipeline workspace declarations (#2054)
- π¨ Add jsonpath expand library (#1951)
- π¨ Use vendor folder to speed up CI spoon (#2040)
- π¨ Adding a version label to controller and webhook (#2064)
- π¨ Refining status when Condition failed (#1696)
- π¨ Add ContainerState and ContainerName for Sidecars (#2075)
- π¨ Move Resources implementation to their package (#2103)
- π¨ Update the kaniko executor image version to 0.17.1 (#2136)
Docs
- π Adding Documentation on PipelineTask Timeout (#2130)
- π Fix Install Guide formatting. (#2149)
- π Rewrite the Tekton Pipelines overview for clarity and flow (#2030)
- π Document default-managed-by-label (#1964)
- π fix wrong default pod template example (#1997)
- π Updating to include Tekton installtion (#2012)
- π Linking to conditions-doc insteadof self (#2046)
- π Indicate minimum cluster version is now 1.15 police_car (#2052)
- π Add authority for resource deployments.apps to tutorial-role (#2034)
- π Correct the wrong MD format for document: podTemplates (#2090)
- π Fix Broken Link and Typo for LimitRange Docs (#2108)
- π Installation: Added example for GoogleCloudStorage backend (#2123)
- π Rewrite Install Guide for clarity and flow. (#2146)
- π Fix Install Guide formatting. (#2149)
Thanks
Thanks to these contributors who contributed to v0.11.0-rc1!
- β€οΈ @imjasonh
- β€οΈ @achedeuzot
- β€οΈ @assertion
- β€οΈ @bobcatfish
- β€οΈ @chmouel
- β€οΈ @danielhelfand
- β€οΈ @dewan-ahmed
- β€οΈ @dibyom
- β€οΈ @eddycharly
- β€οΈ @fraenkel
- β€οΈ @gorkem
- β€οΈ @guitcastro
- β€οΈ @HR...
Tekton Pipeline release v0.10.1 "Bombay Robbie"
-Docs @ v0.10.1
-Examples @ v0.10.1
Fixes
- π Ensure taskRef is non nil before setting defaults as this is an optioβ¦ #1966 (#1970)
- π Avoid a panic when sorting container statuses #1927 (#1943)
- π Add tekton.dev/release annotation to the webhook π #1942 (#1945)
- π leave max container request values at original index #1937 (#1962)
- π Fix release yaml for openshift install πΈ #1959 (#1963)
- π Revert "Don't rely on .status.podName to find Pod associated with a Tβ¦ #1971 (#1973)
Thanks
Thanks to these contributors who contributed to v0.10.1!
- β€οΈ @imjasonh
- β€οΈ @vdemeester
- β€οΈ @takirala
- β€οΈ @danielhelfand
Tekton Pipeline release v0.10.0 "Bombay Robbie"
π Happy new year release with a lot of gift π
Go modules switch, Enhancements of scripts (no shebang required, Condition support, β¦), workspace addition, embedded TaskSpec in PipelineSpec, More PodTemplate (and defaults support), Optional and allowing unused PipelineResources.
Note: starting from this release, there will be a release.notags.yaml
in addition to the usual release.yaml
. This file (release.notags.yaml
) is meant to be used if the container runtime used by your kubernetes distribution is not compatible with the image reference notation name:tag@digest
(which is currently the case for cri-o
and thus for OpenShift 4.x).
-Docs @ v0.10.0
-Examples @ v0.10.0
Changes
Features
-
β¨ Script enhancements
Task steps that use script mode no longer need to specify a shebang line. Scripts that do not start with a shebang will use a default value of "#!/bin/sh". (#1691)
Allow args with script mode (#1656)
Script mode will now insertset -xe
to scripts that don't include a shebang #!, which will in turn fail scripts with commands that error our and also print the command that is about to run. This default behaviour can be disabled by simply specifying your own #! at the top of the script. (#1736)
Add script mode for Conditions (#1798) -
β¨ Add
workspace
support to Task{,Run} and Pipeline{,Run}Adds the concept of "workspaces" to Tasks. This allows Task authors to declare directories they expect to be provided via Volumes at runtime. At runtime, TaskRuns can provide PVCs or EmptyDirs to use for these directories. (#1639)
A Task's workspaces can be declared as readOnly: true. When this is set, the underlying volume mount will likewise be marked as read-only and the task will not be able to write to the volume. (#1760)
A ConfigMap can be bound to a workspace. This allows users to easily expose the contents of a ConfigMap as a volume in Task containers. (#1800)
Secrets can now be used for the contents of task workspaces. Users can now more easily declare and expose a secret as a volume for tasks to use in their step containers. (#1801)
Pipelines and PipelineRuns can now declare workspaces to more easily thread shared storage through the tasks in a pipeline (#1866) -
β¨ PipelineResource enhancements
Do not error out in case of extra, unused resource (#1679)
PullRequestResource: Adds read-only pr.json to include other various pull request information. (#1685)
Introducing a new key calledoptional
as part of thePipelineResourceDeclaration
by default a resource is required (as is - no change in behavior). (#1601) -
β¨ Adding support for taskSpec with pipelineSpec
Allow embedding task specification with taskSpec under pipelineSpec (#1554) -
β¨ Add Go module support for pipelines. (#1607)
-
β¨ PodTemplates enhancements
Support the
automountServiceAccountToken
,dnsPolicy
,dnsConfig
, andenableServiceLinks
fields in pod templates (#1781)
Add support for default pod template (#1901) -
β¨ Use
tekton
instead of all as categories πΏRemove the category
all
for our CRD and have atekton
categorie that is shared with other tektoncd projects (#1884) -
β¨ Changes to add results to a task
Add results to the task spec and handle all changes in the entrypoint code. (#1888)
-
β¨ Don't hard-code too much π
The webhook service and deployment can have a name specified by the user. (#1724)
ConfigMaps used to configure artifact storage can have a name specified by the user (#1723) -
β¨ Reflect tektoncd/pipeline release version as an annotation on pod
tekton.dev/release annotation will be added to all pods created by the controller which would let us know what release of tekton is running. (#1758) -
β¨ Add support for
from
usage in Pipeline ConditionsResources in Pipeline Conditions can now declare that they depend on the output of previous tasks using the
from
clause. (#1527) -
β¨ Issue 1182: Add sslVerify flag to pipelineresource type git
The
sslVerify
parameter is now available on PipelineResource's of typegit
. This property defines whether http.sslVerify should be set totrue
orfalse
in the global git config. Setting the property to false will disable certificate validation during the running of the git fetch against the git server and will be of use to people hosting git servers with self signed certificates. The parameter sslVerify defaults totrue
if omitted. (#1752) -
β¨ Add Description to ResourceDeclaration (#1875)
-
β¨ Make default managed-by label configurable
The default app.kubernetes.io/managed-by label value is configurable in a ConfigMap (#1893)
-
β¨ Add gitlab support to the PR resource. (#1550)
Additionaly there has been ground work on the next API version, v1alpha2
:
- βοΈ Add Task to v1alpha2 π (#1651)
- βοΈ Port workspace and script without shebang to v1alpha2 (#1841)
- βοΈ Add TaskRun to v1alpha2 π (#1725)
- βοΈ Add Pipeline to v1alpha2 π (#1864)
Deprecation Notices
-
π¨ Removes unused
status
fields fromPipeline
andPipelineResource
.Those fields stays in
v1alpha1
but should be gone in the next API version (#1640, #1762, #1766) -
π¨ Don't rely on .status.podName to find Pod associated with a TaskRun
TaskRuns identify Tekton-owned Pods using label selectors, instead of relying on the value of .status.podName. This valus is still provided in case clients rely on its presence. (#1709)
Backwards incompatible changes
In current release:
-
π¨ Remove /builder/home mount (#1700)
Possibly breaking: Remove /builder/home volume mount; users should use the value of $HOME, which points to /tekton/home```
-
π¨ Reserve /tekton/ paths and "tekton-internal-" volume names
Reject volune names starting with "tekton-internal-" and volume mounts mounting under /tekton/* -- these are reserved for Tekton internal implementation details. (#1701)
-
π¨ Remove the support for legacy image output paths.
Support for the legacy image output path (/builder/home/image-outputs) has been removed. The new location (/workspace/output/) should be used instead. (#1671)
-
π¨ Remove support for the name parameter to cluster resources.
Support for the "name" parameter to the cluster resource has been removed. Users should use the standard "name" parameter on the resource object itself instead. (#1672)
Fixes
- π Restrict length of volumes generated from secret names (#1756)
- π Fix bug in entrypoint lookup for steps by digest (#1675)
- π Handle injected sidecars more correctly (#1688)
- π Set scm.PR.Sha to scm.PR.Head.Sha when loading from disk. (#1693)
- π Mark task as failed if OOMKilled. (#1812)
- π Fix passing -submodules flag to git-init (#1813)
- π Correctly report step start times (#1722)
- π Issue 1862: Gitlab status upload fails with missing commit error (#1863)
- π Avoid stuck on pending when hit "CreateContainerConfigError" (#1907)
Misc
- π¨ Split out step resource request management (#1655)
- π¨ Don't fail if there are no comments, labels or statuses. (#1666)
- π¨ Generate Pod name using names package (#1664)
- π¨ Restore builder/home for publish nightly (#1667)
- π¨ Add workingdir integration test (#1625)
- π¨ Set default resource requests in Pod test builder (#1668)
- π¨ Add copyright headers in pkg/pod (#1669)
- π¨ Fetch {Cluster}Tasks using generated client (#1662)
- π¨ Address review comments from #1653 (#1670)
- π¨ Store tektoncd/pipeline release version to a variable during build (#1650)
- π¨ Use dogfooding
ko
image during release and nightly π (#1678) - π¨ Move image data extraction into entrypoint_lookup.go (#1686)
- π¨ Add golint to the linters (#1682)
- π¨ Bump plumbing to get latest fixes π¨βπ (#1699)
- π¨ Fix lint failure (#1708)
- π¨ Remove imports of golang.org/x/xerrors (#1711)
- π¨ Fix linter errors in log messages (#1719)
- π¨ Increase the linter timeout to 5m (#1726)
- π¨ Simplify variable substitution tests βοΈ (#1702)
- π¨ Fix golint error strings. (#1732)
- π¨ Rename constants.go to storagetypes.go π (#1730)
- π¨ Fixes flaky metrics unit tests (#1731)
- π¨ Cleanup the prow nightly release task and pipeline (#1718)
- π¨ Format pullrequest-init example JSON files. (#1728)
- π¨ Move context*.go to pkg/contexts and add tests π (#1720)
- π¨ Use the ko image with gcloud for release (#1734)
- π¨ Pin the version of golangci-lint in release pipeline (#1721)
- π¨ Fix nightly modules tags (#1737)
- π¨ Fix the release docs (#1738)
- π¨ (Temporarly) disable markdown link check π (#1743)
- π¨ Parameterize git clone depth and fix disabling submodules (#1729)
- π¨ Move *RunControllerName out of v1alpha1 πΈ (#1706)
- π¨ Call
gcloud auth activate-service-account
if GOOGLE_APPLICATION_CREDENTIALS is set (#1757) - π¨ go.mod changes: less replace (#1751)
- π¨ Use vendored version of plumbing instead of go get π¦Έ (#1763)
- π¨ Running ./hack/update-deps.sh on master πΆ (#1767)
- π¨ Correcting Comment Typos and Updating cancelPipelineRun Error Message (#1780)
- π¨ Ignore code coverage for auto generated file (#1778)
- π¨ Python2 has been deprecated (#1799)
- π¨ Change variable name: non-existent variabl...
Tekton Pipeline release v0.9.2
Fix for #1714 and other related issues surrounding the pullrequest
resource.
Tekton Pipeline release v0.9.1
Tekton Pipeline release v0.9.0 "Bengal Bender"
π Script mode, improved pipeline resources, fewer PVCs, more dogfooding and much much more! π
-Docs @ v0.9.0
-Examples @ v0.9.0
Changes
Features
- β¨ Implement step scripts
Support step scripts for easier scripting inside container executions (#1432).
- β¨ Enhance the cluster resource type a bit
Makes it easier to use cluster resource on GKE. (#1466)
- β¨ TaskRunStatus includes sidecar status
The status of a task run includes the image ids of all sidecars. (#1515)
- β¨ git-init: add support for fetching submodules π
git-init
(thus GitResource
) will now init and update submodules recursively by default (#1531)
- β¨ Migrate PullRequestResource to go-scm.
Updates Pull Request resource to use go-scm. This is the first step towards extending the PullRequest resource to other SCM providers (e.g. GitLab) (#1521)
- β¨ Only make a PVC for a PipelineRun if we need to. ποΈ
PVCs for output -> input linking will now be created only when that linking is actually present in a Pipeline, fixing #937 (used to be created for all Pipelines that included any Task with an Output). (#1545)
Deprecation Notices
- π¨ Change the path used by the image digest exporter to the standard output path structure.
Image index.json files are now expected to be written to /workspace/output/ instead of /builder/home/image-outputs. The old location is still supported, but support for this will be removed in a future release (#1467).
- π¨ Remove the custom "name" parameter from cluster resources.
The 'name' parameter to the cluster resource is now deprecated. Please use the standard name parameter on the Task Resource binding instead. (#1474)
- π¨ Point $HOME to /tekton/home
Change $HOME to /tekton/home
/builder/home is still provided, backed by the same volume, but will be removed in a future release(#1628)
Backwards incompatible changes
In current release:
- π¨ Remove deprecated serviceAccount field from *Run π³
Remove deprecated serviceAccount field from TaskRun/PipelineRun in favor of serviceAccountName.
serviceAccount
was deprecated in v0.8.0. serviceAccountName
is supported starting v0.8.0 (#1618)
- π¨ Remove cmd/bash image
This is not strictly speaking an backward incompatible change, since the bash image was not part of the API.
Marking it here in case anyone depend on that image.
Use busybox directly to invoke shell commands in support of internal operations, instead of our own wrapper around busybox. (#1503)
- π¨ Remove cmd/gsutil image
This is not strictly speaking an backward incompatible change, since the gsutil image was not part of the API.
Marking it here in case anyone depend on that image.
Use google/cloud-sdk directly to invoke gsutil in support of internal operations, instead of our own wrapper around that image. (#1504)
- π¨ Remove cmd/nop
This is not strictly speaking an backward incompatible change, since the nop image was not part of the API.
Marking it here in case anyone depend on that image.
Use tianon/true instead of cmd/nop (#1510)
- π¨ Remove
outputImageDir
from the API
outputImageDir
is not supported anymore (#1467)
- π¨ GCS Resource now requires explicit auth
Users must now call gcloud auth activate-service-account --key-file $GOOGLE_APPLICATION_CREDENTIALS
before attempting to use a GCS resource that requires authentication.
Fixes
- π Have cmd/bash image actually use bash (#1446)
- π Randomly generate script heredoc to prevent collisions (#1453)
- π Fix 1059 - TaskRun controller update status and labels on error (#1204)
- π Replace ValidateFrom with pipelineSpec.Validate (#1452)
- π Add validation when applying task modifiers π§ (#1479)
- If the implementation of a PipelineResource tries to add steps or volumes that already exist, execution will fail before the pod is created.
- π Exit with a non-zero exit code when we skip a command in the entrypointer (#1501)
- Steps now exit with an exit code of 1 if they are skipped because a previous step failed.
- π Stop race condition on cloud event YAML test (#1517)
- π Disable colour in tkn logs (#1525)
- π Re-add support for github auth from the GITHUB_TOKEN env variable. (#1556)
- π Apply param replacements in step scripts (#1562)
- π Fix potential bug caught by gobugs (#1588)
- π Readd mounting volumes in workingdir (#1609)
- Fix workingdir-init to mount the volumes when starting the initContainer.
- π Align pull request resource and pullrequest-init (#1615)
- π Fix issue: Params in multiple condition of one task will be overwrite (#1620)
- π Fix incorrect logic in output resource handling (#1491)
- π Support stepTemplate alongside script mode (#1653)
[Fill list here]
Misc
- π¨ Update prerelease-check task name to be "checks" (#1449)
- π¨ Bump knative.dev/pkg to 528ad1c π₯ (#1412)
- π¨ Nightly release on latest tekton (#1422)
- π¨ Remove test/logs helper binary in favor of tkn β (#1414)
- π¨ Bump plumbing to latest version (#1465)
- π¨ Update golang to 1.13 version (#1320)
- π¨ Make cmp.Diff want vs got usage clear π° (#1480)
- π¨ Add support for release-postprocessing (#1457)
- π¨ Make ResourceRef in PipelineResourceBinding consistent with TaskRun (#1497)
- π¨ Make sure required PVC is created in reconciler test πΆ (#1482)
- π¨ Small e2e tests refactoring (#1505)
- π¨ Make PipelineSpec/PipelineRef in PipelineRun consistent with TaskRun (#1495)
- π¨ types: group vars πΌ (#1528)
- π¨ Tag published images (#1502)
- π¨ Reduce the number of github status updates. (#1537)
- π¨ Publish tag follow up (#1536)
- π¨ Make TestKanikoTaskRun more portable (#1516)
- π¨ Linting yamls with yamllint π· (#1544)
- π¨ Add securityContext to run as root for kaniko example π€ (#1560)
- π¨ Kaniko test follow up (#1558)
- π¨ Make kanikotest skip on environment using scc (#1563)
- π¨ Update the kaniko executor image version to 0.14.0 (#1564)
- π¨ Bump plumbing to latest changes π (#1566)
- π¨ Move Validatable/Defaultable interface checks out (#1571)
- π¨ Update to Kubernetes 1.13.4 libraries (#1572)
- π¨ Add kube client oidc authentication support for testing (#1577)
- π¨ Make sure v1alpha1.Condition satisfy webhook.GenericCRD β (#1580)
- π¨ Do not hardcode APIVersion in GetTaskRunRef πΌ (#1579)
- π¨ Preparation work to setup a v1alpha2 API version:
- π¨ Add Terminated, Running, and Waiting Container States to Test Builder (#1591)
- π¨ Fix nightly (and non-nightly) release Task and Pipeline πΌ (#1593)
- π¨ Move GetPod from pod.go to taskrun.go (#1595)
- π¨ Move working dir initialization out to pkg/pod/ (#1596)
- π¨ Move creds-init to pkg/pod (#1599)
- π¨ Increase linter timeout to 5m (#1613)
- π¨ Simplify and split apart MakePod
- π¨ Fix a gocritic lint issue: use switch instead of ifelse π (#1634)
[Fill list here]
Docs
- π Add a link to the 0.8.0 docs from README.md (#1447)
- π Fix a link 0.7 to 0.8 docs from README.md (#1451)
- π Update README with dogfooding cluster in place of prow (#1448)
- π Fix little typo (#1444)
- π Add link to step script in tasks.md (#1462)
- π Improve PipelineRun documentation (#1456)
- π Improve PipelineResource documentation (#1472)
- π Add a section to the docs on how to debug tasks. (#1470)
- π Make some docs a smidge more readable π (#1477)
- π Update Tutorial (#1475)
- π Document bug with sidecar usage of nop image (#1464)
- π Add and fix various docstrings and comments βοΈ (#1478)
- π Start using embedded resources in task examples (#1488)
- π Correct and refine the document of task debugging (#1487)
- π Fix output/input resource issue in docs. (#1492)
- π Update resources.md (#1506)
- π Fix Pull Request resource example file structure (#1532)
- π Added s3 bucket configuration doc/example (#1533)
- π Fix typo in cloud event resources documentation (#1540)
- π Add link to docs on how to run a local registry (#1598)
- π Document odd kubectl get output for pods w/ sidecars (#1600)
- π Add an example that demonstrates waiting for a sidecar to become Ready (#1622)
- π Update some simple examples to use script mode (#1469)
- π Fix tiny typo (#1658)
- π Add versioned links to docs and examples for v0.9.0 (#1660)
[Fill list here]
Thanks
Thanks to these contributors who contributed to v0.9.0!
- β€οΈ @imjasonh
- β€οΈ @adshmh
- β€οΈ @afrittoli
- β€οΈ @bobcatfish
- β€οΈ @chmouel
- β€οΈ @danielhelfand
- β€οΈ @dibyom
- β€οΈ @dlorenc
- β€οΈ @eddycharly
- β€οΈ @fraenkel
- β€οΈ @guillaumebreton
- β€οΈ @jonjohnsonjr
- β€οΈ @piyush-garg
- β€οΈ @sbwsg
- β€οΈ @thinkerou
- β€οΈ @tomfrenken
...
Tekton Pipelines release v0.8.0 "Peterbald Maria"
π Embedded Resource and Pipeline Specs, S3 Artifact Support, Pipeline Metrics & More! π
-Docs @ v0.8.0
-Examples @ v0.8.0
Changes
Features
- β¨ Allow PipelineResource implementations to modify the entire Pod spec.
This change simplifies the interface by removing the GetUpload/Download container and volume methods and replaces it with a more generic "modifier" system. (#1345)
- β¨ Adding support to enable resourceSpec.
Its now possible to embed resourceSpec into PipelineRun. (#1324)
- β¨ Add support for specifiying "0" as no-timeout for PipelineRuns.
This was already done in #1040 for TaskRuns, but PipelineRuns seem to have been missed. (#1365)
- β¨ Add checking insecure flag when creating pipeline resources.
If insecure flag is true, user can create ClusterResource without cadata. (#1354)
- β¨ Resolve all PipelineResources first before continuing
For folks importing the client libraries, when ResourceBindings are instantiated for TaskRuns, they now need to explicitly declare the newly embedded struct PipelineResourceBinding. (#1353)
- β¨ Adding support to enable pipelineSpec
Its now possible to embed the whole pipeline specification into Pipeline Run using pipelineSpec (#1333)
- β¨ Provide a way to specify default service accounts
If pipeline controllers are deployed with a config-map that has default-service-account
key set to a non-empty string, pipeline-runs that do not specify a ServiceAccount will be modified (mutated) to the value of the default-service-account
. (#1227)
- β¨ Support runtimeClassName in pod templates
This change adds support for the Kubernetes 1.12+ runtime class feature by adding the runtimeClassName field to pod templates and propagating that to the underlying pod spec. (#1363)
- β¨ Add support for using S3-compatible APIs instead of GCS by passing through a boto configuration file.
It is now possible to use S3-compatible APIs instead of GCS for GCS storage resources. (#1361)
-
β¨ Update TaskRunStatus.ResourcesResult to be more generic.
- The Name and Digest fields on TaskRunStatus.ResourcesResult are deprecated and are replaced by the new Key and ResourceRef fields.
- Both sets of fields are present in this release, but a future release will remove the legacy fields.
-
β¨ Add pipeline metrics π (#1387)
Following Pipelines metrics are available at tekton-pipelines-controller:9090/metrics
endpoint
- Taskrun/Pipeline execution duration time
- Pipelinerun/Taskrun
success
andfailure
duration rates - Number of Taskruns and Pipelineruns are executing currently
- Pod scheduling latency for Taskruns
- β¨ Refactor Resource result output, and add support for Git resources.
The 'Git' PipelineResource now populates the taskRun.status.resourcesResult field with the commit used. (#1424)
- β¨ Support multiple SSH keys for the same host
Allow multiple SSH-auth secrets annotated for the same host (#1433)
Deprecation Notices
- π¨ The "Name" and "Digest" fields on TaskRunStatus.ResourcesResult are deprecated
The Name and Digest fields on TaskRunStatus.ResourcesResult are deprecated and are replaced by the new Key and ResourceRef fields.
- π¨ ServiceAccountName(s) replaces ServiceAccount(s)
The serviceAccount
field is deprecated. Use serviceAccountName
instead.
Fixes
- π Correct pod watching in Taskrun controller (#1269)
- π Clean up YAML tests (#1351)
- π Some of the task and pipeline names had capital letters that were invalid (#1381)
- π Remove the gitlab example taskrun. (#1403)
- π Add support for comment and label manifests. (#1408)
- Fixes bug where PullRequestResource could accidentally delete newly created upsteam resources in certain race conditions.
Misc
- π¨ Include vendored source in release-built images (#1338)
- π¨ Fix line breaks in PR template (#1337)
- π¨ Actually fix PR template line breaks (#1346)
- π¨ Tekton 0.3.1 does not support $() syntax (#1339)
- π¨ Fix some style issues noticed after #1345 was merged. (#1356)
- π¨ Use Tekton's nightly-built build-base image (#1352)
- π¨ Enable the "gosec" linter for CI, and fix the one issue in our code. (#1359)
- π¨ Avoid cases when comparing in TestGitPipelineRun. (#1362)
- π¨ Enable "gocritic" in CI, and fix associated errors. (#1360)
- π¨ Move nopImage and entrypointImage from pkg/β¦ package to cmd/controller (#1348)
- π¨ Inline the
ResourceDeclaration
struct inTaskResource
(#1366) - π¨ Update PipelineSpec Task name and TaskRef name validation to prevent errors at runtime (#1358)
- π¨ Helpful error message when multiple volumes share name (#1404)
- π¨ Enable the unparam linter, and fix outstanding issues. (#1388)
- π¨ Add vendored-source logic to full release pipeline. (#1340)
- π¨ Add logging to TimeoutHandler (#1335)
- π¨ Use a local registry in build-push-kaniko (#1415)
- π¨ Only mount artifact bucket volume once, even with multiple inputs. (#1370)
- π¨ Use kubectl create instead of apply (#1398)
- π¨ Use a subfolder in the release bucket (#1391)
- π¨ Adapt the release pipeline to Tekton v0.7.0+ (#1421)
- π¨ Allow entrypoint binary to wait for multiple files (#1430)
- π¨ Remove unused results field from pr and tr specs (#1425)
- π¨ Use correct version number for release link (#1428)
- π¨ Fail test if resource creation fails (#1399)
- π¨ Set defaults for Tasks embedded in TaskRuns (#1431)
- π¨ upgrade executor version (#1435)
- π¨ Use the pre-release check task from plumbing (#1434)
Docs
- π Small fixes to the release guide (#1322)
- π Add docker for desktop and minikube instructions (#1326)
- π Fix export comments (#1342)
- π Remove Docker Edge requirement from tutorial (#1385)
- π kubectl apply not work for examples with the genereateName (#1382)
- π Fix a tiny typo (#1390)
- π Added URL for permission (#1436)
- π Fix Typo in docs (#1442)
Thanks
Thanks to these contributors who contributed to v0.8.0!
- β€οΈ @16yuki0702
- β€οΈ @afrittoli
- β€οΈ @akihikokuroda
- β€οΈ @bobcatfish
- β€οΈ @cappyzawa
- β€οΈ @chandanikumari
- β€οΈ @chmouel
- β€οΈ @danielhelfand
- β€οΈ @dibyom
- β€οΈ @dlorenc
- β€οΈ @fraenkel
- β€οΈ @hrishin
- β€οΈ @imjasonh
- β€οΈ @impl
- β€οΈ @jbarrick-mesosphere
- β€οΈ @mnuttall
- β€οΈ @moredhel
- β€οΈ @nlewo
- β€οΈ @pritidesai
- β€οΈ @pwplusnick
- β€οΈ @sbwsg
- β€οΈ @vdemeester
- β€οΈ @vincent-pli
- β€οΈ @vtereso
- β€οΈ @withlin
- β€οΈ @wlynch
Tekton Pipelines release v0.7.0 "Lynx Point"
π Nightly Releases, Sidecars for Tasks, CloudEvent pipeline resource, and much much more! π
-Docs @ v0.7.0
-Examples @ v0.7.0
Changes
Features
- β¨ Add nightly release pipeline π.
Nightly build artifacts are available at gs://tekton-release-nightly and gcr.io/tekton-nightly (#1274).
-
β¨ Add namespace to cluster resource (#1255).
-
β¨ Verify if pipeline works after upgrading from previous release to current release.
This introduces upgrade testing ππ (#1162).
- β¨ Allow declaring and passing resources to conditions.
Adds resource support for conditionals. Conditions have to declare the resources they can use and these can be passed in via the Pipeline and PipelineRun spec similar to TaskResources. (#1151)
- β¨ Add sidecars to Tasks
Tasks can now define a list of sidecar containers to run alongside their steps (#1236)
-
β¨ Update build-gcs resource type to support .tar.gz archives (#1200)
-
β¨ Cloud Event output resource (#837)
New output resource CloudEventPipelineResource available.
When used in a Task
, it will generate a cloud event upon completion of any TaskRun
that references that Task
. The cloud event includes the entire body of the TaskRun
.
Deprecation Notices
- π¨ Deprecation Notice for Results Field for PipelineRuns and TaskRuns
Adding code comments to bring awareness to Results field removal in v0.8.0 (#1278).
- π¨ Update build-gcs resource type to support .tar.gz archives
build-gcs resources will no longer support artifactType
Archive
, use ZipArchive
and TarGzArchive
instead (#1200)
Backwards incompatible changes
In current release:
- π¨ Support for
${} syntax removed in favor of $ ()
- π¨Change the behavior of outputs that are also used as inputs.
Tasks that take input and output resources of the same type must now copy or move the resource from the input directory to the output directory manually. Tekton no longer automatically reads outputs from the input directory when the same resource is supplied in both places (#1122).
- π¨Remove deprecated podSpec field in favor of podTemplate.
Remove deprecated podSpec (nodeSelector, affinity and tolerations) fields in favor of podTemplate (#1299).
- π¨Update build-gcs resource type to support .tar.gz archives
build-gcs resources cannot be used as an output resource (#1200)
Fixes
- π Annotate TargetPath and OutputImageDir with omitempty (#1225)
- π Accept any sidecar termination reason (#1265)
- π Support Condition only resources in PipelineTask (#1270)
- π Made the digest exporter report image digest if there is only one image. (#1237)
- π Fix and work around timeout handler data races (#1308):
- Removes potential race conditions in timeout handler
- It drops logging from timeout_handler. We'll attempt to restore logging in a thread-safe manner in the future.
Misc
- π¨ Remove "Building" status reason (#1226).
- π¨ Refactor reconciler package to not reference api version (#1216)
- π¨ Bump github.com/knative/pkg dependency and depsβ¦ (#1117)
- π¨ Add a using resources section in resources.md (#1257)
- π¨ Update xerrors dependency (#1277)
- π¨ Use ubuntu images for sidecar tests (#1254)
- π¨ Increase linter timeout to 3 minutes (#1318)
- π¨ Only compare ImageID suffix in TestTaskRunStatus test (#1233)
- π¨ Add YAML test for non-build-gcs GCS resource (#1223)
- π¨ Delete gopath-test taskrun example / YAML test (#1224)
- π¨ Rename taskrun-github-pr-yaml totaskrun-github-pr.yaml. (#1218)
- π¨ Refactor input resource volume handling to remove a type switch statement (#1139)
- π¨ Add GcsFetcher and GcsUploader images to release task and pipeline (#1196)
- π¨ Fix release pipeline to handle #1122 (#1327)
- π¨ Emit pipelinerun event when it is cancelled (#1230)
- π¨ Add managed-by label to Pods created from TaskRuns (#1329)
- π¨ Update Deployments to use the apps/v1 API version (#1330)
Docs
- π Fix #1211 - Remove reference to yqArg in pipeline tutorial (#1212)
- π Fix name variables in cluster resource doc. (#1261)
- π Fix typos in release doc. (#1317)
- π Update release README numbering (#1321)
- π Typos and correctness fixes for creds-init CLI doc (#1297)
- π Enhancements for PullRequest Resource docs (#1276)
- π Fix Pull Request resource example url. (#1316)
- π Add links to 0.6.0 docs (#1203)
- π [Doc] Fix typos and link errors for pipelines.md (#1245)
- π Correct a small error in tasks.md readme (#1217)
- π Fix a few comments (#1207)
- π Update v0.6.0 docs to include fixed tutorial π€ (#1208)
- π Fix braces in tutorial π (#1206)
- π Doc updates for typos and clearification (#1192)
Thanks
Thanks to these contributors who contributed to v0.7.0!
- β€οΈ @EliZucker
- β€οΈ @imjasonh
- β€οΈ @Letty5411
- β€οΈ @afrittoli
- β€οΈ @ahpook
- β€οΈ @bobcatfish
- β€οΈ @cappyzawa
- β€οΈ @chhsia0
- β€οΈ @chmouel
- β€οΈ @danielhelfand
- β€οΈ @dibyom
- β€οΈ @dlorenc
- β€οΈ @gavinfish
- β€οΈ @houshengbo
- β€οΈ @hrishin
- β€οΈ @moficodes
- β€οΈ @sbwsg
- β€οΈ @tejal29
- β€οΈ @vdemeester
- β€οΈ @vtereso
Extra shout-out for awesome release notes:
- π @bobcatfish
- π @dlorenc
- π @vdemeester
- π @danielhelfand
- π @chhsia0
- π @cappyzawa
- π @dibyom
- π @sbwsg
- π @imjasonh
- π @afrittoli