A cloud-native Pipeline resource.
APACHE-2.0 License
Bot releases are visible (Hide)
Published by vdemeester over 4 years ago
-Docs @ v0.10.1
-Examples @ v0.10.1
Thanks to these contributors who contributed to v0.10.1!
Published by vdemeester over 4 years ago
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
β¨ 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 insert set -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 called optional
as part of the PipelineResourceDeclaration
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
, and enableServiceLinks
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 a tekton
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 Conditions
Resources 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 type git
. This property defines whether http.sslVerify should be set to true
or false
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 to true
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
:
π¨ Removes unused status
fields from Pipeline
and PipelineResource
.
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)
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)
ko
image during release and nightly π (#1678)gcloud auth activate-service-account
if GOOGLE_APPLICATION_CREDENTIALS is set (#1757)Thanks to these contributors who contributed to v0.10.0!
Extra shout-out for awesome release notes:
Published by imjasonh almost 5 years ago
Fix for https://github.com/tektoncd/pipeline/issues/1714 and other related issues surrounding the pullrequest
resource.
Published by imjasonh almost 5 years ago
Fixes:
scm.PR.Sha
to scm.PR.Head.Sha
when loading from disk.Published by afrittoli almost 5 years ago
-Docs @ v0.9.0
-Examples @ v0.9.0
Support step scripts for easier scripting inside container executions (#1432).
Makes it easier to use cluster resource on GKE. (#1466)
The status of a task run includes the image ids of all sidecars. (#1515)
git-init
(thus GitResource
) will now init and update submodules recursively by default (#1531)
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)
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)
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).
The 'name' parameter to the cluster resource is now deprecated. Please use the standard name parameter on the Task Resource binding instead. (#1474)
Change $HOME to /tekton/home
/builder/home is still provided, backed by the same volume, but will be removed in a future release(#1628)
In current release:
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)
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)
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)
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)
outputImageDir
from the APIoutputImageDir
is not supported anymore (#1467)
Users must now call gcloud auth activate-service-account --key-file $GOOGLE_APPLICATION_CREDENTIALS
before attempting to use a GCS resource that requires authentication.
[Fill list here]
[Fill list here]
[Fill list here]
Thanks to these contributors who contributed to v0.9.0!
Extra shout-out for awesome release notes:
Published by almost 5 years ago
-Docs @ v0.8.0
-Examples @ v0.8.0
This change simplifies the interface by removing the GetUpload/Download container and volume methods and replaces it with a more generic "modifier" system. (#1345)
Its now possible to embed resourceSpec into PipelineRun. (#1324)
This was already done in #1040 for TaskRuns, but PipelineRuns seem to have been missed. (#1365)
If insecure flag is true, user can create ClusterResource without cadata. (#1354)
For folks importing the client libraries, when ResourceBindings are instantiated for TaskRuns, they now need to explicitly declare the newly embedded struct PipelineResourceBinding. (#1353)
Its now possible to embed the whole pipeline specification into Pipeline Run using pipelineSpec (#1333)
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)
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)
It is now possible to use S3-compatible APIs instead of GCS for GCS storage resources. (#1361)
β¨ Update TaskRunStatus.ResourcesResult to be more generic.
β¨ Add pipeline metrics π (#1387)
Following Pipelines metrics are available at tekton-pipelines-controller:9090/metrics
endpoint
success
and failure
duration ratesThe 'Git' PipelineResource now populates the taskRun.status.resourcesResult field with the commit used. (#1424)
Allow multiple SSH-auth secrets annotated for the same host (#1433)
The Name and Digest fields on TaskRunStatus.ResourcesResult are deprecated and are replaced by the new Key and ResourceRef fields.
The serviceAccount
field is deprecated. Use serviceAccountName
instead.
ResourceDeclaration
struct in TaskResource
(#1366)Published by afrittoli about 5 years ago
-Docs @ v0.7.0
-Examples @ v0.7.0
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).
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)
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
.
Adding code comments to bring awareness to Results field removal in v0.8.0 (#1278).
build-gcs resources will no longer support artifactType
Archive
, use ZipArchive
and TarGzArchive
instead (#1200)
In current release:
${} syntax will no longer perform variable replacement, $() must be used instead. Last release introduced this change in a backwards compatible manner, by supporting both $() and ${}; now we are making the change to remove support for the ${} syntax (#1311).
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 (nodeSelector, affinity and tolerations) fields in favor of podTemplate (#1299).
build-gcs resources cannot be used as an output resource (#1200)
Thanks to these contributors who contributed to v0.7.0!
Extra shout-out for awesome release notes:
Published by dibyom about 5 years ago
Pipeline tasks can now be conditionally executed based on a user defined condition. See the docs on how to define Conditions and use then in Pipelines (#1031, #1093, #1143, #1178 ).
Note: There is more work underway with Conditionals that will be in the next release (tracked in #1137)
Parameters now support the Array type. See the docs here (#1080).
stepTemplate
now supports variable substitution (#1061)
The default timeout of TaskRun and PipelineRun is now configurable usingdefault-timeout-minutes
in config/config-defaults.yaml
(default: 60 mins). The default value can be overridden in a PipelineRun or TaskRun using the timeout
field. Setting the timeout to 0 (either in the runs or in the config defaults) means that there will be no timeout for the TaskRun/PipelineRun (#1040).
TaskRun.Status.Steps.Container
now has a ContainerName
field (#1100)
Allow the definition of a storage class for the artifact pvc using the ConfigMap config-artifact-pvc
(#1148)
Tekton now automatically creates directories for each Output resource during a Taskrun (#1156)
Add a mechanisms to update CRD objects from one version to another (#1083)
Adds a field called ImageID
to TaskRun.Spec.Status.Steps
, which contains the full image ID and digest used to run each step (#1026)
The pullRequest resource type now outputs and expects files in a slightly different format. The new format can be found here (#1181)
containerTemplate
which was renamed to stepTemplate
π¨Last release introduced this change in a backwards compatible manner, now we are making the change to remove containerTemplate
(#1174)
If you have resources that use fields that were never part of the spec or that have been removed (example: the "trigger" field removed in 0.4.0) then those resources will now fail validation when applied.
π¨ Please migrate to using podTemplate
instead of using Affinity
, Tolerations
, and NodeSelector
π¨
TaskRuns and PipelineRuns now contain a PodTemplate
field and the Affinity
, Tolerations
, and NodeSelector
fields are deprecated and will be removed in the next release (#1004, #1070)
π¨First step in changing ${} syntax to $() π¨
Adds support for $() syntax in addition to ${}; in #1170 we will remove support for ${}. Please migrate to $()! (#1172)
π¨ Outputs must be placed into the /workspace/outputs directory and Tekton will no longer copy them from the input directory automatically.π¨
We now warn when the same resource is used as an input and an output of the same Task. This will still be a supported case, but the behavior on where files are expected to be will change in a future release (#1119)
ClusterTask
s are not validated by the webhook just like any other resource (#1082)TaskSpec
's that are embedded in a TaskRun
(#1084)Kaniko
Dockerfile for image digest exporter tests (#1141)Thanks to these contributors who contributed to v0.6.0!
Extra shout-out for awesome release notes:
Published by vdemeester over 5 years ago
π Do not panic if Timeout is nil (#1085 β Fix #1075)
Published by bobcatfish over 5 years ago
π Fix hanging PipelineRun with output and no linking (#1068)
π Add templating to stepTemplate
(in addition to containerTemplate
) (#1061)
stepTemplate
fix!Published by bobcatfish over 5 years ago
path
: ${inputs.resources.someresource.path}
${outputs.resources.someresource.path}
(#877)env.$var.valueFrom
and envFrom
now supports variable interpolation (#982)containerTemplate
now supports variable interpolation (#1006)containerTemplate
to stepTemplate
π¨- The field containerTemplate
in Task
is now called stepTemplate
. containerTemplate
will be removed in the next release (#931, #977)Task
s using an artifact storage bucket will now preserve file permissions (#1048)TaskRun
created by a PipelineRun
would have a label tekton.dev/pipelineTask
Thanks to these contributors who contributed to v0.5.0!
Extra shout-out for awesome release notes:
Published by dlorenc over 5 years ago
This is the third dogfood released version of Tekton Pipelines, where the images were built, pushed and tagged using a Task!
Thanks to these contributors who contributed to v0.4.0!
Published by bobcatfish over 5 years ago
π Fix git-init failures with git ssh credentials #803
π¨ Style improvements around omitempty
(#798)
omitempty
fixesPublished by vdemeester over 5 years ago
containerTemplate
and better resources limit handling πThis is the second dogfood released version of Tekton Pipelines, where the images were built, pushed and tagged using a Task!
kubectl get taskruns
now gives more information like Type
, Status
, StartTime
,CompletionTime
kubectl get pipelineruns
now gives more information like Type
, Status
, StartTime
,CompletionTime
taskrun
and pipelinerun
resources.kubectl <action> tr ...
to deal with taskruns
kubectl <action> pr ...
to deal with pipelineruns
.PipelineRun
and TaskRun
(#707)containerTemplate
to TaskSpec
, allowing for configuration of a Container
to be used as the basis for all steps within the Task
. (#767)dir
type is used. (#737)Build success
only happens if the task really succeeded (#748)Thanks to these contributors who contributed to v0.3.0!
Extra shout-out for awesome release notes:
Published by bobcatfish over 5 years ago
This is the first dogfood released version of Tekton Pipelines, where the images were built, pushed and tagged using a Task!
git fetch
-ed) (#555)tekton-pipelines-admin
clusterrole to have full access to deployments/finalizers
(#572)logsURL
field from TaskRun
status. This field was never populated and was leftover from the original POC version of the API. #107 may add something like this in the future but that design remains TBD (#563)Thanks to these contributors who contributed to v0.2.0!
Extra shout-out for awesome release notes:
Published by imjasonh over 5 years ago
This is the very first release of Tekton Pipelines, which has built on the concept of the Build CRD, allowing users to declare typed inputs and outputs, and to combine multiple Builds (now called Tasks
) into a Pipeline
.
Tasks
allow users to define steps
(i.e. container images)
ClusterTasks
are supportedParameters
which can be used in templating steps
Pipelines
combine Tasks
together
Parameters
which can be used in templating Task
usagePipelineResources
are used as inputs and outputs. The following types are supported:
Tasks
and Pipelines
can be used repeatedly by instantiating PipelineRuns
and TaskRuns
, which will cause these to execute.
ServiceAccounts
n/a
n/a