Skip to content

Commit 2b644b3

Browse files
committed
feat: promote StepActions to GA
Upgrade StepActions feature from beta to stable to make sure that it is enabled by default. StepActions has been in beta for a while and is also has good adoption among the community. It is pretty stable as a feature based on the regular usage. Moving it to GA will make sure that users will have access to better pipeline composability from the get-go. The following changes were made: - set enable-step-actions to "true" by default - updated to reflect that StepActions are now enabled by default - changed the feature flag stability from BetaAPIFields to StableAPIFields in feature_flags.go - updated feature flags, e2e tests and test data - moved relevant examples to stable examples - added relevant documentation for the move from beta to stable - make enable-step-actions into no-op feature flag. This change makes StepActions a stable, first-class feature in Tekton Pipelines.
1 parent 6c1020d commit 2b644b3

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

49 files changed

+176
-738
lines changed

config/300-crds/300-clustertask.yaml

+1-6
Original file line numberDiff line numberDiff line change
@@ -3854,17 +3854,12 @@ spec:
38543854
description: |-
38553855
Results declares StepResults produced by the Step.
38563856
3857-
This is field is at an ALPHA stability level and gated by "enable-step-actions" feature flag.
3858-
38593857
It can be used in an inlined Step when used to store Results to $(step.results.resultName.path).
38603858
It cannot be used when referencing StepActions using [v1beta1.Step.Ref].
38613859
The Results declared by the StepActions will be stored here instead.
38623860
type: array
38633861
items:
3864-
description: |-
3865-
StepResult used to describe the Results of a Step.
3866-
3867-
This is field is at an BETA stability level and gated by "enable-step-actions" feature flag.
3862+
description: StepResult used to describe the Results of a Step.
38683863
type: object
38693864
required:
38703865
- name

config/300-crds/300-pipelinerun.yaml

+12-8
Original file line numberDiff line numberDiff line change
@@ -2569,6 +2569,9 @@ spec:
25692569
type: boolean
25702570
disableInlineSpec:
25712571
type: string
2572+
enable-step-actions:
2573+
description: EnableStepActions is a no-op flag since StepActions are stable
2574+
type: boolean
25722575
enableAPIFields:
25732576
type: string
25742577
enableArtifacts:
@@ -2585,8 +2588,6 @@ spec:
25852588
type: boolean
25862589
enableProvenanceInStatus:
25872590
type: boolean
2588-
enableStepActions:
2589-
type: boolean
25902591
enforceNonfalsifiability:
25912592
type: string
25922593
maxResultSize:
@@ -2981,6 +2982,9 @@ spec:
29812982
type: boolean
29822983
disableInlineSpec:
29832984
type: string
2985+
enable-step-actions:
2986+
description: EnableStepActions is a no-op flag since StepActions are stable
2987+
type: boolean
29842988
enableAPIFields:
29852989
type: string
29862990
enableArtifacts:
@@ -2997,8 +3001,6 @@ spec:
29973001
type: boolean
29983002
enableProvenanceInStatus:
29993003
type: boolean
3000-
enableStepActions:
3001-
type: boolean
30023004
enforceNonfalsifiability:
30033005
type: string
30043006
maxResultSize:
@@ -3267,6 +3269,9 @@ spec:
32673269
type: boolean
32683270
disableInlineSpec:
32693271
type: string
3272+
enable-step-actions:
3273+
description: EnableStepActions is a no-op flag since StepActions are stable
3274+
type: boolean
32703275
enableAPIFields:
32713276
type: string
32723277
enableArtifacts:
@@ -3283,8 +3288,6 @@ spec:
32833288
type: boolean
32843289
enableProvenanceInStatus:
32853290
type: boolean
3286-
enableStepActions:
3287-
type: boolean
32883291
enforceNonfalsifiability:
32893292
type: string
32903293
maxResultSize:
@@ -5874,6 +5877,9 @@ spec:
58745877
type: boolean
58755878
disableInlineSpec:
58765879
type: string
5880+
enable-step-actions:
5881+
description: EnableStepActions is a no-op flag since StepActions are stable
5882+
type: boolean
58775883
enableAPIFields:
58785884
type: string
58795885
enableArtifacts:
@@ -5890,8 +5896,6 @@ spec:
58905896
type: boolean
58915897
enableProvenanceInStatus:
58925898
type: boolean
5893-
enableStepActions:
5894-
type: boolean
58955899
enforceNonfalsifiability:
58965900
type: string
58975901
maxResultSize:

config/300-crds/300-stepaction.yaml

+2-8
Original file line numberDiff line numberDiff line change
@@ -263,10 +263,7 @@ spec:
263263
description: Results are values that this StepAction can output
264264
type: array
265265
items:
266-
description: |-
267-
StepResult used to describe the Results of a Step.
268-
269-
This is field is at an BETA stability level and gated by "enable-step-actions" feature flag.
266+
description: StepResult used to describe the Results of a Step.
270267
type: object
271268
required:
272269
- name
@@ -803,10 +800,7 @@ spec:
803800
description: Results are values that this StepAction can output
804801
type: array
805802
items:
806-
description: |-
807-
StepResult used to describe the Results of a Step.
808-
809-
This is field is at an BETA stability level and gated by "enable-step-actions" feature flag.
803+
description: StepResult used to describe the Results of a Step.
810804
type: object
811805
required:
812806
- name

config/300-crds/300-task.yaml

+2-12
Original file line numberDiff line numberDiff line change
@@ -3855,17 +3855,12 @@ spec:
38553855
description: |-
38563856
Results declares StepResults produced by the Step.
38573857
3858-
This is field is at an ALPHA stability level and gated by "enable-step-actions" feature flag.
3859-
38603858
It can be used in an inlined Step when used to store Results to $(step.results.resultName.path).
38613859
It cannot be used when referencing StepActions using [v1beta1.Step.Ref].
38623860
The Results declared by the StepActions will be stored here instead.
38633861
type: array
38643862
items:
3865-
description: |-
3866-
StepResult used to describe the Results of a Step.
3867-
3868-
This is field is at an BETA stability level and gated by "enable-step-actions" feature flag.
3863+
description: StepResult used to describe the Results of a Step.
38693864
type: object
38703865
required:
38713866
- name
@@ -6865,17 +6860,12 @@ spec:
68656860
description: |-
68666861
Results declares StepResults produced by the Step.
68676862
6868-
This is field is at an ALPHA stability level and gated by "enable-step-actions" feature flag.
6869-
68706863
It can be used in an inlined Step when used to store Results to $(step.results.resultName.path).
68716864
It cannot be used when referencing StepActions using [v1.Step.Ref].
68726865
The Results declared by the StepActions will be stored here instead.
68736866
type: array
68746867
items:
6875-
description: |-
6876-
StepResult used to describe the Results of a Step.
6877-
6878-
This is field is at an BETA stability level and gated by "enable-step-actions" feature flag.
6868+
description: StepResult used to describe the Results of a Step.
68796869
type: object
68806870
required:
68816871
- name

config/300-crds/300-taskrun.yaml

+13-14
Original file line numberDiff line numberDiff line change
@@ -1952,6 +1952,9 @@ spec:
19521952
type: boolean
19531953
disableInlineSpec:
19541954
type: string
1955+
enable-step-actions:
1956+
description: EnableStepActions is a no-op flag since StepActions are stable
1957+
type: boolean
19551958
enableAPIFields:
19561959
type: string
19571960
enableArtifacts:
@@ -1968,8 +1971,6 @@ spec:
19681971
type: boolean
19691972
enableProvenanceInStatus:
19701973
type: boolean
1971-
enableStepActions:
1972-
type: boolean
19731974
enforceNonfalsifiability:
19741975
type: string
19751976
maxResultSize:
@@ -2238,6 +2239,9 @@ spec:
22382239
type: boolean
22392240
disableInlineSpec:
22402241
type: string
2242+
enable-step-actions:
2243+
description: EnableStepActions is a no-op flag since StepActions are stable
2244+
type: boolean
22412245
enableAPIFields:
22422246
type: string
22432247
enableArtifacts:
@@ -2254,8 +2258,6 @@ spec:
22542258
type: boolean
22552259
enableProvenanceInStatus:
22562260
type: boolean
2257-
enableStepActions:
2258-
type: boolean
22592261
enforceNonfalsifiability:
22602262
type: string
22612263
maxResultSize:
@@ -4135,6 +4137,9 @@ spec:
41354137
type: boolean
41364138
disableInlineSpec:
41374139
type: string
4140+
enable-step-actions:
4141+
description: EnableStepActions is a no-op flag since StepActions are stable
4142+
type: boolean
41384143
enableAPIFields:
41394144
type: string
41404145
enableArtifacts:
@@ -4151,8 +4156,6 @@ spec:
41514156
type: boolean
41524157
enableProvenanceInStatus:
41534158
type: boolean
4154-
enableStepActions:
4155-
type: boolean
41564159
enforceNonfalsifiability:
41574160
type: string
41584161
maxResultSize:
@@ -4387,6 +4390,9 @@ spec:
43874390
type: boolean
43884391
disableInlineSpec:
43894392
type: string
4393+
enable-step-actions:
4394+
description: EnableStepActions is a no-op flag since StepActions are stable
4395+
type: boolean
43904396
enableAPIFields:
43914397
type: string
43924398
enableArtifacts:
@@ -4403,8 +4409,6 @@ spec:
44034409
type: boolean
44044410
enableProvenanceInStatus:
44054411
type: boolean
4406-
enableStepActions:
4407-
type: boolean
44084412
enforceNonfalsifiability:
44094413
type: string
44104414
maxResultSize:
@@ -6876,17 +6880,12 @@ spec:
68766880
description: |-
68776881
Results declares StepResults produced by the Step.
68786882
6879-
This is field is at an ALPHA stability level and gated by "enable-step-actions" feature flag.
6880-
68816883
It can be used in an inlined Step when used to store Results to $(step.results.resultName.path).
68826884
It cannot be used when referencing StepActions using [v1.Step.Ref].
68836885
The Results declared by the StepActions will be stored here instead.
68846886
type: array
68856887
items:
6886-
description: |-
6887-
StepResult used to describe the Results of a Step.
6888-
6889-
This is field is at an BETA stability level and gated by "enable-step-actions" feature flag.
6888+
description: StepResult used to describe the Results of a Step.
68906889
type: object
68916890
required:
68926891
- name

config/config-feature-flags.yaml

+2-3
Original file line numberDiff line numberDiff line change
@@ -113,9 +113,6 @@ data:
113113
keep-pod-on-cancel: "false"
114114
# Setting this flag to "true" will enable the CEL evaluation in WhenExpression
115115
enable-cel-in-whenexpression: "false"
116-
# Setting this flag to "true" will enable the use of StepActions in Steps
117-
# This feature is in preview mode and not implemented yet. Please check #7259 for updates.
118-
enable-step-actions: "false"
119116
# Setting this flag to "true" will enable the use of Artifacts in Steps
120117
# This feature is in preview mode and not implemented yet. Please check #7693 for updates.
121118
enable-artifacts: "false"
@@ -131,3 +128,5 @@ data:
131128
enable-concise-resolver-syntax: "false"
132129
# Setthing this flag to "true" will enable native Kubernetes Sidecar support
133130
enable-kubernetes-sidecar: "false"
131+
# Setting this flag to "true" will have no effect since StepActions are a stable feature
132+
enable-step-actions: "true"

docs/additional-configs.md

+1-2
Original file line numberDiff line numberDiff line change
@@ -391,15 +391,14 @@ Features currently in "beta" are:
391391
| [Isolated `Step` & `Sidecar` `Workspaces`](./workspaces.md#isolated-workspaces) | [TEP-0029](https://github.com/tektoncd/community/blob/main/teps/0029-step-workspaces.md) | [v0.24.0](https://github.com/tektoncd/pipeline/releases/tag/v0.24.0) | [v0.50.0](https://github.com/tektoncd/pipeline/releases/tag/v0.50.0) | |
392392
| [Matrix](./matrix.md) | [TEP-0090](https://github.com/tektoncd/community/blob/main/teps/0090-matrix.md) | [v0.38.0](https://github.com/tektoncd/pipeline/releases/tag/v0.38.0) | [v0.53.0](https://github.com/tektoncd/pipeline/releases/tag/v0.53.0) | |
393393
| [Task-level Resource Requirements](compute-resources.md#task-level-compute-resources-configuration) | [TEP-0104](https://github.com/tektoncd/community/blob/main/teps/0104-tasklevel-resource-requirements.md) | [v0.39.0](https://github.com/tektoncd/pipeline/releases/tag/v0.39.0) | [v0.53.0](https://github.com/tektoncd/pipeline/releases/tag/v0.53.0) | |
394-
| [Reusable Steps via StepActions](./stepactions.md) | [TEP-0142](https://github.com/tektoncd/community/blob/main/teps/0142-enable-step-reusability.md) | [v0.54.0](https://github.com/tektoncd/pipeline/releases/tag/v0.54.0) | `enable-step-actions` |
395394
| [Larger Results via Sidecar Logs](#enabling-larger-results-using-sidecar-logs) | [TEP-0127](https://github.com/tektoncd/community/blob/main/teps/0127-larger-results-via-sidecar-logs.md) | [v0.43.0](https://github.com/tektoncd/pipeline/releases/tag/v0.43.0) | [v0.61.0](https://github.com/tektoncd/pipeline/releases/tag/v0.61.0) | `results-from` |
396395
| [Step and Sidecar Overrides](./taskruns.md#overriding-task-steps-and-sidecars) | [TEP-0094](https://github.com/tektoncd/community/blob/main/teps/0094-specifying-resource-requirements-at-runtime.md) | [v0.34.0](https://github.com/tektoncd/pipeline/releases/tag/v0.34.0) | | [v0.61.0](https://github.com/tektoncd/pipeline/releases/tag/v0.61.0) | |
397396
| [Ignore Task Failure](./pipelines.md#using-the-onerror-field) | [TEP-0050](https://github.com/tektoncd/community/blob/main/teps/0050-ignore-task-failures.md) | [v0.55.0](https://github.com/tektoncd/pipeline/releases/tag/v0.55.0) | [v0.62.0](https://github.com/tektoncd/pipeline/releases/tag/v0.62.0) | N/A |
398397

399398
## Enabling larger results using sidecar logs
400399

401400
**Note**: The maximum size of a Task's results is limited by the container termination message feature of Kubernetes,
402-
as results are passed back to the controller via this mechanism. At present, the limit is per task is 4096 bytes. All
401+
as results are passed back to the controller via this mechanism. At present, the limit is per task is "4096 bytes". All
403402
results produced by the task share this upper limit.
404403

405404
To exceed this limit of 4096 bytes, you can enable larger results using sidecar logs. By enabling this feature, you will

docs/artifacts.md

-1
Original file line numberDiff line numberDiff line change
@@ -510,7 +510,6 @@ Upon resolution and execution of the `TaskRun`, the `Status` will look something
510510
"enableKeepPodOnCancel": false,
511511
"enableParamEnum": false,
512512
"enableProvenanceInStatus": true,
513-
"enableStepActions": true,
514513
"enableTektonOCIBundles": false,
515514
"enforceNonfalsifiability": "none",
516515
"maxResultSize": 4096,

docs/pipeline-api.md

-3
Original file line numberDiff line numberDiff line change
@@ -4680,7 +4680,6 @@ Params
46804680
<td>
46814681
<em>(Optional)</em>
46824682
<p>Results declares StepResults produced by the Step.</p>
4683-
<p>This is field is at an ALPHA stability level and gated by &ldquo;enable-step-actions&rdquo; feature flag.</p>
46844683
<p>It can be used in an inlined Step when used to store Results to $(step.results.resultName.path).
46854684
It cannot be used when referencing StepActions using [v1.Step.Ref].
46864685
The Results declared by the StepActions will be stored here instead.</p>
@@ -4739,7 +4738,6 @@ string
47394738
</p>
47404739
<div>
47414740
<p>StepResult used to describe the Results of a Step.</p>
4742-
<p>This is field is at an BETA stability level and gated by &ldquo;enable-step-actions&rdquo; feature flag.</p>
47434741
</div>
47444742
<table>
47454743
<thead>
@@ -14193,7 +14191,6 @@ Params
1419314191
<td>
1419414192
<em>(Optional)</em>
1419514193
<p>Results declares StepResults produced by the Step.</p>
14196-
<p>This is field is at an ALPHA stability level and gated by &ldquo;enable-step-actions&rdquo; feature flag.</p>
1419714194
<p>It can be used in an inlined Step when used to store Results to $(step.results.resultName.path).
1419814195
It cannot be used when referencing StepActions using [v1beta1.Step.Ref].
1419914196
The Results declared by the StepActions will be stored here instead.</p>

docs/stepactions.md

+1-3
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,7 @@ weight: 201
2020
- [Specifying Remote StepActions](#specifying-remote-stepactions)
2121

2222
## Overview
23-
> :seedling: **`StepActions` is an [beta](additional-configs.md#beta-features) feature.**
24-
> The `enable-step-actions` feature flag must be set to `"true"` to specify a `StepAction` in a `Step`.
23+
> **`StepActions` is a stable feature.**
2524
2625
A `StepAction` is the reusable and scriptable unit of work that is performed by a `Step`.
2726

@@ -417,7 +416,6 @@ status:
417416
podName: step-action-run-pod
418417
provenance:
419418
featureFlags:
420-
EnableStepActions: true
421419
...
422420
startTime: "2023-10-24T20:28:32Z"
423421
steps:

0 commit comments

Comments
 (0)