Skip to content

Conversation

@hirenr
Copy link

@hirenr hirenr commented Nov 11, 2025

Please specify parts of this PR update:

  • Specification
  • Schema
  • Examples
  • Extensions
  • Use Cases
  • Community
  • CTK
  • Other

Discussion or Issue link:
Slack Discussion Link

What this PR does:
Update the run:* syntax to have a unified structure. Introduced parameters stdin, and updated arguments.

arguments as string[] passed as CLI args to run:shell / run:container / run:script underlying command
Pass stdin string via a new string property to the run:shell / run:container / run:script underlying command!

Additional information:
The advantages to the following are:

  • No injection of code into scripts (for input args etc) and other underlying code!
  • Makes the inline/referenced scripts fully portable without relying on the runtime
  • Execution and passing of data to scripts similiar, with how it would work outside of a workflow environment. For eg. when running the script directly via node command.
  • Input (via STDIN) and Output (via STDOUT, STDERR, CODE) more inline with each other.

@hirenr
Copy link
Author

hirenr commented Nov 11, 2025

ref: #1128

@cdavernas cdavernas requested a review from Copilot November 11, 2025 22:37
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR introduces unified support for stdin and arguments parameters across run:container, run:script, and run:shell tasks. The change standardizes how data is passed to these tasks by enabling input via standard input and command-line arguments, rather than injecting data into scripts.

Key Changes:

  • Changed arguments from object type to string[] array for all three run task types
  • Added new stdin property (type string) to pass data as standard input for all three run task types
  • Updated examples to demonstrate the new unified syntax

Reviewed Changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
schema/workflow.yaml Updated schema definitions for container, script, and shell tasks to support stdin string property and changed arguments from object to string array
examples/run-shell-stdin-and-arguments.yaml New example demonstrating shell task with stdin and arguments
examples/run-script-with-stdin-and-arguments.yaml New example showing script task using stdin, arguments, and environment variables
examples/run-script-with-arguments.yaml Removed old example that used object-based arguments (replaced by new unified syntax)
examples/run-container-stdin-and-arguments.yaml New example demonstrating container task with stdin and arguments
dsl-reference.md Updated documentation for all three run task types to reflect new stdin property and array-based arguments

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@ricardozanini
Copy link
Member

Can youn take a look at the CI error?

@hirenr
Copy link
Author

hirenr commented Nov 13, 2025

Fix added for CI error!

@cdavernas cdavernas requested a review from Copilot November 13, 2025 12:38
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

Copilot reviewed 6 out of 6 changed files in this pull request and generated 2 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

cdavernas and others added 2 commits November 13, 2025 06:44
Copy link
Member

@cdavernas cdavernas left a comment

Choose a reason for hiding this comment

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

LGTM! Cheers @hirenr ❤️

@ricardozanini
Copy link
Member

@hirenr @cdavernas the merge is blocked because there's no verified signatures.

@hirenr you must have a GPG key locally and verify your signature accordingly, then you can squash and sign your commits and force push again so I can merge it. We can manually approve the DCO to get a green, but github/CNCF rules won't allow it if you don't have a local GPG key.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants