🎉 🪟 Windows TaskRuns! 🪟 🎉
-Docs @ v0.29.0
-Examples @ v0.29.0
Installation one-liner
kubectl apply -f https://storage.googleapis.com/tekton-releases/pipeline/previous/v0.29.0/release.yaml
Attestation
The Rekor UUID for this release is 8ba5dcc45b9fad4d879a8b6815cdaa85fdee1d9fc24cf8811f103d537c602908
Obtain the attestation:
rekor-cli get --uuid 8ba5dcc45b9fad4d879a8b6815cdaa85fdee1d9fc24cf8811f103d537c602908 --format json | jq -r .Attestation | base64 --decode | jq
Verify that all container images in the attestation are in the release file:
RELEASE_FILE=https://storage.googleapis.com/tekton-releases/pipeline/previous/v0.29.0/release.yaml
REKOR_UUID=8ba5dcc45b9fad4d879a8b6815cdaa85fdee1d9fc24cf8811f103d537c602908
# Obtains the list of images with sha from the attestation
REKOR_ATTESTATION_IMAGES=$(rekor-cli get --uuid "$REKOR_UUID" --format json | jq -r .Attestation | base64 --decode | jq -r '.subject[]|.name + ":v0.29.0@sha256:" + .digest.sha256')
# Download the release file
curl "$RELEASE_FILE" > release.yaml
# For each image in the attestation, match it to the release file
for image in $REKOR_ATTESTATION_IMAGES; do
printf $image; grep -q $image release.yaml && echo " ===> ok" || echo " ===> no match";
done
⚠️ Known Issues
- #4483 Implicit parameter mapping incorrectly passes params from the top-level
Pipeline
orPipelineRun
totaskRef
Pipeline Tasks. Mapping should only occur from top-level resource to Pipeline Tasks with in-linetaskSpec
. This issue only affects users withenable-api-fields: alpha
in thefeature-flags
ConfigMap
stored in thetekton-pipelines
namespace.
Changes
Features
- ✨ Build entrypoint image for Windows (#4260)
The entrypoint multi-arch image now includes an image built for Windows, allowing TaskRuns to execute on Windows nodes.
Notes:
- 🪟 There is a Windows page in the docs folder which outlines some important details about running Windows workloads in Tekton
- 🪟 If a Windows task and a Linux task are both sharing a PersistentVolumeClaim workspace, the affinity assistant may need to be disabled (those two tasks cannot run on the same node).
- 🪟 PipelineResources have not been tested for Windows tasks and probably won't work.
- 🪟 Windows TaskRuns require - at least for now - privileged mode
Thanks for all the contributors for making this possible. We look forward to users feedback!
- ✨ Support for single-quote bracket notation for params (#4268)
Params and result can now be referenced with bracket notation using both single and double quotes in addition to dot notation. For example, the following are equivalent: $(param.myparam), $(param['myparam']), and $(param["myparam"]). Bracket notation has the additional benefit of allowing users to work with parameter names containing conflicting characters like "." (e.g. $(param['my.param']) or $(param["my.param"]).
- ✨ Promoting "onError" to beta 🎓 (#4251)
Announcement: onError in a step is now stable and available to include in your task definition without any flag.
Fixes
- 🐛 Verify failure of
PipelineRun
inTestGitPipelineRunFail
(#4273) - 🐛 release: Drop windows from pipeline-wide platforms (#4308)
- 🐛 Don't pass the pipeline's default platforms value to the publish-image task (#4305)
- 🐛 release: Include windows in pipeline default platforms (#4304)
- 🐛 nightly: Configure auth before pushing combined base image (#4302)
- 🐛 Fix nightly release process (#4301)
- 🐛 Updates webhook cluster role to work with Owner References (#4269)
- 🐛 Ignore env var ordering in taskrun reconciler tests (#4286)
Misc
- 🔨 Remove unused error type CannotConvertError (#4281)
Remove unused error type CannotConvertError
- 🔨 Split /tekton/run directories into separate volumes. (#4278)
- 🔨 Remove upgrade via defaulting (#4275)
Use only the conversion webhook to upgrade types, remove upgrade mechanism in the defaulter
- 🔨 Removing internal/builder/v1alpha1 and all usages (#4270)
- 🔨 Only add gcr.io images to publish results (#4283)
Due to a technical limitation, only images published to gcr.io
, which are included in the release.yaml
, are signed.
Images on eu.gcr.io
, us.gcr.io
and asia.gcr.io
are not signed yet.
- 🔨 Fix unreachable code in
TestReconcileCancelledFailsTaskRunCancellation
(#4312) - 🔨 Clean up a bunch of exported comments to actually match the element (#4311)
- 🔨 Update comment for
dag.GetSchedulable
(#4310) - 🔨 Remove last lingering unnecessarily exported functions (#4296)
- 🔨 Switch
test/*.go
to using YAML rather than structs (#4288) - 🔨 Convert test/cluster_resource_test.go's Tekton structs to YAML (#4284)
- 🔨 Removing internal/builder completely (#4277)
- 🔨 pkg/pod: extract overrideHomeEnv/WorkingDir outside (#4250)
- 🔨 pkgs: move affinity assistant to a pod transformer (#4245)
- 🔨 pkg/pod: simplify orderContainers returns (#4244)
- 🔨 Bump some stale dependencies in go.mod. (#4243)
- 🔨 Mount entrypoint volume as read-only. (#4242)
- 🔨 Mark Downward API VolumeMount as readonly. (#4236)
- 🔨 Have
[Cluster]Task
andPipeline
implementkmeta.OwnerRefable
. (#4295) - 🔨 Generate reconcilers for
[Cluster]Tasks
andPipelines
. (#4293) - 🔨 Make sure images stored in registry mirrors are signed (#4262)
- 🔨 Remove sbwsg from OWNERS_ALIAS file (#4249)
Docs
- 📖 Add reference to authoring recommendations (#4318)
- 📖 fix couple of small typos (#4292)
- 📖 Fix Example in Service Account Documentation (#4274)
- 📖 Update ToC in TaskRuns documentation (#4265)
- 📖 Document Alpha Features (#4246)
- 📖 links to the patch release v0.28.2 (#4314)
- 📖 adding an entry for v0.28.1 📢 (#4267)
- 📖 adding links to pipeline release 0.28 (#4252)
- 📖 Revamp Tekton developer docs for /tekton paths. (#4238)
Thanks
Thanks to these contributors who contributed to v0.29.0!
- ❤️ @abayer
- ❤️ @afrittoli
- ❤️ @dlorenc
- ❤️ @guillaumerose
- ❤️ @imjasonh
- ❤️ @jerop
- ❤️ @mattmoor
- ❤️ @nbaudis
- ❤️ @pritidesai
- ❤️ @priyawadhwa
- ❤️ @sbwsg
- ❤️ @skaegi
- ❤️ @vaikas
- ❤️ @vdemeester
- ❤️ @wlynch
Extra shout-out for awesome release notes:
- 😍 @abayer
- 😍 @afrittoli
- 😍 @guillaumerose
- 😍 @imjasonh
- 😍 @jerop
- 😍 @nbaudis
- 😍 @pritidesai
- 😍 @skaegi
- 😍 @vaikas
- 😍 @wlynch