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

[Problem Statement] TEP-0096: Pipelines V1 Release #567

Merged
merged 1 commit into from
Dec 9, 2021

Conversation

lbernick
Copy link
Member

This commit defines the problem statement for a stable release
of Tekton pipelines. It also describes the current Pipelines
deprecation policy and proposes a deprecation policy for a stable
release of Pipelines.

Co-authored-by: Jerop Kipruto jerop@google.com @jerop

@tekton-robot tekton-robot added the size/L Denotes a PR that changes 100-499 lines, ignoring generated files. label Nov 29, 2021
@lbernick lbernick force-pushed the v1 branch 2 times, most recently from 70b3df9 to b5ec6df Compare November 29, 2021 16:21
@lbernick
Copy link
Member Author

/kind tep

@tekton-robot tekton-robot added the kind/tep Categorizes issue or PR as related to a TEP (or needs a TEP). label Nov 29, 2021
@pritidesai
Copy link
Member

/assign
/assign @afrittoli
/assign @bobcatfish

Copy link
Member

@vdemeester vdemeester left a comment

Choose a reason for hiding this comment

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

I am guessing this is the TEP version of tektoncd/pipeline#3548 ?

/assign

teps/0096-pipelines-v1-release.md Outdated Show resolved Hide resolved
teps/0096-pipelines-v1-release.md Outdated Show resolved Hide resolved
teps/0096-pipelines-v1-release.md Outdated Show resolved Hide resolved
teps/0096-pipelines-v1-release.md Outdated Show resolved Hide resolved
teps/0096-pipelines-v1-release.md Outdated Show resolved Hide resolved
@lbernick
Copy link
Member Author

I am guessing this is the TEP version of tektoncd/pipeline#3548 ?

The goal of this TEP is to come to consensus on a stability policy and what features we'd like to prioritize for V1, but not to do detailed issue tracking here. Jerop and I are thinking that this will be similar to TEP-0074: Deprecate PipelineResources.

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 for starting this!

teps/0096-pipelines-v1-release.md Outdated Show resolved Hide resolved
@tekton-robot tekton-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Dec 6, 2021
@lbernick lbernick force-pushed the v1 branch 2 times, most recently from ffa5339 to 4db3534 Compare December 6, 2021 17:43
@lbernick
Copy link
Member Author

lbernick commented Dec 6, 2021

@vdemeester @pritidesai @bobcatfish I'd love to be able to merge this before the next WG (12/13) because I'm hoping to start discussing in scope/out of scope features during that meeting! PTAL and let me know if you have any concerns or if you need more time with this proposal, but I'm hoping since there aren't really any changes proposed to what we're already doing, we can merge this soon 🤞

@xchapter7x
Copy link
Contributor

@vdemeester / @iancoffey
mind giving this one a quick review? :)

Copy link
Contributor

@bobcatfish bobcatfish left a comment

Choose a reason for hiding this comment

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

Looking good! just some minor comments from me

/approve

teps/0096-pipelines-v1-release.md Outdated Show resolved Hide resolved
### Goals

- Define stability policy for Pipelines V1.
- Define supported and unsupported use cases for Pipelines V1.
Copy link
Contributor

Choose a reason for hiding this comment

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

re. our earlier discussion @lbernick , maybe "features" instead of "use cases" - depending on the direction you want to go :D

Copy link
Member

Choose a reason for hiding this comment

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

I think we may want to have both. Feature is a "limited" set that we know we have or want to have. Use case is.. something that is outside of our control (someone could be using it for a use case we never thought of) but we could definitely clarify the use case we intend to support (non exhaustive list 😛 ) and the one we definitely do not want to support (if any)

teps/0096-pipelines-v1-release.md Outdated Show resolved Hide resolved
teps/0096-pipelines-v1-release.md Outdated Show resolved Hide resolved
teps/0096-pipelines-v1-release.md Outdated Show resolved Hide resolved
teps/0096-pipelines-v1-release.md Outdated Show resolved Hide resolved
Copy link
Member

@vdemeester vdemeester left a comment

Choose a reason for hiding this comment

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

Overall looks good, approving the problem statement. We have time to figure somethings out during the "design detail" phase 😉


### Non Goals

- Define the stability or V1 plans of other Tekton project.
Copy link
Member

Choose a reason for hiding this comment

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

+1 to this

but at the same time, can the other Tekton projects play any role in Pipelines V1? 🤔 we discussed briefly this in API WG, there could be but we don't have concrete answer yet or we don't know yet.

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 think other Tekton projects will be important for meeting the use cases we want to support, but we can define what it means for pipelines v1 to be stable without involving features from other projects (hopefully). This seems like something that should remain an open question for now.


Tekton follows Kubernetes' [deprecation policy](https://kubernetes.io/docs/reference/using-api/deprecation-policy/).
However, while Kubernetes defines stability periods in terms of months or releases, whichever is longer,
Tekton defines stability periods only in terms of months.
Copy link
Member

Choose a reason for hiding this comment

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

This might change once we release V1, can it? The focus is months right now since Pipelines release are created every month. What is our plan to create release once we hit V1 API and/or V1 software versioning? We don't have to answer this here but I am just wondering while reading this since its being documented officially 🤣 unless I am missing the existing documentation.

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 think how often we want to create software releases is probably out of scope for the TEP, but we could choose to adopt Kubernetes language of "x months or x releases, whichever is longer". I don't see a strong reason in either direction; I think it's unlikely our release cadence would become significantly slower after a v1 release.

@pritidesai
Copy link
Member

Thank you @lbernick for creating a formal proposal for this and additional shout out to all the contributors who have played a key role in getting us so far.

I have left some NITs and more discussion points but since this is an iterative proposal (process), I am happy to merge it 🎉

/approve

@tekton-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: afrittoli, bobcatfish, pritidesai, 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:
  • teps/OWNERS [afrittoli,bobcatfish,pritidesai,vdemeester]

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

This commit defines the problem statement for a stable release
of Tekton pipelines. It also describes the current Pipelines
deprecation policy and proposes a deprecation policy for a stable
release of Pipelines.

Co-authored-by: Jerop Kipruto jerop@google.com
@pritidesai
Copy link
Member

Thank you @lbernick for addressing all the comments, we have received approvals from all the assignees. Its ready to merge 🎉

/lgtm

@tekton-robot tekton-robot added the lgtm Indicates that a PR is ready to be merged. label Dec 9, 2021
@tekton-robot tekton-robot merged commit e5f959d into tektoncd:main Dec 9, 2021
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. kind/tep Categorizes issue or PR as related to a TEP (or needs a TEP). lgtm Indicates that a PR is ready to be merged. size/L Denotes a PR that changes 100-499 lines, ignoring generated files.
Projects
Status: Proposed
Development

Successfully merging this pull request may close these issues.

7 participants