-
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
Integrate custom tasks into Pipelines #3463
Conversation
@imjasonh @vdemeester This PR supercedes Jason's original PR #3115. I made the following changes:
The main TODO which I did not address was to handle Conditions in pipeline tasks that use custom tasks. At the time of Jason's PR, I believe that "when" support was not yet merged. Now that "when" support is merged and Conditions are being deprecated, I would like to propose that Conditions NOT be supported in pipeline tasks that use custom tasks. If everyone agrees then I can update this PR to validate that restriction or I can do that in a follow-on PR. Thanks in advance for your review. |
The following is the coverage report on the affected files.
|
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.
Thanks for this, I was really looking forward to it!
I'll be digging into the PR in the next days!
Quick question, without having looked at the code: would it make sense to split the part that solves the import cycle in a dedicated initial PR to reduce the size of this one?
9df4757
to
535913a
Compare
The following is the coverage report on the affected files.
|
535913a
to
07a9932
Compare
The following is the coverage report on the affected files.
|
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 should move all Run
related types to pkg/apis/run/v1alpha1
instead of just the one that were a problem for import cycle. This would allow us to still not import anything from "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1alpha1"
but "github.com/tektoncd/pipeline/pkg/apis/run/v1alpha1"
instead — similar to what we do with pkg/apis/resource/v1alpha1
.
Thanks so much for doing this Greg! 🎉
This seems reasonable to me, so long as it's documented and produces a descriptive error message. I'd prefer it to happen in a followup PR though to keep this one relatively narrowly scoped. |
/test check-pr-has-kind-label |
07a9932
to
6e7a4ac
Compare
The following is the coverage report on the affected files.
|
6e7a4ac
to
ccd82b9
Compare
The following is the coverage report on the affected files.
|
ccd82b9
to
5dec217
Compare
The following is the coverage report on the affected files.
|
@GregDritschler could you fill in the checklist: Discussed in OWNERS meeting today, sounds like merging this fixes #3133 (correct me if I'm wrong @imjasonh @GregDritschler !) |
There are a few things left to do (as separate PRs since this one is already very big):
|
The following is the coverage report on the affected files.
|
I've opened issues for the follow-on work to this PR. Custom Tasks: Disallow use of Conditions #3592 @vdemeester @afrittoli @pritidesai FYI. I believe I've resolved all the review issues. If not let me know. I'd like to get this one closed out. |
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.
/meow
Let's get this in for 0.19 😝
In response to this:
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. |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: 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 |
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.
Thanks for the updates and for the great work on this!
There are a few more comments that we could add to into the code to track design decisions for posterity, but nothing blocking.
/lgtm
arf, @GregDritschler needs yet another rebase, sorry 😓 🙇 |
e43a794
to
4004bfe
Compare
The following is the coverage report on the affected files.
|
A PipelineTask now can reference a custom task. This causes the PipelineRun reconciler to create a Run instead of a TaskRun. Pipeline parameters can be passed to the custom task. The custom task's results can be used by other Pipeline tasks and by the Pipeline results.
4004bfe
to
d1dfa4b
Compare
The following is the coverage report on the affected files.
|
@afrittoli @vdemeester Rebase completed. |
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.
Thanks!
/lgtm
Changes
A Pipeline Task now can reference a custom task. This causes the PipelineRun reconciler to create a Run instead of a TaskRun.
Pipeline parameters can be passed to the custom task. The custom task's results can be used by other Pipeline tasks and by the Pipeline results.
/kind feature
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.
Release Notes