Skip to content

Tekton Pipeline release v0.9.0 "Bengal Bender"

Pre-release
Pre-release
Compare
Choose a tag to compare
@afrittoli afrittoli released this 02 Dec 20:48

πŸŽ‰ 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:
    • Extract artifacts constants out of v1alpha1 package 🍳 (#1581)
    • Extract dag function out of v1alpha1 βš™ (#1582)
    • Add empty v1alpha2 package 🎐 (#1578)
    • Extract substitution code out of v1alpha1 βœ‚ (#1611)
    • Extract validateObjectMetadata to a validate package βœ‚ (#1614)
  • πŸ”¨ 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
    • Split out entrypoint resolution and injection, and script conversion (#1616)
    • Move MakePod to pkg/pod and unexport things (#1621)
    • Move PodStatus->TaskRunStatus code to pkg/pod (#1627)
    • Move workingDir initialization after script conversion (#1644)
  • πŸ”¨ 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!

Extra shout-out for awesome release notes: