-
Notifications
You must be signed in to change notification settings - Fork 1.8k
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
Add Task to v1alpha2 🎋 #1651
Add Task to v1alpha2 🎋 #1651
Conversation
The following is the coverage report on pkg/.
|
23b8bb0
to
7850e9d
Compare
The following is the coverage report on pkg/.
|
7850e9d
to
6889c6d
Compare
The following is the coverage report on pkg/.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We talked about this on the beta call yesterday but just to recap :-
I suggest that alpha2 methods should depend on the alpha1 method in any case where the alpha2 method is exactly the same as alpha1. Then if a dev wants to modify the way alpha2 works in the future they would copy/paste alpha1's method implementation into alpha2 and make changes to that copy.
This is all in service of keeping alpha1 frozen after alpha2 is released - after alpha2 is released we should instantly be able to tell if there's a problem with a PR simply by noticing that an alpha1 file has been modified. WDYT?
So I remember now why I did the opposite. In my experimentation of bumping the API, I am using
Ideally, except for exact similar types (and for similar types, type aliasing help greatly), we should try to get as less code on v1alpha1 depending on v1alpha2 (this is mainly for functions). Anything that can be extracted out of the api package is even better (because it cuts the cycle dependency). This also means we may need a bit more duplicate code in some places — but for relative short time (at least for alpha APIs). So for the |
/test pull-tekton-pipeline-integration-tests |
This modify how `TaskSpec` looks from v1alpha1: - params is now directly under spec - no more inputs and outputs, get replaced by resources - resource has input and output resource declaration fields, similar to how it is used in Pipeline The next step are : - Add more types (Pipeline, TaskRun, PipelineRun, Condition) - Refactor v1alpha1 to embedded v1alpha2 (for storage purpose) - Auto-conversion from v1alpha1 Signed-off-by: Vincent Demeester <[email protected]>
6889c6d
to
b35c3be
Compare
The following is the coverage report on pkg/.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
/lgtm
/approve |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: sbwsg 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 |
/test pull-tekton-pipeline-integration-tests |
Changes
This modify how
TaskSpec
looks from v1alpha1:to how it is used in Pipeline
The spec will look like this (only thing that changed from
v1alpha1
).The next step are :
This is "a start", the next step can be done in a follow-up (as well as enhancing the tests 😉).
I did not remove tests from types that are shared between the two version as I want to make sure
v1alpha1
behaves the same still.We need to follow closely what changes are done on
v1alpha1
package from now on, to make sure we "report" them tov1alpha2
at some point 👼/cc @bobcatfish @skaegi @afrittoli
Signed-off-by: Vincent Demeester [email protected]
Submitter Checklist
These are the criteria that every PR should meet, please check them off as you
review them:
See the contribution guide for more details.
Double check this list of stuff that's easy to miss:
cmd
dir, please updatethe release Task to build and release this image.
Reviewer Notes
If API changes are included, additive changes must be approved by at least two OWNERS and backwards incompatible changes must be approved by more than 50% of the OWNERS, and they must first be added in a backwards compatible way.