v0.38.0
版本发布时间: 2022-07-26 03:02:41
tektoncd/pipeline最新发布版本:v0.63.0(2024-08-31 02:58:24)
-Docs @ v0.38.0 -Examples @ v0.38.0
Installation one-liner
kubectl apply -f https://storage.googleapis.com/tekton-releases/pipeline/previous/v0.38.0/release.yaml
Attestation
The Rekor UUID for this release is 362f8ecba72f432699509b8cc1664c3bb7f29f406bf9d81e24049d1d33735511ef14ae9f533a4885
Obtain the attestation:
REKOR_UUID=362f8ecba72f432699509b8cc1664c3bb7f29f406bf9d81e24049d1d33735511ef14ae9f533a4885
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.38.0/release.yaml
REKOR_UUID=362f8ecba72f432699509b8cc1664c3bb7f29f406bf9d81e24049d1d33735511ef14ae9f533a4885
# 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.38.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
- Action required: v1alpha1 versions of Task, ClusterTask, TaskRun, Pipeline, and PipelineRun have been removed. Please use v1beta1 versions of these CRDs instead.
Changes
Features
-
:sparkles: [TEP-0075] Object Params and Results
- [TEP-0075]Pipeline results support object (#5088) Support object results and object element reference for pipeline level as an alpha feature. A pipeline can specify a type to create object result, and the task script can populate result in an array form. The pipeline results can refer to task results to collect them.
- [TEP-0075] Support Object Results substitution (#5083) Support object results substitution as an alpha feature. A task can specify a type to produce array result, and the task script can populate result in an object form. We can refer to the object results in params.
- TEP-0075: Implement object var replacement on task&taskrun level (#4904)
Added implementation for object variables replacement on task/taskrun level where only individual object keys can be referenced in the format of
$(params.<param_name>.<key_name>)
Users need to enabled alpha feature flag to have this pr's change applied.
-
:sparkles: [TEP-0076] Array Params and Results
- [TEP-0076] Add indexing into array for taskrun params reference (#5132)
Indexing into array for taskrun params is now an alpha feature, element of array params can be accessed via
$(params.param-name[i]
). - [TEP-0076]Validate Pipeline results array index (#5139) pipelinerun will fail if pipelineresults array index is out of bound
- [TEP-0076]Pipeline results support array (#4965) Support array results and indexing array for pipeline level as an alpha feature. A pipeline can specify a type to create array result, and the task script can populate result in an array form. The pipeline results can refer to task results to collect them. *[TEP-0076]Validate Results type and object properties (#4920) Add Properties for TaskResult so user can define what keys are needed for object type TaskResult and leverage this Properties for validation.
- [TEP-0076]Support Array Results substitution (#4908) Support array results substitution as an alpha feature. A task can specify a type to produce array result, and the task script can populate result in an array form. We can refer to the array results in params. *[TEP-0076] Add indexing into array for pipeline params reference (#4855) Indexing into array for pipeline params is now an alpha feature, element of array params can be accessed via $(params.param-name[i]).
- [TEP-0076] Add indexing into array for taskrun params reference (#5132)
Indexing into array for taskrun params is now an alpha feature, element of array params can be accessed via
-
:sparkles: Add support for projected volumes as workspace type (#5085)
Add support for projected volumes as workspace type
- :sparkles: Publish Pipeline Results from successful TaskRuns in Failed PipelineRuns (#5060)
Pipeline results are now initialized even when a pipelineRun fails. The task results from all the successful tasks are propagated to the pipelineRun.
- :sparkles: Add support for the CSI workspace type (#5030)
Add support to use any CSI volume driver as a workspace
-
:sparkles: TEP-0090: Matrix
- TEP-0090: Matrix - Consume Results (#5063)
Matrix
supports Results of type String. - TEP-0090: Support both
matrix
andparams
in aPipelineTask
(#5050) Users can specify bothmatrix
andparams
fields. Thematrix
is used to fan out thePipelineTask
and theparams
are the same in all theTaskRuns
. - TEP-0090: Fan Out (#5049)
A
PipelineTask
with aMatrix
andCustom Task
is fanned out into parallelRuns
which are executed in parallel. - TEP-0090: Matrix - Implement
isSuccessful
forRuns
(#5035) MatrixedPipelineTasks
withCustom Tasks
are successful when allRuns
have completed successfully. - TEP-0090: Matrix - Minimal Status is Required (#5019)
The
embedded-status
feature flag must be set to"minimal"
to specifyMatrix
in aPipelineTask
. - TEP-0090: Matrix - Max Matrix Combinations Count is 256 (#5012)
The default maximum count of
TaskRuns
orRuns
from a givenMatrix
is 256. - TEP-0090: Matrix - Get Names of
Runs
(#5037) - TEP-0090: Matrix -
ChildReferences
forTaskRuns
(#5008)
- TEP-0090: Matrix - Consume Results (#5063)
-
:sparkles: Only create & mount Downward API volume when necessary (#4953)
Added an await-sidecar-readiness
feature flag, which can be used to remove the of DownwardAPI volumes in TaskRun pods. (#4953, @hWorblehat)
- :sparkles: TEP-0011: Add StdoutConfig and StderrConfig to steps. (#4882)
Users can specify stdoutConfig
and stderrConfig
in steps to capture steps' stdout and stderr to local files. This feature can be used to capture stdout and stderr into task results.
- :sparkles: [TEP-0104] Support Task-level Resource Requirements for TaskRun: Part #1 Fields Addition & Validation w/ Docs Updates (#4877)
Fixes
- :bug: Add TerminationMessagePolicy in container conversion (#5201)
Apply the TerminationMessagePolicy field for container types
- :bug: Fix the issue with empty array replacement (#5162)
After the replacement with an empty array, the original array will be empty. Example:
params:
- name: myarray
value: "$(params.anEmptyArray[*])"
- :bug: Update log keys to match logstream (#5159)
Binary file (standard input) matches
- :bug: Reject embedded s with and/or specified (#5018)
Fail PipelineTask validation if a normal, non-custom embedded task is specified along with apiVersion
and/or kind
- :bug: Validation for Finally Task Results referenced in Pipeline Results (#5000)
Fixed a bug where Finally
Task
Result
's where being referenced in Pipeline
Result
's.
Fixed a bug where Finally Task Result's are being referenced in Pipeline Result's.
- :bug: remove spec.replicas from tekton-pipelines-webhook Deployment (#4894)
Unset replicas:1 in the webhook Deployment; HPA will autoscale the deployment (1-5 replicas by default). First reapplication after this change will cause scaling down to 1 replica, but subsequent reapplications will not change the HPA-set replica number.
- :bug: Fix task pod creation failure with duplicate serviceaccount secrets (#4743)
Fix task pod creation failure when duplicate secrets present in service account.
- :bug: Non terminal pod exists (#4742)
If for some reason between getting the pod with a list and creation it already exists, do not treat it as a terminal failure.
- :bug: Fail steps on Windows with StdoutPath or StderrPath set (#5180)
- :bug: Include Windows image builds in CI build tests (#5178)
- :bug: Fix context.background() in workspaceBinding validation (#5101)
- :bug: Clarify error message for PipelineRun alpha fields (#5045)
- :bug: Fix flaky test by sorting slices (#5171)
- :bug: TEP-0090: Sort
ChildReferences
in tests (#5020)
Misc
- :hammer: TEP-0075: Validate object name and key name have no dots (#5090)
Dots are not allowed in object param names and key names.
- :hammer: Remove deprecated (#5022)
Deprecated PipelineRunCancelled
status string removed; use Cancelled
instead.
- :hammer: Remove v1alpha1 Pipeline, PipelineRun, Task, TaskRun, and ClusterTask (#5005)
action required: v1alpha1
Pipeline
, PipelineRun
, Task
, TaskRun
removed. Please switch to v1beta1
for those types.
- :hammer: TEP-0075: Add examples with object params and results (#5144)
Add taskrun & pipelinerun examples that use object param and result.
- :hammer: Export ValidateObjectKeys function (#5073)
ValidateObjectKeys function is now available for usage outside the v1beta1 package.
- :hammer: TEP-0090: Matrix - Add example and document expected PipelineRun status (#5033)
Fanning out PipelineTasks
into parallel TaskRuns
with substitutions from combinations of Parameters
in a Matrix
is fully supported. The ChildReferences
of the fanned out TaskRuns
will be added to the PipelineRun
status.
- :hammer: Use ghcr.io/distroless/static as base image (#5009)
Images are based on ghcr.io/distroless/static, and the entrypoint image is updated to use nanoserver:ltsc2022 instead of :1809
- :hammer: Bump github.com/cloudevents/sdk-go/v2 from 2.5.0 to 2.10.1 (#4968)
Binary file (standard input) matches
-
:hammer: TEP-0075: Validate Pipeline object variables in value, matrix and when (#4902)
-
:hammer: [TEP-0075] Validate object keys, PipelineRunSpec -> PipelineSpec (#4883)
Make sure keys of an object param declared in PipelineSpec are all provided with a value when the PipelineRunSpec provides values for the object param. In other words, the value provider - PipelineRunSpec can't miss keys. i.e. the following example will be invalid since the key commit
is missed.
Example:
apiVersion: tekton.dev/v1beta1
kind: PipelineRun
metadata:
generateName: test-case
spec:
params:
- name: myObject
value:
url: "abc.com"
pipelineSpec:
params:
- name: myObject
properties:
url: {}
commit: {}
- :hammer: Extract parameter name without any pattern. (#4857)
- :hammer: Move step and sidecar replacements to new package (#5179)
- :hammer: Prepare tests for impending knative/pkg version bump (#5145)
- :hammer: Move two feature flag related functions to config pkg (#5113)
- :hammer: Move pipelinespec functions into a separate package (#5079)
- :hammer: TEP-0075: Remove log statement (#5057)
- :hammer: Move API version validation into separate package (#5053)
- :hammer: Clean up validation for task and pipeline refs (#5046)
- :hammer: TEP-0090: Get Names of TaskRuns from ChildReferences only (#5036)
- :hammer: ResolvePipelineRunTask to ResolvePipelineTask 🧹 (#5029)
- :hammer: Cleanup unused arguments - mostly removing unused ctx 🧹 (#5028)
- :hammer: Finish up removal of
Conditions
🧹 (#5027) - :hammer: TEP-0090: Use Constants in ChildReferences (#5026)
- :hammer:
ResolvedPipelineRunTask
toResolvedPipelineTask
(#5025) - :hammer: Fix formatting of deprecation table (#5017)
- :hammer: TEP-0090:
GetChildReferences
checks for non-nilTaskRuns
(#5016) - :hammer: TEP-0090: Check for non-nil
TaskRun
inGetTaskRunsResults
(#5015) - :hammer: TEP-0090: Refactor
GetChildReferences
(#5006) - :hammer: Refactor LimitRange package (#4992)
- :hammer: Add StdoutConfig and StderrorConfig to v1 Step (#5199)
- :hammer: Update GCR IAM settings in Tekton development doc (#5195)
- :hammer: Add V1 Task Golang structs (#5125)
- :hammer: Exclude managed fields from e2e test failure object YAML dumps (#5119)
- :hammer: Document leader-election configuration (#5104)
- :hammer: Simplify Release Notes section of the PR checklist (#5094)
- :hammer: Bump github.com/jenkins-x/go-scm from 1.10.10 to 1.11.16 (#5089)
- :hammer: Add env files for Kind-in-Prow integration test jobs (#5077)
- :hammer: TEP-0090: Matrix - implement
isRunning
forRuns
(#5062) - :hammer: TEP-0090: Matrix - implement
getNextTasks
(#5061) - :hammer: Add almost-empty v1 package (#5055)
- :hammer: TEP-0090: Resolve
PipelineTask
withCustom Task
(#5048) - :hammer: TEP-0090: Get
ChildReferences
forRuns
(#5047) - :hammer: TEP-0090: Matrix - Implement
isFailure
forRuns
(#5042) - :hammer: TEP-0090: Allow setting embedded status feature flag to minimal in tests (#5032)
- :hammer: TEP-0090: Test reconciled
PipelineRun
fromPipeline
withMatrix
(#5031) - :hammer: Switch to
cmpopts.SortSlices
rather than explicitly sorting in tests when possible (#5023) - :hammer: TEP-0090: Update PipelineRun Status from Child Refs (#5014)
- :hammer: Bump github.com/hashicorp/errwrap from 1.0.0 to 1.1.0 (#4963)
Docs
- :book: Update docs for ResourceQuota and QoS (#5051)
- :book: Add links to docs and examples for v36 and v37 (#5011)
- :book: Cut PipelineResources from some examples (#4971)
Thanks
Thanks to these contributors who contributed to v0.38.0!
- :heart: @0xFelix
- :heart: @JeromeJu
- :heart: @QuanZhang-William
- :heart: @Yongxuanzhang
- :heart: @abayer
- :heart: @afrittoli
- :heart: @austinzhao-go
- :heart: @bradbeck
- :heart: @chitrangpatel
- :heart: @chuangw6
- :heart: @dependabot[bot]
- :heart: @dibyom
- :heart: @hWorblehat
- :heart: @imjasonh
- :heart: @jerop
- :heart: @lbernick
- :heart: @manojbison
- :heart: @sellitforcache
- :heart: @timonwong
- :heart: @vaikas
- :heart: @vsinghai
Extra shout-out for awesome release notes:
- :heart_eyes: @0xFelix
- :heart_eyes: @JeromeJu
- :heart_eyes: @QuanZhang-William
- :heart_eyes: @Yongxuanzhang
- :heart_eyes: @abayer
- :heart_eyes: @austinzhao-go
- :heart_eyes: @bradbeck
- :heart_eyes: @chitrangpatel
- :heart_eyes: @chuangw6
- :heart_eyes: @dependabot[bot]
- :heart_eyes: @hWorblehat
- :heart_eyes: @imjasonh
- :heart_eyes: @jerop
- :heart_eyes: @lbernick
- :heart_eyes: @sellitforcache
- :heart_eyes: @timonwong
- :heart_eyes: @vaikas
- :heart_eyes: @vsinghai
1、 release.notags.yaml 79.78KB
2、 release.yaml 79.85KB