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

TEP-0118: Implement Fanning Out logic to support Matrix Include Parameters in a Task Run #6341

Merged
merged 1 commit into from
Mar 28, 2023

Conversation

EmmaMunley
Copy link
Contributor

@EmmaMunley EmmaMunley commented Mar 10, 2023

[TEP-0090: Matrix] introduced Matrix to the PipelineTask specification such that the PipelineTask executes a list of TaskRuns or Runs in parallel with the specified list of inputs for a Parameter or with different combinations of the inputs for a set of Parameters.

To build on this, Tep-0018 introduced Matrix.Include, which allows passing in a specific combinations of Parameters into the Matrix.

This PR addresses issue #5267 by adding implementation logic and testing for fanning out the Matrix Include Parameters in a Task Run to allow users to generate explicit combinations and support adding a specific combination of input values for Matrix Parameters

/kind feature

Changes

Submitter Checklist

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

  • Has Docs included if any changes are user facing
  • Has Tests included if any functionality added or changed
  • 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)
  • Release notes contains the string "action required" if the change requires additional action from users switching to the new release

Release Notes

Users can now specify a`PipelineTask` with `Matrix Include Parameters` to generate explicit combinations or add 
a specific combination of input values for Matrix Parameters. 

@tekton-robot tekton-robot added 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/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. labels Mar 10, 2023
@EmmaMunley
Copy link
Contributor Author

/assign @pritidesai @jerop
cc: @lbernick

@tekton-robot
Copy link
Collaborator

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

File Old Coverage New Coverage Delta
pkg/apis/pipeline/v1/param_types.go 99.1% 99.1% 0.0
pkg/apis/pipeline/v1beta1/param_types.go 99.0% 99.1% 0.0

@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/apis/pipeline/v1/param_types.go 99.1% 99.1% 0.0
pkg/apis/pipeline/v1beta1/param_types.go 99.0% 99.1% 0.0

@tekton-robot
Copy link
Collaborator

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

File Old Coverage New Coverage Delta
pkg/apis/pipeline/v1/param_types.go 99.1% 99.1% 0.0
pkg/apis/pipeline/v1beta1/param_types.go 99.1% 99.1% 0.0

@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/apis/pipeline/v1/param_types.go 99.1% 99.1% 0.0
pkg/apis/pipeline/v1beta1/param_types.go 99.1% 99.1% 0.0

@JeromeJu
Copy link
Member

nice to have: we might only include the info related to the changes in the commit message
and add the background information (ie. [TEP-0090: Matrix] ...To build on this, Tep-0018..) in the PR comment for better reviewing context?

@pritidesai pritidesai added this to the Pipelines v0.46 milestone Mar 10, 2023
@tekton-robot
Copy link
Collaborator

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

File Old Coverage New Coverage Delta
pkg/apis/pipeline/v1/param_types.go 99.1% 99.1% 0.0
pkg/apis/pipeline/v1beta1/param_types.go 99.1% 99.1% 0.0

@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/apis/pipeline/v1/param_types.go 99.1% 99.1% 0.0
pkg/apis/pipeline/v1beta1/param_types.go 99.1% 99.1% 0.0

docs/matrix.md Outdated Show resolved Hide resolved
docs/matrix.md Outdated Show resolved Hide resolved
docs/matrix.md Outdated Show resolved Hide resolved
docs/matrix.md Outdated Show resolved Hide resolved
docs/matrix.md Outdated Show resolved Hide resolved
docs/matrix.md Outdated Show resolved Hide resolved
docs/matrix.md Outdated Show resolved Hide resolved
pkg/apis/pipeline/v1beta1/param_types.go Outdated Show resolved Hide resolved
pkg/apis/pipeline/v1/matrix_types.go Outdated Show resolved Hide resolved
Copy link
Contributor Author

@EmmaMunley EmmaMunley left a comment

Choose a reason for hiding this comment

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

Thanks @lbernick and @pritidesai

docs/matrix.md Outdated Show resolved Hide resolved
docs/matrix.md Outdated Show resolved Hide resolved
pkg/apis/pipeline/v1/matrix_types.go Show resolved Hide resolved
pkg/apis/pipeline/v1/matrix_types.go Show resolved Hide resolved
@tekton-robot
Copy link
Collaborator

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

File Old Coverage New Coverage Delta
pkg/apis/pipeline/v1/param_types.go 99.1% 96.8% -2.3
pkg/apis/pipeline/v1beta1/param_types.go 99.1% 96.8% -2.3

@EmmaMunley EmmaMunley force-pushed the fan-out-include-matrix-pt-2 branch 2 times, most recently from 7d08db3 to f6e1499 Compare March 27, 2023 19:21
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.

Please add more details in the release notes given that the feature is now fully functional: https://github.com/tektoncd/community/blob/main/standards.md#release-notes

…e Parameters in a Task Run

This commit adds implementation logic and testing for fanning out the Matrix Include Parameters in a Task Run to allow users to generate explicit combinations and support adding a specific combination of input values for Matrix Parameters.
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.

Thank you for the hard work on this project @EmmaMunley, excited to try out this feature in the next release 🎉

@tekton-robot
Copy link
Collaborator

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: jerop

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

@tekton-robot tekton-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Mar 28, 2023
@pritidesai
Copy link
Member

thanks a bunch @EmmaMunley for spending lots of effort on this, appreciate it!

/lgtm

@tekton-robot tekton-robot added the lgtm Indicates that a PR is ready to be merged. label Mar 28, 2023
@pritidesai
Copy link
Member

/Assign @jerop @pritidesai /Hold until #6407 and #6418 merges cc: @lbernick

This is branched off of #6407 and #6418 to avoid merge conflicts. Matrix Docs, FanOut() Matrix Include and Yaml Examples have been added in this PR. Docs have already been reviewed.

please feel free to cancel the hold

@EmmaMunley
Copy link
Contributor Author

/unhold @pritidesai Will open a separate PR to address the NIT comments. Thanks

@EmmaMunley
Copy link
Contributor Author

/unhold

@tekton-robot tekton-robot removed the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Mar 28, 2023
@tekton-robot tekton-robot merged commit e2434dd into tektoncd:main Mar 28, 2023
EmmaMunley added a commit to EmmaMunley/pipeline that referenced this pull request Mar 29, 2023
This commit refactors the overwriting combinations function within fanning out the Matrix to reduce the number of calls as requested by Priti in PR: tektoncd#6341.
@EmmaMunley EmmaMunley deleted the fan-out-include-matrix-pt-2 branch March 29, 2023 17:04
@EmmaMunley
Copy link
Contributor Author

/unhold @pritidesai Will open a separate PR to address the NIT comments. Thanks

A PR has been opened separately here: #6463

EmmaMunley added a commit to EmmaMunley/pipeline that referenced this pull request Mar 29, 2023
This commit refactors the overwriting combinations function within fanning out the Matrix to reduce the number of calls as requested by Priti in PR: tektoncd#6341.
EmmaMunley added a commit to EmmaMunley/pipeline that referenced this pull request Mar 30, 2023
This commit refactors the overwriting combinations function within fanning out the Matrix to reduce the number of calls as requested by Priti in PR: tektoncd#6341.
tekton-robot pushed a commit that referenced this pull request Apr 5, 2023
This commit refactors the overwriting combinations function within fanning out the Matrix to reduce the number of calls as requested by Priti in PR: #6341.
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/feature Categorizes issue or PR as related to a new feature. lgtm Indicates that a PR is ready to be merged. release-note Denotes a PR that will be considered when it comes time to generate release notes. size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants