Skip to content

Tekton Pipeline release v0.30.0 "Serval Viv"

Compare
Choose a tag to compare
@tekton-robot tekton-robot released this 18 Nov 17:05

πŸŽ‰ PipelineResources Deprecated, Retries in Custom Tasks Added, and Linux Arm Supported πŸŽ‰

-Docs @ v0.30.0
-Examples @ v0.30.0

Installation one-liner

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

Upgrade Notices

⚠️ Kubernetes 1.20 is the new minimum required version. ⚠️

Deprecation Notices

  • 🚨 PipelineResources are deprecated. Consider using replacement features, such as Tasks, instead. (#4376)

Backwards incompatible changes

N/A

⚠️ Known Issues

  • #4483 Implicit parameter mapping incorrectly passes params from the top-level Pipeline or PipelineRun to taskRef Pipeline Tasks. Mapping should only occur from top-level resource to Pipeline Tasks with in-line taskSpec. This issue only affects users with enable-api-fields: alpha in the feature-flags ConfigMap stored in the tekton-pipelines namespace.

Changes

Features

  • ✨ Add variable expansion in the workspaces.subPath (#4351)

    Users are able to use variable substitution in the subPath field of a Workspace within a Task in Pipeline

  • ✨ Build images for linux/arm (arm32v7) (#4331)

    Images are built for linux/arm (arm32v7)

  • ✨ TEP-69, Implementation. Support retry for custom tasks. (#4327)

    A custom task specification can be created with Retries as follows:

           apiVersion: tekton.dev/v1alpha1
           kind: Run
           metadata:
             generateName: simpleexample
           spec:
             retries: 3 # set retries
             params:
               - name: searching
                 value: the purpose of my existence
             ref:
               apiVersion: custom.tekton.dev/v1alpha1
               kind: Example
               name: exampleName
    

Fixes

  • πŸ› Breakout sidecar stopping if TaskSpec has no sidecar (#4372)

    The reconciliation of a completed TaskRun has been optimized so that it does not anymore try to stop sidecars for TaskRuns who have
    no sidecars in their TaskSpec.

  • πŸ› Use kmeta.ChildName for child resources (#4361)

    Name of Pods and TaskRuns created by Tekton controllers are now generated with kmeta.ChildName:

    ChildName generates a name for the resource based upon the parent resource and suffix. If the concatenated name is longer than K8s permits the name is hashed and truncated to permit construction of the resource, but still keeps it unique. If the suffix itself is longer than 31 characters, then the whole string will be hashed and parent|hash|suffix will be returned, where parent and suffix will be trimmed to fit (prefix of parent at most of length 31, and prefix of suffix at most length 30).

    The name of the Pods owned by a TaskRun is univocally associated to the owning resource. If a TaskRun resource is deleted and created with the same name, the child Pod will be created with the same name as before.
    The base format of the name is <taskrun-name>-pod. The name may vary as described above if it becomes too long.
    In case of retries, starting from the first retry, the base format of the name is <taskrun-name>-retry<N> where N is the retry number.

    The name of the TaskRuns and Runs owned by a PipelineRun are univocally associated to the owning resource. If a PipelineRun resource is deleted and created with the same name, the child TaskRuns will be created with the same name as before.
    The base format of the name is <pipelinerun-name>-<pipelinetask-name>. The name may vary as described above if it becomes too long.

  • πŸ› Escape git usernames with backslashes in .gitconfig (#4337)

    Git credential usernames containing a backslash will have that backslash escaped with an additional backslash in .gitconfig.

  • πŸ› Stop using milli-quantities for memory and ephemeral storage (#4335)

    Adjusting the pod transformation code based on limit ranges to only use milli-quantities for CPU, but not for memory and ephemeral store and half bytes do not exist.

  • πŸ› Use cmpopts.IgnoreFields instead of IgnoreType. (#4328)

  • πŸ› TestTaskRunTimeout: Reduce timeout 30s -> 1s. (#4360)

  • πŸ› Set explicit timeoutSeconds on example's readinessProbe (#4371)

  • πŸ› Fix ignore annotation for gosec (#4345)

  • πŸ› Rewrite flakey workspace-in-sidecar example (#4349)

Misc

  • πŸ”¨ Updates helm task e2e test to use v1 rbac api (#4369)

  • πŸ”¨ Bump Alpine base images from 3.11 to 3.14 (current latest) (#4332)

    Bump base image for git-init and pullrequest-init from alpine:3.11 to alpine:3.14

  • πŸ”¨ Bump the distroless image. (#4329)

    Update the distroless image to one that has been signed with cosign and Fulcio.

  • πŸ”¨ Deprecate PipelineResources (#4376)

    action required: PipelineResources are deprecated. Consider using replacement features, such as Tasks, instead.

  • πŸ”¨ Remove experimental disable resolution controller flag (#4346)

    An experimental controller flag was added in Pipelines v0.28.0 to disable resolution of taskrefs and pipelinerefs. This flag has now been removed.

  • πŸ”¨ Minor refactoring of taskRef validation. (#4370)

  • πŸ”¨ Improve test coverage for pkg/git (#4367)

  • πŸ”¨ Turn on most of golangci-lint's exclude-use-default rules, address problems (#4315)

  • πŸ”¨ Bump to release-1.0 of knative.dev/pkg (#4354)

  • πŸ”¨ Reduce integration test run times (#4353)

  • πŸ”¨ Makefile: allow override ko binary… (#4287)

  • πŸ”¨ Expose metrics and pprof ports on Pod and pprof on Service (#4233)

Docs

  • πŸ“– Add docs for missing variable substitution fields (#4359)

  • πŸ“– updating release cheat sheet (#4322)

    Updated the release cheat sheet to include creating a GitHub release branch such as release-v0.28.x as part of the release creation process.

  • πŸ“– Fix structure and enable toc autogenerate (#4319)

    Fix structure and enable toc autogenerate

  • πŸ“– document how to verify tekton pipelines release (#4257)

    Document step-by-step process of how to verify Tekton Pipelines release.

  • πŸ“– Add instructions for replacing CloudEvent PipelineResource to pipeline docs (#4379)

  • πŸ“– docs: fixing my name in topical-ownership πŸ’… (#4363)

  • πŸ“– Fix broken links and clarify GCR setup instructions in DEVELOPMENT.md (#4336)

  • πŸ“– Adding note regarding whitespace sensitivity of when expressions (#4333)

  • πŸ“– adding entry for the latest release 0.29 πŸ›Ž (#4325)

  • πŸ“– Fix link to API compatibility policy (#4323)

Thanks

Thanks to these contributors who contributed to v0.30.0!

Extra shout-out for awesome release notes: