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-0090: Matrix - Parameters #4704

Merged
merged 1 commit into from
Mar 23, 2022
Merged

Conversation

jerop
Copy link
Member

@jerop jerop commented Mar 23, 2022

Changes

TEP-0090 proposed executing a PipelineTask in parallel TaskRuns and Runs with substitutions from combinations of Parameters in a Matrix.

In this change, we add validation for Parameters including:

  • Parameter must be of type Array
  • Parameter must be in one of matrix or params, not both
  • Parameter in Matrix must exist in Parameters declarations in Pipeline

/kind feature

Submitter Checklist

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

  • Docs included if any changes are user facing
  • Tests included if any functionality added or changed
  • Follows the commit message standard
  • Meets the Tekton contributor standards (including
    functionality, content, code)
  • Release notes block below has been filled in or deleted (only if no user facing changes)

Release Notes

`Parameters` in `Matrix`:
- must be of type `Array`
- must not be in `Params` field as well
- must be declared in the `Parameters` in `Pipeline` specification

Note that `Matrix` is not yet fully functional.

@tekton-robot tekton-robot added release-note Denotes a PR that will be considered when it comes time to generate release notes. kind/feature Categorizes issue or PR as related to a new feature. size/L Denotes a PR that changes 100-499 lines, ignoring generated files. labels Mar 23, 2022
@jerop jerop changed the title TEP-0090: Matrix - Parameters` TEP-0090: Matrix - Parameters Mar 23, 2022
@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/v1beta1/param_types.go 97.3% 98.2% 0.9
pkg/apis/pipeline/v1beta1/pipeline_types.go 96.2% 96.3% 0.1

@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/v1beta1/param_types.go 97.3% 98.2% 0.9
pkg/apis/pipeline/v1beta1/pipeline_types.go 96.2% 96.3% 0.1

Copy link

@ghost ghost left a comment

Choose a reason for hiding this comment

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

I left a couple of small style nits but otherwise this looks good to me!

docs/matrix.md Outdated Show resolved Hide resolved
pkg/apis/pipeline/v1beta1/param_types.go Outdated Show resolved Hide resolved
[TEP-0090][tep-0090] proposed executing a `PipelineTask`
in parallel `TaskRuns` and `Runs` with substitutions from
combinations of `Parameters` in a `Matrix`.

In this change, we add validation for `Parameters` including:
- `Parameter` must be of type `Array`
- `Parameter` must be in one of `matrix` or `params`, not both
- `Parameter` in `Matrix` must exist in `Parameters` declarations
   in `Pipeline`

[tep-0090]: https://github.com/tektoncd/community/blob/main/teps/0090-matrix.md
@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/v1beta1/param_types.go 97.3% 98.1% 0.8
pkg/apis/pipeline/v1beta1/pipeline_types.go 96.2% 96.3% 0.1

@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/v1beta1/param_types.go 97.3% 98.1% 0.8
pkg/apis/pipeline/v1beta1/pipeline_types.go 96.2% 96.3% 0.1

@ghost
Copy link

ghost commented Mar 23, 2022

/lgtm

Cheers @jerop!

@tekton-robot tekton-robot assigned ghost Mar 23, 2022
@tekton-robot tekton-robot added the lgtm Indicates that a PR is ready to be merged. label Mar 23, 2022
Copy link
Member

@dibyom dibyom left a comment

Choose a reason for hiding this comment

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

LGTM!

@tekton-robot
Copy link
Collaborator

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: dibyom

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 23, 2022
@tekton-robot tekton-robot merged commit 3392b10 into tektoncd:main Mar 23, 2022
jerop added a commit to jerop/pipeline that referenced this pull request May 9, 2022
… Reconciler

The `TaskRun` reconciler validates that the needed `Parameters` are provided,
no extra `Parameters` are provide and the types of `Parameters` are matching.

Prior to this change, the reconciler did the above validation considering the
`params` field in the `PipelineTask` only. In this change, we include `matrix`
field into the validation routine described above. This includes validating
that `Parameters` in the `Matrix` are substituting `Parameters` of type `String`
in the underlying `Task`.

Related:
- tektoncd#4704
- tektoncd#4841
jerop added a commit to jerop/pipeline that referenced this pull request May 9, 2022
… Reconciler

The `TaskRun` reconciler validates that the needed `Parameters` are provided,
no extra `Parameters` are provide and the types of `Parameters` are matching.

Prior to this change, the reconciler did the above validation considering the
`params` field in the `PipelineTask` only. In this change, we include `matrix`
field into the validation routine described above. This includes validating
that `Parameters` in the `Matrix` are substituting `Parameters` of type `String`
in the underlying `Task`.

Related:
- tektoncd#4704
- tektoncd#4841
tekton-robot pushed a commit that referenced this pull request May 11, 2022
… Reconciler

The `TaskRun` reconciler validates that the needed `Parameters` are provided,
no extra `Parameters` are provide and the types of `Parameters` are matching.

Prior to this change, the reconciler did the above validation considering the
`params` field in the `PipelineTask` only. In this change, we include `matrix`
field into the validation routine described above. This includes validating
that `Parameters` in the `Matrix` are substituting `Parameters` of type `String`
in the underlying `Task`.

Related:
- #4704
- #4841
@jerop jerop deleted the tep-0090-parameters branch June 11, 2022 01:44
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/L Denotes a PR that changes 100-499 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants