Tekton Pipeline release v0.46.0 "Toyger Elami"
π Object Params and Results promoted to beta, context variables in pipelineRun.workspaces[].subPath
π
-Docs @ v0.46.0
-Examples @ v0.46.0
Installation one-liner
kubectl apply -f https://storage.googleapis.com/tekton-releases/pipeline/previous/v0.46.0/release.yaml
Attestation
The Rekor UUID for this release is 24296fb24b8ad77a5430edfba7dc256e01b47fa5bde58abfa1c2c6307271140d90ce0236fbb3ca3a
Obtain the attestation:
REKOR_UUID=24296fb24b8ad77a5430edfba7dc256e01b47fa5bde58abfa1c2c6307271140d90ce0236fbb3ca3a
rekor-cli get --uuid $REKOR_UUID --format json | jq -r .Attestation | 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.46.0/release.yaml
REKOR_UUID=24296fb24b8ad77a5430edfba7dc256e01b47fa5bde58abfa1c2c6307271140d90ce0236fbb3ca3a
# Obtains the list of images with sha from the attestation
REKOR_ATTESTATION_IMAGES=$(rekor-cli get --uuid "$REKOR_UUID" --format json | jq -r .Attestation | jq -r '.subject[]|.name + ":v0.46.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
Upgrade Notices
- Tekton Pipeline v0.46.0 requires Kubernetes version 1.24 or greater.
- Release EOL: April 17th, 2023
Action Required
-
Hygiene: enable linters for error conventions. (#6264)
resolution.ErrorRequestedResourceIsNil
is deprecated; change references toresolution.ErrNilResource
.remote.ErrorRequestInProgress
is deprecated; change references toremote.ErrRequestInProgress
.- in package
cmd/entrypoint/subcommands
,SubcommandSuccessful
type is deprecated, use typeOK
. - in package
resolution/common
,ErrorRequestInProgress
is deprecated; change references toErrRequestInProgress
. - in package
resolution/common
, all errors of typeError*
have been renamed to type*Error
. - in package
resolution/framework
,ErrorMissingTypeSelector
is deprecated; change references toErrMissingTypeSelector
Trusted Resources are in alpha; the following breaking changes are included in this PR:
- in package
trustedresources
:ErrorResourceVerificationFailed
is replaced byErrResourceVerificationFailed
ErrorEmptyVerificationConfig
is replaced byErrEmptyVerificationConfig
ErrorNoMatchedPolicies
is replaced byErrNoMatchedPolicies
ErrorRegexMatch
is replaced byErrRegexMatch
ErrorSignatureMissing
is replaced byErrSignatureMissing
- in package
trustedresources/verifier
:ErrorFailedLoadKeyFile
is replaced byErrFailedLoadKeyFile
ErrorDecodeKey
is replaced byErrDecodeKey
ErrorEmptyPublicKeys
is replaced byErrEmptyPublicKeys
ErrorEmptySecretData
is replaced byErrEmptySecretData
ErrorSecretNotFound
is replaced byErrSecretNotFound
ErrorMultipleSecretData
is replaced byErrMultipleSecretData
ErrorEmptyKey
is replaced byErrEmptyKey
ErrorK8sSpecificationInvalid
is replaced byErrK8sSpecificationInvalid
ErrorLoadVerifier
is replaced byErrLoadVerifier
ErrorAlgorithmInvalid
is replaced byErrAlgorithmInvalid
- [TEP074] Remove Image pipelineResources (#6002)
Please migrate off of image
pipelineresources
as it is removed, please refer to the doc at https://github.com/tektoncd/pipeline/blob/main/docs/pipelineresources.md#replacing-an-image-resource
imagedigestexporter
image will not be built nor maintained from now on
- [TEP074] Remove Storage, Git and Generic PipelineResources (#6150)
Please migrate off of git
and storage
pipelineresources
as they are removed, please refer to the doc at https://github.com/tektoncd/pipeline/blob/main/docs/pipelineresources.md#replacing-an-git-resource https://github.com/tektoncd/pipeline/blob/main/docs/pipelineresources.md#replacing-an-storage-resource
Installing this release on a cluster with tasks and pipelines that use pipeline resources may break them. pipelineresources
are removed in this release.
Changes
Features
- β¨ TEP-0118: Apply Param and Result Replacements in Matrix (#6345)
Matrix.params can have array replacements from array params or string replacements from string, array and object params.
Matrix.Include params can only have string replacements from string, array and object params
- β¨ [TEP-0133]: Configure Default Resolver (#6317)
[TEP-0133] Add "default-resolver-type" field in the "default-configs" ConfigMap to configure default resolver
- β¨ TEP-0075(object params and results) promoted to beta (#6211)
TEP-0075 promoted to beta - object params and results is now possible with enable-api-fields set to beta.
- β¨ TEP-0118: Added Matrix.Include field in preview mode (#6188)
API Change: Added Matrix.Include in preview mode (Not yet functional)
- β¨ context variables in workspaces (#6165)
Support for using pipelineRun context variables in pipelineRun.workspaces[].subPath.
-
β¨ TEP-0118: Apply PipelineTask Context Replacements in Matrix Include (#6358)
-
β¨ TEP-0118: Validate Matrix Include Parameters are unique in Matrix and Pipeline Task Parameters (#6349)
-
β¨ TEP-0118: Update PipelineTaskResultRefs for Matrix Include Parameters (#6348)
-
β¨ TEP-0118: Update Pipeline Conversion for Matrix Include Parameters (#6346)
-
β¨ TEP-0118: Add validation for matrix pipeline context parameter variables (#6238)
-
β¨ TEP-0118: Add validation for matrix combination count with matrix.include params (#6237)
-
β¨ TEP-0118: Add validation for matrix include pipeline parameter variables (#6235)
-
β¨ TEP-0118: Add validation for Matrix.Include.Params of type string (#6230)
-
β¨ TEP-0118: Add exported functions for validating Matrix.Include and Matrix.Params (#6229)
Backwards incompatible changes
In current release:
- π¨ remove config-trusted-resources (#6305)
BREAKING CHANGE: [alpha] config-trusted-resources is removed, please refer to https://github.com/tektoncd/pipeline/blob/main/docs/trusted-resources.md for migrating public keys in VerificationPolicy
Fixes
- π validate matrix for duplicate params (#6308)
Validate matrix.params and matrix.include.params such that specifying duplicate parameters is caught by the validation.
- π Add conversion for remote tasks and pipelines to support v1 (#6254)
V1 tasks and pipelines are supported in remote resolution
- π Revert removal of embedded TaskRun status in API. (#6206)
PipelineRun Embedded TaskRun statuses reintroduced as deprecated to allow compatibility with older server versions.
- π Skip annotation when merging them. (#6161)
Skip kubectl.kubernetes.io/last-applied-configuration
annotation when merging them in PipelineRun
and TaskRun
.
- π don't validate skipped task results for pipeline results (#6157)
A fix for regression issue that previously we don't fail the run when skipped task results don't emit, but failed when validation is introduced.
- π fix param array indexing validation error reason and error log (#6179)
- π If pod was evicted, prefer pod status message. (#6153)
- π Add exact comparison for events (#6296)
Misc
- π¨ Hygiene: enable linters for error conventions. (#6264)
action required:
resolution.ErrorRequestedResourceIsNil
is deprecated; change references toresolution.ErrNilResource
.remote.ErrorRequestInProgress
is deprecated; change references toremote.ErrRequestInProgress
.- in package
cmd/entrypoint/subcommands
,SubcommandSuccessful
type is deprecated, use typeOK
. - in package
resolution/common
,ErrorRequestInProgress
is deprecated; change references toErrRequestInProgress
. - in package
resolution/common
, all errors of typeError*
have been renamed to type*Error
. - in package
resolution/framework
,ErrorMissingTypeSelector
is deprecated; change references toErrMissingTypeSelector
Trusted Resources are in alpha; the following breaking changes are included in this PR:
- in package
trustedresources
:ErrorResourceVerificationFailed
is replaced byErrResourceVerificationFailed
ErrorEmptyVerificationConfig
is replaced byErrEmptyVerificationConfig
ErrorNoMatchedPolicies
is replaced byErrNoMatchedPolicies
ErrorRegexMatch
is replaced byErrRegexMatch
ErrorSignatureMissing
is replaced byErrSignatureMissing
- in package
trustedresources/verifier
:ErrorFailedLoadKeyFile
is replaced byErrFailedLoadKeyFile
ErrorDecodeKey
is replaced byErrDecodeKey
ErrorEmptyPublicKeys
is replaced byErrEmptyPublicKeys
ErrorEmptySecretData
is replaced byErrEmptySecretData
ErrorSecretNotFound
is replaced byErrSecretNotFound
ErrorMultipleSecretData
is replaced byErrMultipleSecretData
ErrorEmptyKey
is replaced byErrEmptyKey
ErrorK8sSpecificationInvalid
is replaced byErrK8sSpecificationInvalid
ErrorLoadVerifier
is replaced byErrLoadVerifier
ErrorAlgorithmInvalid
is replaced byErrAlgorithmInvalid
- π¨ remove config-trusted-resources (#6305)
BREAKING CHANGE: [alpha] config-trusted-resources is removed, please refer to https://github.com/tektoncd/pipeline/blob/main/docs/trusted-resources.md for migrating public keys in VerificationPolicy
- π¨ change param array indexing validation functions to member functions (#6180)
Make ValidateParamArrayIndex as member functions for TaskSpec and PipelineSpec
Change []ParamSpec to ParamSpecs and []Param to Params
- π¨ [TEP074] Remove Storage, Git and Generic PipelineResources (#6150)
action required: please migrate off of git
and storage
pipelineresources
as they are removed, please refer to the doc at https://github.com/tektoncd/pipeline/blob/main/docs/pipelineresources.md#replacing-an-git-resource https://github.com/tektoncd/pipeline/blob/main/docs/pipelineresources.md#replacing-an-storage-resource
installing this release on a cluster with tasks and pipelines that use pipeline resources may break them
pipelineresources are removed in this release
- π¨ Upgrade to knative/pkg 1.9 (#6062)
Bump knative/pkg to 1.9 and update the Kubernetes minimun version to be v1.24.x
- π¨ [TEP074] Remove Image pipelineResources (#6002)
action required: please migrate off of image
pipelineresources
as it is removed, please refer to the doc at https://github.com/tektoncd/pipeline/blob/main/docs/pipelineresources.md#replacing-an-image-resource
imagedigestexporter
image will not be built nor maintained from now on
- π¨ drop git-init from the list of published images (#6378)
- π¨ Refactor extracting parameters from a PipelineTask (#6344)
- π¨ [TEP-0133] Refactor set default test helper (#6339)
- π¨ Hygiene: removed unused
images
package variable. (#6337) - π¨ simplifying matrix combinations (#6312)
- π¨ Restore timeouts default for v1 (#6311)
- π¨ Stop populating resourceName in git-init image (#6310)
- π¨ cleanup: deleting duplicate unit test (#6307)
- π¨ Reorganizing Matrix Implementation (#6282)
- π¨ Hygiene: enable
goconst
,dogsled
linters. (#6262) - π¨ Hygiene: enable
containedctx
linter. (#6261) - π¨ Hygiene: enable
ineffassign
linter. π§Ήπ§Ήπ§Ή (#6259) - π¨ Hygiene: cleanup
golangci
configuration. (#6258) - π¨ Hygiene: enable additional lint presets. (#6247)
- π¨ TEP-0090 Matrix: Refactor Matrix FanOut() to use the Matrix Struct (#6246)
- π¨ Hygiene: enable additional linter presets. (#6236)
- π¨ Add CustomRun to register.go (#6199)
- π¨ typochanges in line 81 and 94. I have changed it to "ResourceRef" from "ResourseRef". (#6184)
- π¨ updated spire unit test based on grpc update (#6168)
- π¨ Bump github.com/spiffe/go-spiffe/v2 from 2.1.2 to 2.1.3 (#6370)
- π¨ Bump github.com/google/go-containerregistry from 0.13.0 to 0.14.0 (#6369)
- π¨ Bump github.com/go-git/go-git/v5 from 5.6.0 to 5.6.1 (#6368)
- π¨ fix error msg in taskref.resolver.params validation (#6361)
- π¨ fix error message for resolver params (#6360)
- π¨ remove pipelineresources from delete_pipeline_resources (#6357)
- π¨ Bump k8s.io/code-generator from 0.25.4 to 0.25.7 (#6338)
- π¨ Check generated API docs during CI (#6336)
- π¨ Bump k8s.io/apimachinery from 0.25.4 to 0.25.7 (#6334)
- π¨ Bump k8s.io/api from 0.25.4 to 0.25.7 (#6333)
- π¨ Bump k8s.io/client-go from 0.25.4 to 0.25.7 (#6332)
- π¨ Fix the dependabot config (#6330)
- π¨ refactor trusted resources get matching policies code (#6323)
- π¨ Bump github.com/spiffe/spire-api-sdk from 1.5.5 to 1.6.1 (#6321)
- π¨ Bump golang.org/x/crypto from 0.6.0 to 0.7.0 (#6320)
- π¨ Bump google.golang.org/protobuf from 1.28.1 to 1.29.0 (#6319)
- π¨ Bump github.com/containerd/containerd from 1.6.18 to 1.6.19 (#6318)
- π¨ dependabot: do not update k8s.io/* major/minor updates (#6314)
- π¨ Bump github.com/jenkins-x/go-scm from 1.13.4 to 1.13.9 (#6303)
- π¨ Sync SpanContext field for v1 with v1beta1 API (#6300)
- π¨ Bump github.com/go-git/go-git/v5 from 5.5.2 to 5.6.0 (#6289)
- π¨ updating release instructions to include LTS suffix (#6283)
- π¨ add missing test cases for matrix params array indexing validation (#6281)
- π¨ Bump k8s.io/api from 0.26.1 to 0.26.2 in /test/custom-task-ctrls/wait-task-beta (#6272)
- π¨ Bump k8s.io/apimachinery from 0.26.1 to 0.26.2 in /test/custom-task-ctrls/wait-task-alpha (#6270)
- π¨ Bump k8s.io/api from 0.26.1 to 0.26.2 in /test/custom-task-ctrls/wait-task-alpha (#6269)
- π¨ Bump golang.org/x/time from 0.2.0 to 0.3.0 (#6268)
- π¨ Bump github.com/hashicorp/go-retryablehttp from 0.7.1 to 0.7.2 (#6265)
- π¨ Remove Docs for Image Resources (#6263)
- π¨ apply latest knative.dev/pkg 1.9 (#6256)
- π¨ Bump github.com/sigstore/sigstore from 1.5.2 to 1.6.0 (#6253)
- π¨ Bump go.opentelemetry.io/otel/exporters/jaeger from 1.13.0 to 1.14.0 (#6249)
- π¨ [TEP074] Remove git-ssh Examples (#6239)
- π¨ Bump github.com/sigstore/sigstore from 1.5.1 to 1.5.2 (#6231)
- π¨ update go.mod to Go 1.19 (#6216)
- π¨ Fix indent for the example of specifying Custom Task Spec (#6215)
- π¨ [TEP074] Remove PipelineResourceResultType of PipelineResourceResult Struct (#6198)
- π¨ Bump github.com/golangci/golangci-lint from 1.51.1 to 1.51.2 in /tools (#6196)
- π¨ Bump github.com/jenkins-x/go-scm from 1.13.2 to 1.13.4 (#6195)
- π¨ Bump github.com/tektoncd/pipeline from 0.44.0 to 0.45.0 in /test/custom-task-ctrls/wait-task-beta (#6191)
- π¨ Bump github.com/tektoncd/pipeline from 0.44.0 to 0.45.0 in /test/custom-task-ctrls/wait-task-alpha (#6190)
- π¨ run codegen against latest main to update licenses and api doc (#6189)
- π¨ Add v0.45.0 to releases.md (#6187)
- π¨ Make SA implicit in TestPropagatedParams (#6185)
- π¨ Bump github.com/containerd/containerd from 1.6.17 to 1.6.18 (#6183)
- π¨ Bump github.com/spiffe/spire-api-sdk from 1.5.4 to 1.5.5 (#6173)
- π¨ update pipeline-object-results example (#6166)
Docs
- π Update EOL releases (#6285)
Move v0.39 and v0.40 releases to the end-of-life section.
- π Update Removal of PipelineResources in Deprecation.md (#6343)
- π Fix resolution getting started docs with correct parameters (#6234)
- π Update Tekton development processes section URLs (#6225)
- π Create Removed Table for deprecation.md (#6209)
- π Add deprecation notes for developers. (#6208)
- π Fix godoc deprecated comments. (#6207)
- π Updated documentation of pipelines around approvals (#6205)
- π fix weight in update-reference-docs (#6200)
- π Fix broken links and delete troubleshooting section (#6172)
- π Clarify docs on pipelinerun timeouts (#6171)
Thanks
Thanks to these contributors who contributed to v0.46.0!
- β€οΈ @Aathirajan
- β€οΈ @EmmaMunley
- β€οΈ @JeromeJu
- β€οΈ @QuanZhang-William
- β€οΈ @SaschaSchwarze0
- β€οΈ @XinruZhang
- β€οΈ @Yongxuanzhang
- β€οΈ @abayer
- β€οΈ @afrittoli
- β€οΈ @bendory
- β€οΈ @concaf
- β€οΈ @dependabot[bot]
- β€οΈ @drewbailey
- β€οΈ @ernesgonzalez33
- β€οΈ @geriom
- β€οΈ @jerop
- β€οΈ @khrm
- β€οΈ @l-qing
- β€οΈ @lbernick
- β€οΈ @mswiderski
- β€οΈ @pavanstarmanwar
- β€οΈ @pritidesai
- β€οΈ @pxp928
- β€οΈ @vdemeester
- β€οΈ @wlynch
Extra shout-out for awesome release notes:
- π @EmmaMunley
- π @JeromeJu
- π @QuanZhang-William
- π @Yongxuanzhang
- π @afrittoli
- π @bendory
- π @pritidesai
- π @vdemeester
- π @wlynch