-
Notifications
You must be signed in to change notification settings - Fork 28
Proper support for shell input #189
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
Conversation
Signed-off-by: kpenfound <kyle@dagger.io> assemble dagger command in new step with output Signed-off-by: kpenfound <kyle@dagger.io> fixing some inline bash Signed-off-by: kpenfound <kyle@dagger.io> wrap conditional inputs in quotes Signed-off-by: kpenfound <kyle@dagger.io> use cat for heredoc script file Signed-off-by: kpenfound <kyle@dagger.io> missing space in heredoc Signed-off-by: kpenfound <kyle@dagger.io> add tab ignore and dagger shebang Signed-off-by: kpenfound <kyle@dagger.io> use toJson and jq to safely write the shell input to a file Signed-off-by: kpenfound <kyle@dagger.io> put DAGGER_COMMAND in a variable Signed-off-by: kpenfound <kyle@dagger.io> missing semicolon for the dagger command Signed-off-by: kpenfound <kyle@dagger.io> safely evaluate if shell is set Signed-off-by: kpenfound <kyle@dagger.io> extra > in shell file write Signed-off-by: kpenfound <kyle@dagger.io> add some logging Signed-off-by: kpenfound <kyle@dagger.io> strip extra newline from jq when shell is not set Signed-off-by: kpenfound <kyle@dagger.io> debugging Signed-off-by: kpenfound <kyle@dagger.io> toJSON and jq will send null instead of empty string with no input Signed-off-by: kpenfound <kyle@dagger.io> safely handle all inputs Signed-off-by: kpenfound <kyle@dagger.io> did i fix the wrong thing? Signed-off-by: kpenfound <kyle@dagger.io> change up the approach a bit for an easier diff Signed-off-by: kpenfound <kyle@dagger.io> fix shell test Signed-off-by: kpenfound <kyle@dagger.io> single quotes around shell input Signed-off-by: kpenfound <kyle@dagger.io> try with piped input Signed-off-by: kpenfound <kyle@dagger.io> try single quotes again Signed-off-by: kpenfound <kyle@dagger.io> debug Signed-off-by: kpenfound <kyle@dagger.io> debug Signed-off-by: kpenfound <kyle@dagger.io> fix shell test Signed-off-by: kpenfound <kyle@dagger.io> does shell emit a newline? Signed-off-by: kpenfound <kyle@dagger.io> remove the trailing newline if its in stdout Signed-off-by: kpenfound <kyle@dagger.io> break the trailing output test Signed-off-by: kpenfound <kyle@dagger.io> fix shell test Signed-off-by: kpenfound <kyle@dagger.io> missed ! Signed-off-by: kpenfound <kyle@dagger.io> add comment about weird test Signed-off-by: kpenfound <kyle@dagger.io>
.github/workflows/test.yml
Outdated
| run: | | ||
| target='${{ steps.test-shell.outputs.output }}' | ||
| result='hello world! | ||
| ' # shell appears to emit an extra newline compared to call |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah, I suspect this is because echo includes a newline (while the call to shykes/daggerverse just directly returns a string without the newline).
We could either use the same test for both, or just use -n on the echo.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ah let me try with -n
| version: "latest" # semver x.y.z | ||
| ``` | ||
| ### `dagger shell` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We could make this the first option?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
maybe, i suspect call will still be the standard approach in ci configurations because of the named args
Signed-off-by: kpenfound <kyle@dagger.io>
Closes #180