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

Variable to get a list of results of a task #4097

Open
hokadiri opened this issue Jul 14, 2021 · 7 comments
Open

Variable to get a list of results of a task #4097

hokadiri opened this issue Jul 14, 2021 · 7 comments
Labels
area/api Indicates an issue or PR that deals with the API. kind/feature Categorizes issue or PR as related to a new feature. lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness.

Comments

@hokadiri
Copy link

hokadiri commented Jul 14, 2021

Feature request

if a i have a list of results

kind: Task
metadata:
  name: some-task
spec:
  results:
    - name: A
    - name: B
    - name: C
    - name: D
    - name: E
    - name: F

I want a variable that tells me the list so i can loop through it in in a task shell

      script: |
        # loop through $(results.list)

A variable which lists the results defined in a task

Use case

I have a list of 10 results , i want to set them to some value.
Right now i have to

echo "X" > "$(results.A.path)" 
echo "Y" > "$(results.B.path)" 
echo "Z" > "$(results.C.path)" 
...

Would be great if i can loop through the results list/

Supports DRY principle.

@hokadiri hokadiri added the kind/feature Categorizes issue or PR as related to a new feature. label Jul 14, 2021
@bobcatfish bobcatfish added the area/api Indicates an issue or PR that deals with the API. label Jul 15, 2021
@bobcatfish
Copy link
Collaborator

Thanks for opening this @hokadiri !

Are you able to share any more details around the use case you need this for? e.g. a specific Task with specific results would really help us understand why this is needed.

(I'm also wondering if in this case you'd prefer to be able to have an array or dictionary type result - but I think even if we supported those, we've been hesitant to support variable replacement for going from an array to a string b/c it's hard to say how it should be formatted - e.g. separated by commas? spaces? something else?)

@bobcatfish bobcatfish added the triage/needs-information Indicates an issue needs more information in order to work on it. label Jul 15, 2021
@hokadiri
Copy link
Author

Hi @bobcatfish, I have a tekton task that runs a tool which takes a git commit and outputs the list of tests to run with some additional metadata

{
  "test-a": {
    "cmd": "some cmd",
     ... some other metadata
  },
  "test-c": {
    "cmd": "some cmd",
    ... some other metadata
  },
  "test-d": {
    "cmd": "some cmd"
    ... some other metadata
  },
  "test-e": {
    "cmd": "some cmd"
    ... some other metadata
  },
}

Ideally I want to take this json and trigger concurrent task runs (One test per task).

Since results can't be lists/dictonaries, workaround is i'm creating a result for each test, looping thru and setting it.

To set it, I wanted to loop through the result list

For each test in $(results.list)
  if test in json:
    set result.test to true
  else:
    set result.test to false 

Ideally if results can support multiple types (not just string), then I can do:
run task to generate json output -> convert json to results dict -> pass results dict to tekton taskB iterparams -> task-loop concurrently -> fan-in -> done

@bobcatfish
Copy link
Collaborator

ooooo thanks for the additional info!! i've actually just created 2 proposals that might help you out:

(Eventually I think we should allow even more complex types, e.g. arrays of dictionaries, etc.)

Maybe even just having array results support would be enough to unblock you for now? (it sounds like task-loops might be relevant to your interests also, if you wanted to run the same Task "for each" test)

@bobcatfish bobcatfish removed the triage/needs-information Indicates an issue needs more information in order to work on it. label Jul 19, 2021
@hokadiri
Copy link
Author

hokadiri commented Jul 22, 2021

@bobcatfish , Thanks for creating the proposals. Yeah having array results support - in conjunction with task-loops - would be enough to unblock me.

In general being able to convert a json/yaml file to an equivalent object tekton understands and vice versa would be a very helpful feature.

jerop added a commit to jerop/community that referenced this issue Oct 13, 2021
This change adds the problem statement for Looping. It scopes the
problem, describes the use cases, and identifies the goals and the
requirements for the solution.

Today, users cannot supply varying `Parameters` to the same `Task` or
`Custom Task` - that is, fan out their `Task` or `Custom Tasks`.

In this TEP, we aim to provide a way to run the same `Task` or
`Custom Task` with varying `Parameters` by spinning up a `TaskRun` or
`Run` for each `Parameter` in a loop.

This looping construct is aimed at improving the composability,
scalability, flexibility and reusability of *Tekton Pipelines*.

References:
- [Task Loops Experimental Project][task-loops]
- Issues:
  - tektoncd/pipeline#2050
  - tektoncd/pipeline#4097
jerop added a commit to jerop/community that referenced this issue Oct 13, 2021
This change adds the problem statement for Looping. It scopes the
problem, describes the use cases, and identifies the goals and the
requirements for the solution.

Today, users cannot supply varying `Parameters` to the same `Task` or
`Custom Task` - that is, fan out their `Task` or `Custom Tasks`.

In this TEP, we aim to provide a way to run the same `Task` or
`Custom Task` with varying `Parameters` by spinning up a `TaskRun` or
`Run` for each `Parameter` in a loop.

This looping construct is aimed at improving the composability,
scalability, flexibility and reusability of *Tekton Pipelines*.

References:
- [Task Loops Experimental Project][task-loops]
- Issues:
  - tektoncd/pipeline#2050
  - tektoncd/pipeline#4097

[task-loops]: https://github.com/tektoncd/experimental/tree/main/task-loops
jerop added a commit to jerop/community that referenced this issue Oct 13, 2021
This change adds the problem statement for Looping. It scopes the
problem, describes the use cases, and identifies the goals, the
requirements for the solution, and related work in other continous
delivery systems.

Today, users cannot supply varying `Parameters` to the same `Task` or
`Custom Task` - that is, fan out their `Task` or `Custom Tasks`.

In this TEP, we aim to provide a way to run the same `Task` or
`Custom Task` with varying `Parameters` by spinning up a `TaskRun` or
`Run` for each `Parameter` in a loop.

This looping construct is aimed at improving the composability,
scalability, flexibility and reusability of *Tekton Pipelines*.

References:
- [Task Loops Experimental Project][task-loops]
- Issues:
  - tektoncd/pipeline#2050
  - tektoncd/pipeline#4097

[task-loops]: https://github.com/tektoncd/experimental/tree/main/task-loops
jerop added a commit to jerop/community that referenced this issue Oct 13, 2021
This change adds the problem statement for Looping. It scopes the
problem, describes the use cases, and identifies the goals, the
requirements for the solution, and related work in other continuous
delivery systems.

Today, users cannot supply varying `Parameters` to the same `Task` or
`Custom Task` - that is, fan out their `Task` or `Custom Tasks`.

In this TEP, we aim to provide a way to run the same `Task` or
`Custom Task` with varying `Parameters` by spinning up a `TaskRun` or
`Run` for each `Parameter` in a loop.

This looping construct is aimed at improving the composability,
scalability, flexibility and reusability of *Tekton Pipelines*.

References:
- [Task Loops Experimental Project][task-loops]
- Issues:
  - tektoncd/pipeline#2050
  - tektoncd/pipeline#4097

[task-loops]: https://github.com/tektoncd/experimental/tree/main/task-loops
jerop added a commit to jerop/community that referenced this issue Oct 13, 2021
This change adds the problem statement for Looping. It scopes the
problem, describes the use cases, and identifies the goals, the
requirements for the solution, and related work in other continuous
delivery systems.

Today, users cannot supply varying `Parameters` to the same `Task` or
`Custom Task` - that is, fan out their `Task` or `Custom Tasks`.

In this TEP, we aim to provide a way to run the same `Task` or
`Custom Task` with varying `Parameters` by spinning up a `TaskRun` or
`Run` for each `Parameter` in a loop.

This looping construct is aimed at improving the composability,
scalability, flexibility and reusability of *Tekton Pipelines*.

References:
- [Task Loops Experimental Project][task-loops]
- Issues:
  - tektoncd/pipeline#2050
  - tektoncd/pipeline#4097

[task-loops]: https://github.com/tektoncd/experimental/tree/main/task-loops
jerop added a commit to jerop/community that referenced this issue Oct 13, 2021
This change adds the problem statement for Looping. It scopes the
problem, describes the use cases, and identifies the goals, the
requirements for the solution, and related work in other continuous
delivery systems.

Today, users cannot supply varying `Parameters` to the same `Task` or
`Custom Task` - that is, fan out their `Task` or `Custom Tasks`.

In this TEP, we aim to provide a way to run the same `Task` or
`Custom Task` with varying `Parameters` by spinning up a `TaskRun` or
`Run` for each `Parameter` in a loop.

This looping construct is aimed at improving the composability,
scalability, flexibility and reusability of *Tekton Pipelines*.

References:
- [Task Loops Experimental Project][task-loops]
- Issues:
  - tektoncd/pipeline#2050
  - tektoncd/pipeline#4097

[task-loops]: https://github.com/tektoncd/experimental/tree/main/task-loops
jerop added a commit to jerop/community that referenced this issue Oct 18, 2021
This change adds the problem statement for Looping. It scopes the
problem, describes the use cases, and identifies the goals, the
requirements for the solution, and related work in other continuous
delivery systems.

Today, users cannot supply varying `Parameters` to the same `Task` or
`Custom Task` - that is, fan out their `Task` or `Custom Tasks`.

In this TEP, we aim to provide a way to run the same `Task` or
`Custom Task` with varying `Parameters` by spinning up a `TaskRun` or
`Run` for each `Parameter` in a loop.

This looping construct is aimed at improving the composability,
scalability, flexibility and reusability of *Tekton Pipelines*.

References:
- [Task Loops Experimental Project][task-loops]
- Issues:
  - tektoncd/pipeline#2050
  - tektoncd/pipeline#4097

[task-loops]: https://github.com/tektoncd/experimental/tree/main/task-loops
jerop added a commit to jerop/community that referenced this issue Oct 18, 2021
This change adds the problem statement for Looping. It scopes the
problem, describes the use cases, and identifies the goals, the
requirements for the solution, and related work in other continuous
delivery systems.

Today, users cannot supply varying `Parameters` to the same `Task` or
`Custom Task` - that is, fan out their `Task` or `Custom Tasks`.

In this TEP, we aim to provide a way to run the same `Task` or
`Custom Task` with varying `Parameters` by spinning up a `TaskRun` or
`Run` for each `Parameter` in a loop.

This looping construct is aimed at improving the composability,
scalability, flexibility and reusability of *Tekton Pipelines*.

References:
- [Task Loops Experimental Project][task-loops]
- Issues:
  - tektoncd/pipeline#2050
  - tektoncd/pipeline#4097

[task-loops]: https://github.com/tektoncd/experimental/tree/main/task-loops
jerop added a commit to jerop/community that referenced this issue Oct 18, 2021
This change adds the problem statement for Looping. It scopes the
problem, describes the use cases, and identifies the goals, the
requirements for the solution, and related work in other continuous
delivery systems.

Today, users cannot supply varying `Parameters` to the same `Task` or
`Custom Task` - that is, fan out their `Task` or `Custom Tasks`.

In this TEP, we aim to provide a way to run the same `Task` or
`Custom Task` with varying `Parameters` by spinning up a `TaskRun` or
`Run` for each `Parameter` in a loop.

This looping construct is aimed at improving the composability,
scalability, flexibility and reusability of *Tekton Pipelines*.

References:
- [Task Loops Experimental Project][task-loops]
- Issues:
  - tektoncd/pipeline#2050
  - tektoncd/pipeline#4097

[task-loops]: https://github.com/tektoncd/experimental/tree/main/task-loops
jerop added a commit to jerop/community that referenced this issue Oct 18, 2021
This change adds the problem statement for Looping. It scopes the
problem, describes the use cases, and identifies the goals, the
requirements for the solution, and related work in other continuous
delivery systems.

Today, users cannot supply varying `Parameters` to the same `Task` or
`Custom Task` - that is, fan out their `Task` or `Custom Tasks`.

In this TEP, we aim to provide a way to run the same `Task` or
`Custom Task` with varying `Parameters` by spinning up a `TaskRun` or
`Run` for each `Parameter` in a loop.

This looping construct is aimed at improving the composability,
scalability, flexibility and reusability of *Tekton Pipelines*.

References:
- [Task Loops Experimental Project][task-loops]
- Issues:
  - tektoncd/pipeline#2050
  - tektoncd/pipeline#4097

[task-loops]: https://github.com/tektoncd/experimental/tree/main/task-loops
jerop added a commit to jerop/community that referenced this issue Oct 18, 2021
This change adds the problem statement for Looping. It scopes the
problem, describes the use cases, and identifies the goals, the
requirements for the solution, and related work in other continuous
delivery systems.

Today, users cannot supply varying `Parameters` to the same `Task` or
`Custom Task` - that is, fan out their `Task` or `Custom Tasks`.

In this TEP, we aim to provide a way to run the same `Task` or
`Custom Task` with varying `Parameters` by spinning up a `TaskRun` or
`Run` for each `Parameter` in a loop.

This looping construct is aimed at improving the composability,
scalability, flexibility and reusability of *Tekton Pipelines*.

References:
- [Task Loops Experimental Project][task-loops]
- Issues:
  - tektoncd/pipeline#2050
  - tektoncd/pipeline#4097

[task-loops]: https://github.com/tektoncd/experimental/tree/main/task-loops
@tekton-robot
Copy link
Collaborator

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale with a justification.
Stale issues rot after an additional 30d of inactivity and eventually close.
If this issue is safe to close now please do so with /close with a justification.
If this issue should be exempted, mark the issue as frozen with /lifecycle frozen with a justification.

/lifecycle stale

Send feedback to tektoncd/plumbing.

@tekton-robot tekton-robot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Oct 20, 2021
jerop added a commit to jerop/community that referenced this issue Oct 27, 2021
This change adds the problem statement for Matrix. It scopes the
problem, describes the use cases, and identifies the goals, the
requirements for the solution, and related work in other continuous
delivery systems.

Today, users cannot supply varying `Parameters` to execute a
`PipelineTask`, that is, fan out a `PipelineTasks`.

To solve this problem, this TEP aims to enable executing the same
`PipelineTask` with different combinations of `Parameters` specified
in a `matrix`. `TaskRuns` or `Runs` will be created with variables
substituted with each combination of the `Parameters` in the `matrix`.

This `matrix` construct will enable users to specify concise but
powerful `Pipelines`. Moreover, it would improve the composability,
scalability, flexibility and reusability of *Tekton Pipelines*.

References:
- [Task Loops Experimental Project][task-loops]
- Issues:
  - tektoncd/pipeline#2050
  - tektoncd/pipeline#4097

[task-loops]: https://github.com/tektoncd/experimental/tree/main/task-loops
jerop added a commit to jerop/community that referenced this issue Oct 27, 2021
This change adds the problem statement for Matrix. It scopes the
problem, describes the use cases, and identifies the goals, the
requirements for the solution, and related work in other continuous
delivery systems.

Today, users cannot supply varying `Parameters` to execute a
`PipelineTask`, that is, fan out a `PipelineTasks`.

To solve this problem, this TEP aims to enable executing the same
`PipelineTask` with different combinations of `Parameters` specified
in a `matrix`. `TaskRuns` or `Runs` will be created with variables
substituted with each combination of the `Parameters` in the `matrix`.

This `matrix` construct will enable users to specify concise but
powerful `Pipelines`. Moreover, it would improve the composability,
scalability, flexibility and reusability of *Tekton Pipelines*.

References:
- [Task Loops Experimental Project][task-loops]
- Issues:
  - tektoncd/pipeline#2050
  - tektoncd/pipeline#4097

[task-loops]: https://github.com/tektoncd/experimental/tree/main/task-loops
jerop added a commit to jerop/community that referenced this issue Oct 27, 2021
This change adds the problem statement for Matrix. It scopes the
problem, describes the use cases, and identifies the goals, the
requirements for the solution, and related work in other continuous
delivery systems.

Today, users cannot supply varying `Parameters` to execute a
`PipelineTask`, that is, fan out a `PipelineTasks`.

To solve this problem, this TEP aims to enable executing the same
`PipelineTask` with different combinations of `Parameters` specified
in a `matrix`. `TaskRuns` or `Runs` will be created with variables
substituted with each combination of the `Parameters` in the `matrix`.

This `matrix` construct will enable users to specify concise but
powerful `Pipelines`. Moreover, it would improve the composability,
scalability, flexibility and reusability of *Tekton Pipelines*.

References:
- [Task Loops Experimental Project][task-loops]
- Issues:
  - tektoncd/pipeline#2050
  - tektoncd/pipeline#4097

[task-loops]: https://github.com/tektoncd/experimental/tree/main/task-loops
jerop added a commit to jerop/community that referenced this issue Oct 27, 2021
This change adds the problem statement for Matrix. It scopes the
problem, describes the use cases, and identifies the goals, the
requirements for the solution, and related work in other continuous
delivery systems.

Today, users cannot supply varying `Parameters` to execute a
`PipelineTask`, that is, fan out a `PipelineTasks`.

To solve this problem, this TEP aims to enable executing the same
`PipelineTask` with different combinations of `Parameters` specified
in a `matrix`. `TaskRuns` or `Runs` will be created with variables
substituted with each combination of the `Parameters` in the `matrix`.

This `matrix` construct will enable users to specify concise but
powerful `Pipelines`. Moreover, it would improve the composability,
scalability, flexibility and reusability of *Tekton Pipelines*.

References:
- [Task Loops Experimental Project][task-loops]
- Issues:
  - tektoncd/pipeline#2050
  - tektoncd/pipeline#4097

[task-loops]: https://github.com/tektoncd/experimental/tree/main/task-loops
jerop added a commit to jerop/community that referenced this issue Oct 28, 2021
This change adds the problem statement for Matrix. It scopes the
problem, describes the use cases, and identifies the goals, the
requirements for the solution, and related work in other continuous
delivery systems.

Today, users cannot supply varying `Parameters` to execute a
`PipelineTask`, that is, fan out a `PipelineTasks`.

To solve this problem, this TEP aims to enable executing the same
`PipelineTask` with different combinations of `Parameters` specified
in a `matrix`. `TaskRuns` or `Runs` will be created with variables
substituted with each combination of the `Parameters` in the `matrix`.

This `matrix` construct will enable users to specify concise but
powerful `Pipelines`. Moreover, it would improve the composability,
scalability, flexibility and reusability of *Tekton Pipelines*.

https://github.com/jerop/community/blob/looping/teps/0090-matrix.md

References:
- [Task Loops Experimental Project][task-loops]
- Issues:
  - tektoncd/pipeline#2050
  - tektoncd/pipeline#4097

[task-loops]: https://github.com/tektoncd/experimental/tree/main/task-loops
jerop added a commit to jerop/community that referenced this issue Oct 28, 2021
This change adds the problem statement for Matrix. It scopes the
problem, describes the use cases, and identifies the goals, the
requirements for the solution, and related work in other continuous
delivery systems.

Today, users cannot supply varying `Parameters` to execute a
`PipelineTask`, that is, fan out a `PipelineTasks`.

To solve this problem, this TEP aims to enable executing the same
`PipelineTask` with different combinations of `Parameters` specified
in a `matrix`. `TaskRuns` or `Runs` will be created with variables
substituted with each combination of the `Parameters` in the `matrix`.

This `matrix` construct will enable users to specify concise but
powerful `Pipelines`. Moreover, it would improve the composability,
scalability, flexibility and reusability of *Tekton Pipelines*.

https://github.com/jerop/community/blob/looping/teps/0090-matrix.md

References:
- [Task Loops Experimental Project][task-loops]
- Issues:
  - tektoncd/pipeline#2050
  - tektoncd/pipeline#4097

[task-loops]: https://github.com/tektoncd/experimental/tree/main/task-loops
jerop added a commit to jerop/community that referenced this issue Nov 8, 2021
This change adds the problem statement for Matrix. It scopes the
problem, describes the use cases, and identifies the goals, the
requirements for the solution, and related work in other continuous
delivery systems.

Today, users cannot supply varying `Parameters` to execute a
`PipelineTask`, that is, fan out a `PipelineTasks`.

To solve this problem, this TEP aims to enable executing the same
`PipelineTask` with different combinations of `Parameters` specified
in a `matrix`. `TaskRuns` or `Runs` will be created with variables
substituted with each combination of the `Parameters` in the `matrix`.

This `matrix` construct will enable users to specify concise but
powerful `Pipelines`. Moreover, it would improve the composability,
scalability, flexibility and reusability of *Tekton Pipelines*.

https://github.com/jerop/community/blob/looping/teps/0090-matrix.md

References:
- [Task Loops Experimental Project][task-loops]
- Issues:
  - tektoncd/pipeline#2050
  - tektoncd/pipeline#4097

[task-loops]: https://github.com/tektoncd/experimental/tree/main/task-loops
jerop added a commit to jerop/community that referenced this issue Nov 8, 2021
This change adds the problem statement for Matrix. It scopes the
problem, describes the use cases, and identifies the goals, the
requirements for the solution, and related work in other continuous
delivery systems.

Today, users cannot supply varying `Parameters` to execute a
`PipelineTask`, that is, fan out a `PipelineTasks`.

To solve this problem, this TEP aims to enable executing the same
`PipelineTask` with different combinations of `Parameters` specified
in a `matrix`. `TaskRuns` or `Runs` will be created with variables
substituted with each combination of the `Parameters` in the `matrix`.

This `matrix` construct will enable users to specify concise but
powerful `Pipelines`. Moreover, it would improve the composability,
scalability, flexibility and reusability of *Tekton Pipelines*.

https://github.com/jerop/community/blob/looping/teps/0090-matrix.md

References:
- [Task Loops Experimental Project][task-loops]
- Issues:
  - tektoncd/pipeline#2050
  - tektoncd/pipeline#4097

[task-loops]: https://github.com/tektoncd/experimental/tree/main/task-loops
jerop added a commit to jerop/community that referenced this issue Nov 8, 2021
This change adds the problem statement for Matrix. It scopes the
problem, describes the use cases, and identifies the goals, the
requirements for the solution, and related work in other continuous
delivery systems.

Today, users cannot supply varying `Parameters` to execute a
`PipelineTask`, that is, fan out a `PipelineTasks`.

To solve this problem, this TEP aims to enable executing the same
`PipelineTask` with different combinations of `Parameters` specified
in a `matrix`. `TaskRuns` or `Runs` will be created with variables
substituted with each combination of the `Parameters` in the `matrix`.

This `matrix` construct will enable users to specify concise but
powerful `Pipelines`. Moreover, it would improve the composability,
scalability, flexibility and reusability of *Tekton Pipelines*.

https://github.com/jerop/community/blob/looping/teps/0090-matrix.md

References:
- [Task Loops Experimental Project][task-loops]
- Issues:
  - tektoncd/pipeline#2050
  - tektoncd/pipeline#4097

[task-loops]: https://github.com/tektoncd/experimental/tree/main/task-loops
jerop added a commit to jerop/community that referenced this issue Nov 8, 2021
This change adds the problem statement for Matrix. It scopes the
problem, describes the use cases, and identifies the goals, the
requirements for the solution, and related work in other continuous
delivery systems.

Today, users cannot supply varying `Parameters` to execute a
`PipelineTask`, that is, fan out a `PipelineTasks`.

To solve this problem, this TEP aims to enable executing the same
`PipelineTask` with different combinations of `Parameters` specified
in a `matrix`. `TaskRuns` or `Runs` will be created with variables
substituted with each combination of the `Parameters` in the `matrix`.

This `matrix` construct will enable users to specify concise but
powerful `Pipelines`. Moreover, it would improve the composability,
scalability, flexibility and reusability of *Tekton Pipelines*.

https://github.com/jerop/community/blob/looping/teps/0090-matrix.md

References:
- [Task Loops Experimental Project][task-loops]
- Issues:
  - tektoncd/pipeline#2050
  - tektoncd/pipeline#4097

[task-loops]: https://github.com/tektoncd/experimental/tree/main/task-loops
jerop added a commit to jerop/community that referenced this issue Nov 12, 2021
This change adds the problem statement for Matrix. It scopes the
problem, describes the use cases, and identifies the goals, the
requirements for the solution, and related work in other continuous
delivery systems.

Today, users cannot supply varying `Parameters` to execute a
`PipelineTask`, that is, fan out a `PipelineTasks`.

To solve this problem, this TEP aims to enable executing the same
`PipelineTask` with different combinations of `Parameters` specified
in a `matrix`. `TaskRuns` or `Runs` will be created with variables
substituted with each combination of the `Parameters` in the `matrix`.

This `matrix` construct will enable users to specify concise but
powerful `Pipelines`. Moreover, it would improve the composability,
scalability, flexibility and reusability of *Tekton Pipelines*.

https://github.com/jerop/community/blob/looping/teps/0090-matrix.md

References:
- [Task Loops Experimental Project][task-loops]
- Issues:
  - tektoncd/pipeline#2050
  - tektoncd/pipeline#4097

[task-loops]: https://github.com/tektoncd/experimental/tree/main/task-loops
tekton-robot pushed a commit to tektoncd/community that referenced this issue Nov 12, 2021
This change adds the problem statement for Matrix. It scopes the
problem, describes the use cases, and identifies the goals, the
requirements for the solution, and related work in other continuous
delivery systems.

Today, users cannot supply varying `Parameters` to execute a
`PipelineTask`, that is, fan out a `PipelineTasks`.

To solve this problem, this TEP aims to enable executing the same
`PipelineTask` with different combinations of `Parameters` specified
in a `matrix`. `TaskRuns` or `Runs` will be created with variables
substituted with each combination of the `Parameters` in the `matrix`.

This `matrix` construct will enable users to specify concise but
powerful `Pipelines`. Moreover, it would improve the composability,
scalability, flexibility and reusability of *Tekton Pipelines*.

https://github.com/jerop/community/blob/looping/teps/0090-matrix.md

References:
- [Task Loops Experimental Project][task-loops]
- Issues:
  - tektoncd/pipeline#2050
  - tektoncd/pipeline#4097

[task-loops]: https://github.com/tektoncd/experimental/tree/main/task-loops
@tekton-robot
Copy link
Collaborator

Stale issues rot after 30d of inactivity.
Mark the issue as fresh with /remove-lifecycle rotten with a justification.
Rotten issues close after an additional 30d of inactivity.
If this issue is safe to close now please do so with /close with a justification.
If this issue should be exempted, mark the issue as frozen with /lifecycle frozen with a justification.

/lifecycle rotten

Send feedback to tektoncd/plumbing.

@tekton-robot tekton-robot added lifecycle/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed. and removed lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. labels Nov 19, 2021
@ghost
Copy link

ghost commented Nov 30, 2021

/lifecycle frozen

Adding frozen lifecycle given its relevance to the array results & indexing TEP.

@tekton-robot tekton-robot added lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness. and removed lifecycle/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed. labels Nov 30, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/api Indicates an issue or PR that deals with the API. kind/feature Categorizes issue or PR as related to a new feature. lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness.
Projects
Status: Todo
Development

No branches or pull requests

3 participants