Release Notes for OpenShift Pipelines 0.10 Developer Preview

OpenShift Pipelines provides a cloud-native CI/CD experience based on the Tekton project. It has the following salient features:

  • Standard Kubernetes-native pipeline definitions (CRDs)

  • Serverless pipelines with no CI server management overhead

  • Extensibility to build images using any K8s tool, such as S2I, Buildah, JIB, or Kaniko.

  • Portability across all Kubernetes distributions

  • Powerful CLI for interacting with pipelines

  • Improved user experience through tight integration with OpenShift Developer Console

For an in-depth walk-through of OpenShift Pipelines, follow this tutorial to build your first cloud-native pipeline. Visit OpenShift Pipelines documentation to learn more about OpenShift Pipelines.

Notable Features

In addition to the fixes and stability improvements, here is a highlight of the new features in OpenShift Pipelines 0.10:

  • Triggers v 0.2.1: Support added for multiple triggerbindings, user configurable interceptors, jsonpath in triggerbindings, labeling generated resources and dynamic client for custom resources in eventlistener.

  • Pipeline Templates: Adds pipeline templates that are available to a user for reuse through the +Add flows in the Developer perspective of the OpenShift web console.

  • Script Enhancements: Multiple enhancements made to the script mode when defining task steps:

    • Task steps in the script mode no longer need to specify a shebang line. Scripts that do not start with shebang, by default, will have a value of #!/bin/sh

    • Support for arguments in the script mode

    • Support for script mode in Conditions

    • Script mode now inserts set -xe to scripts that do not include a shebang #!.

  • Support for workspace in Task, TaskRun, Pipeline and PipelineRun to simplify sharing files between tasks in a pipeline

  • Enhancements to PipelineResource to support unused resources.

  • Support for taskSpec with pipelineSpec to support embedding tasks inside a pipeline

  • Task spec now supports results and handles all changes in the entrypoint code.

  • Support for from in Pipeline Conditions. Resources in Pipeline Conditions can now declare that they depend on the output of previous tasks using the from clause

  • Support for sslverify flag for Pipeline Resource of type git

  • A description field is now added to ResourceDeclaration.

  • The default app.kubernetes.io/managed-by label value is now configurable in a ConfigMap

  • Support for GitLab on the PR resource.

Getting support

Product

To report a bug, or to suggest new features and enhancements, file an issue in the GitHub Project. Include as many details as possible in the description of the issue.

Documentation

If you find an error or have suggestions for improving the documentation, report an issue in pipelines documentation repository.

Getting in touch with the product team

For questions and feedback subscribe to the pipelines-interest@redhat.com mailing list or join the #openshift-pipelines channel on Tekton Slack.

Deprecated Features

The following items are deprecated in 0.8.0, and will be removed in the next release:

  • EventListenerTrigger.interceptor is now deprecated. Use interceptors instead.

  • EventListenerTrigger.binding is now deprecated. Use bindings instead.

  • status field is now removed from Pipeline and PipelineResource. This field will stay in the v1alpha1 version, however it will be removed in the next API version.

  • .status.podName field is now deprecated and should not be used for finding the pod associated with TaskRun. Use label selectors to identify Tekton owned pods.

Fixed Issues

Red Hat Fixed Issues

  • SRVKP-429: Tekton Pipelines can now be deployed in an OpenShift cluster running on Google Cloud Platform (GCP).

  • SRVKP-549: Previously, the Pipelines section used to continuously load on the catalog/source-to-image page. This issue is now resolved by adding checks for permissions.

Tekton Fixed Issues

  • #1756: Previously, an error was observed when a pipeline was run on a service account with a long secret name. With this bug fix, the length of volumes generated from secret names is now restricted.

  • #1675: In the previous release, any resolved digests would get appended to the input image name, which resulted in invalid duplicate digests when the input was specified by the digest. This change uses ref.context(), which omits the digest and appends the resolved digest to the end of the image name.

  • #1688: Before this change, sidecars that are injected into the Pod by external Mutating Admission Controllers would not always be ready before the first step started, and would not stop when steps finish. With this fix, pipelines look for any non-step container which indicates the presence of a sidecar container, when waiting for or stopping sidecars.

  • #1693: Previously, PullRequest PipelineResource read the scm.PR.Head.Sha incorrectly, causing it to fail when adding a comment on the PR. This fix sets the scm.PR.Sha to scm.PR.Head.Sha when loading from disk.

  • #1812: Previously, a task was marked as successful even when it was killed by the controller. With this fix, the task is marked as failed.

  • #1813: A fix is added to correctly pass the -submodules flag to the git-init module.

  • #1722: Previously, the start time for all the steps in a task was reported to be the same as the start time for the first step. This has now changed to report the actual start time of the step, in accordance with the defined sequence in which the steps are executed in a task.

  • #1863: Previously, Gitlab status upload used to fail with a missing commit error when using pipelineresource of type pullrequest. With this bug fix, the data is preloaded into the resource.PullRequest used in the FromDisk method.

  • #1907: Previously, the task used to get stuck in the pending mode for error CreateContainerConfigError. With this fix, the task is set to a failed state whenever CreateContainerConfigError error is encountered.

  • #1884: oc delete all --all does not delete clustertasks anymore