actions / actions/toolkit

Support piped commands

Open
#346 2 comments 6 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement exec
Dominant language
TypeScript
Stars
5.9k
Forks
1.8k
PR merge metrics
No merged PRs in 30d

Description

Describe the enhancement
Support pipes | to redirect stdout of first toolrunner to the next one.

Code Snippet
An idea could be to have a method that connects a list of ToolRunners and start executing them ToolRunner.execWithPiping(trs: ToolRunner[])

Additional information
If i have a sequence of commands like tr1 | tr2 | tr3 i would like to redirect stdout through all tollrunners. (e.g. kubectl create deployment my-dep -o yaml --dry-run | kubectl label --local -f - environment=qa -o yaml | kubectl create -f - )

I am also available to contribute on this if there is no workaround to achieve this and you want to add this feature.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating the TypeScript ToolRunner implementation and its existing execution entry points. Evaluate how a proposed ToolRunner.execWithPiping(trs: ToolRunner[]) could pass each command's stdout to the next, using the kubectl pipeline in the issue as the expected behavior. Done means a sequence such as tr1 | tr2 | tr3 executes with each stdout connected to the next toolrunner.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
cli
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
28/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.