Skip to content

Tekton Pipelines release v0.8.0 "Peterbald Maria"

Pre-release
Pre-release
Compare
Choose a tag to compare
released this 21 Oct 14:14

πŸŽ‰ 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

  1. Taskrun/Pipeline execution duration time
  2. Pipelinerun/Taskrun success and failure duration rates
  3. Number of Taskruns and Pipelineruns are executing currently
  4. 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 in TaskResource (#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!