Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: promote StepActions to GA #8546

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

waveywaves
Copy link
Member

@waveywaves waveywaves commented Jan 31, 2025

Changes

fixes #8485

enable using StepActions out of the box for tekton-pipelines by promoting it to GA

Submitter Checklist

As the author of this PR, please check off the items in this checklist:

  • Has Docs if any changes are user facing, including updates to minimum requirements e.g. Kubernetes version bumps
  • Has Tests included if any functionality added or changed
  • pre-commit Passed
  • Follows the commit message standard
  • Meets the Tekton contributor standards (including functionality, content, code)
  • Has a kind label. You can add one by adding a comment on this PR that contains /kind <type>. Valid types are bug, cleanup, design, documentation, feature, flake, misc, question, tep
  • Release notes block below has been updated with any user facing changes (API changes, bug fixes, changes requiring upgrade notices or deprecation warnings). See some examples of good release notes.
  • Release notes contains the string "action required" if the change requires additional action from users switching to the new release

Release Notes

StepActions promoted to GA

@tekton-robot tekton-robot added release-note-none Denotes a PR that doesnt merit a release note. do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. labels Jan 31, 2025
@tekton-robot
Copy link
Collaborator

Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all

@tekton-robot tekton-robot added the size/S Denotes a PR that changes 10-29 lines, ignoring generated files. label Jan 31, 2025
@tekton-robot tekton-robot requested review from abayer and jerop January 31, 2025 16:47
@waveywaves waveywaves marked this pull request as ready for review January 31, 2025 16:51
@tekton-robot tekton-robot removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Jan 31, 2025
@waveywaves
Copy link
Member Author

/kind feature

@tekton-robot tekton-robot added the kind/feature Categorizes issue or PR as related to a new feature. label Jan 31, 2025
Copy link
Member

@l-qing l-qing left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we have any TEP documents or checklists to determine if the feature meets beta maturity?

@waveywaves
Copy link
Member Author

@l-qing the current tracker I am following is #8485

@waveywaves waveywaves force-pushed the feat/stepactions-enabled-default branch from ed246ea to 405e8ed Compare February 12, 2025 18:58
@waveywaves
Copy link
Member Author

cc @vdemeester

@tekton-robot
Copy link
Collaborator

@waveywaves: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
pull-tekton-pipeline-unit-tests 405e8ed link true /test pull-tekton-pipeline-unit-tests

Full PR test history. Your PR dashboard.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@waveywaves waveywaves force-pushed the feat/stepactions-enabled-default branch 2 times, most recently from 95ffb3a to 845dd31 Compare February 19, 2025 21:59
@tekton-robot tekton-robot added size/L Denotes a PR that changes 100-499 lines, ignoring generated files. and removed size/S Denotes a PR that changes 10-29 lines, ignoring generated files. labels Feb 19, 2025
@waveywaves waveywaves force-pushed the feat/stepactions-enabled-default branch from 845dd31 to a45de74 Compare February 19, 2025 22:04
@tekton-robot tekton-robot added size/S Denotes a PR that changes 10-29 lines, ignoring generated files. and removed size/L Denotes a PR that changes 100-499 lines, ignoring generated files. labels Feb 19, 2025
@waveywaves waveywaves force-pushed the feat/stepactions-enabled-default branch from a45de74 to d4a5306 Compare February 19, 2025 22:05
@tekton-robot tekton-robot added size/XS Denotes a PR that changes 0-9 lines, ignoring generated files. and removed size/S Denotes a PR that changes 10-29 lines, ignoring generated files. labels Feb 19, 2025
@waveywaves waveywaves force-pushed the feat/stepactions-enabled-default branch from d4a5306 to 3fa0ffa Compare February 19, 2025 22:34
@tekton-robot tekton-robot added size/S Denotes a PR that changes 10-29 lines, ignoring generated files. and removed size/XS Denotes a PR that changes 0-9 lines, ignoring generated files. labels Feb 19, 2025
@waveywaves waveywaves force-pushed the feat/stepactions-enabled-default branch 3 times, most recently from 72f3927 to 0ed96bf Compare February 27, 2025 13:13
@tekton-robot
Copy link
Collaborator

The following is the coverage report on the affected files.
Say /test pull-tekton-pipeline-go-coverage-df to re-run this coverage report

File Old Coverage New Coverage Delta
pkg/reconciler/taskrun/taskrun.go 86.1% 83.9% -2.2

@vdemeester
Copy link
Member

cc @tektoncd/core-maintainers

@tekton-robot tekton-robot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Mar 11, 2025
@tekton-robot tekton-robot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Mar 19, 2025
@vdemeester
Copy link
Member

/retest

@waveywaves waveywaves force-pushed the feat/stepactions-enabled-default branch from 7c01a01 to 8ccc964 Compare March 19, 2025 13:34
@tekton-robot
Copy link
Collaborator

The following is the coverage report on the affected files.
Say /test pull-tekton-pipeline-go-coverage-df to re-run this coverage report

File Old Coverage New Coverage Delta
pkg/reconciler/taskrun/taskrun.go 86.1% 83.9% -2.2

@waveywaves waveywaves force-pushed the feat/stepactions-enabled-default branch 2 times, most recently from a22d418 to 42db76e Compare March 20, 2025 13:40
@tekton-robot tekton-robot added size/M Denotes a PR that changes 30-99 lines, ignoring generated files. and removed size/S Denotes a PR that changes 10-29 lines, ignoring generated files. labels Mar 20, 2025
@waveywaves waveywaves force-pushed the feat/stepactions-enabled-default branch 2 times, most recently from 1583b50 to f28f988 Compare March 22, 2025 18:28
Copy link
Member

@jerop jerop left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎉

@tekton-robot
Copy link
Collaborator

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: jerop, l-qing, vdemeester

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

Copy link
Member

@afrittoli afrittoli left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @waveywaves for this!
I'm currently reviewing this, I'm confused by the changes in feature_flags.go but probably because I'm not familiar with the latest version of the code.
Let me spend a few more minutes digging into this and I'll finish my review

enable-api-fields: "beta"
enable-step-actions: "true"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If it's enabled by default, why does it have to be enabled in beta?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I had added this in the very beginning to debug why e2e tests weren't passing. What you are saying is right, ideally, this should not be here. Removed enable-step-actions: "true" from here. Thanks for catching this!

Comment on lines -159 to +160
Stability: BetaAPIFields,
Enabled: DefaultBetaFeatureEnabled,
Stability: StableAPIFields,
Enabled: DefaultStableFeatureEnabled,
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I re-read TEP-0138 and the docs associated with it.

As far as I understand, the implementation is a bit "brittle" from the code point of view; it's all left to the feature developer to follow guidelines. This map populates the feature flags store when a configMap is not found, which is probably only for tests. Only the Enabled field is also relevant from a configuration perspective. The Stability field is there for "documentation purposes", i.e. to keep track of what feature is at which level of stability.

The documented feature promotion path is as follow:

  • alpha, disabled by default
  • beta, disabled by default
  • stable, enabled by default

This is reflected by the constants:

	// Features of "alpha" stability level are disabled by default
	DefaultAlphaFeatureEnabled = false
	// Features of "beta" stability level are disabled by default
	DefaultBetaFeatureEnabled = false
	// Features of "stable" stability level are enabled by default
	DefaultStableFeatureEnabled = true

This PR sets the documented feature level to "stable" in the code but leaves it to "beta" everywhere else in the docs. From the PR description, it looks like the intention was not to promote to "stable", but only enable by default.
However, that is invalid if the feature is still "beta", as it can only be enabled by default once it's stable.

@afrittoli
Copy link
Member

/hold

@waveywaves @vdemeester @jerop @JeromeJu I may be missing some context on this.
I apologise if I do, but I think this is not ok as it is; we should mark the feature stable if we want to enable it by default.

If it was agreed to enable a beta feature by default, the exception should be documented in the release notes and context provided in the PR description. The feature_flag map should still refer to beta instead of not stable.

If the intention was instead to promote this to stable, the user docs and release notes should be updated with this information.

@tekton-robot tekton-robot added the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Mar 24, 2025
@waveywaves waveywaves changed the title feat: enable step actions by default feat: promote StepActions to GA Mar 25, 2025
@waveywaves
Copy link
Member Author

I may be missing some context on this.
I apologise if I do, but I think this is not ok as it is; we should mark the feature stable if we want to enable it by default.

Hey Andrea, thank you for reviewing the PR
The idea was to promote stepactions to GA indeed through this. It should have been reflected in the PR name, have updated the name accordingly

If it was agreed to enable a beta feature by default, the exception should be documented in the release notes and context provided in the PR description. The feature_flag map should still refer to beta instead of not stable. If the intention was instead to promote this to stable, the user docs and release notes should be updated with this information.

I will update the docs accordingly for this, I have missed that out

cc @afrittoli

@waveywaves waveywaves force-pushed the feat/stepactions-enabled-default branch 2 times, most recently from cb53fff to eed5ab9 Compare March 25, 2025 16:28
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

This change makes StepActions a stable, first-class feature in Tekton Pipelines.
@waveywaves waveywaves force-pushed the feat/stepactions-enabled-default branch from eed5ab9 to 84d38c5 Compare March 25, 2025 16:32
@tekton-robot tekton-robot added release-note Denotes a PR that will be considered when it comes time to generate release notes. and removed release-note-none Denotes a PR that doesnt merit a release note. labels Mar 25, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. kind/feature Categorizes issue or PR as related to a new feature. release-note Denotes a PR that will be considered when it comes time to generate release notes. size/M Denotes a PR that changes 30-99 lines, ignoring generated files.
Projects
Status: In Progress
Development

Successfully merging this pull request may close these issues.

TEP-0142 Promote StepActions to GA
6 participants