Skip to content

refactor(runner): pass argv through to container without re-quoting#3428

Merged
mkoura merged 1 commit intomasterfrom
runc_pass_arguments
Apr 22, 2026
Merged

refactor(runner): pass argv through to container without re-quoting#3428
mkoura merged 1 commit intomasterfrom
runc_pass_arguments

Conversation

@mkoura
Copy link
Copy Markdown
Collaborator

@mkoura mkoura commented Apr 22, 2026

runc.sh forwards "$@" straight to the container and entrypoint.sh uses exec env "$@" so leading NAME=value tokens become env vars for the command. Callers no longer need to wrap the whole command in a single quoted string, e.g.

./runner/runc.sh -- MARKEXPR='dbsync or smash' ./runner/regression.sh

Shell features (pipes, redirections, expansion) are no longer applied implicitly; wrap with -- bash -c '...' when needed.

@mkoura mkoura requested a review from saratomaz as a code owner April 22, 2026 09:25
@mkoura mkoura requested review from Copilot and removed request for saratomaz April 22, 2026 09:25
Copy link
Copy Markdown
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

Refactors the runner container entrypoint flow so commands are forwarded into the container as an argv vector (instead of being re-concatenated and executed via bash -c), enabling callers to pass NAME=value prefixes naturally without re-quoting.

Changes:

  • Update runner/runc.sh to pass "$@" through to the container (and adjust help text accordingly).
  • Update runner/entrypoint.sh to execute the provided argv via env so leading NAME=value tokens become environment variables for the command.

Reviewed changes

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

File Description
runner/runc.sh Stops concatenating the command into a single string; passes argv through to container and updates usage text/logging.
runner/entrypoint.sh Replaces bash -c "$*" with exec env "$@" to apply leading NAME=value tokens as env vars.

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

Comment thread runner/runc.sh
Comment thread runner/entrypoint.sh Outdated
runc.sh forwards "$@" straight to the container and entrypoint.sh uses
`exec env "$@"` so leading NAME=value tokens become env vars for the
command.  Callers no longer need to wrap the whole command in a single
quoted string, e.g.

    ./runner/runc.sh -- MARKEXPR='dbsync or smash' ./runner/regression.sh

Shell features (pipes, redirections, expansion) are no longer applied
implicitly; wrap with `-- bash -c '...'` when needed.
@mkoura mkoura force-pushed the runc_pass_arguments branch from 3614f27 to d4f442d Compare April 22, 2026 09:36
@mkoura mkoura merged commit cece839 into master Apr 22, 2026
1 check passed
@mkoura mkoura deleted the runc_pass_arguments branch April 22, 2026 09:39
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.

2 participants