-
Notifications
You must be signed in to change notification settings - Fork 1.8k
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
Allow script mode to accept scripts that do not start with a shebang. #1691
Conversation
The following is the coverage report on pkg/.
|
The following is the coverage report on pkg/.
|
The following is the coverage report on pkg/.
|
pkg/pod/script.go
Outdated
lines := strings.Split(s.Script, "\n") | ||
hasShebang := false | ||
for _, l := range lines { | ||
if strings.TrimSpace(l) == "" { |
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.
Does TrimSpace ignore blank lines? I'd love to be able to avoid splitting all the lines just to find the first non-empty one.
available within the step's container. | ||
Scripts that do not start with a shebang | ||
[shebang](https://en.wikipedia.org/wiki/Shebang_(Unix)) line will use a default | ||
value of `#!/bin/sh`, although users can override this by starting their script |
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.
small suggestion, feel free to ignore since this is a dockerism, but #!/usr/bin/env sh
will account for situations where sh is in /usr/bin or /usr/sbin of the image instead of /bin
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.
Yeah, I considered that but decided to stick with the docker version, I suppose there might be images with sh but not env?
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.
Yeah, totally fair point.
This prefixes scripts that do not start with a shebang with a default value of "/bin/sh". This matches the default entrypoint/shell for docker containers, and should help prevent an easy-to-make mistake.
The following is the coverage report on pkg/.
|
/lgtm |
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.
/lgtm
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: vdemeester The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
Changes
This prefixes scripts that do not start with a shebang with a default value of "/bin/sh".
This matches the default entrypoint/shell for docker containers, and should help
prevent an easy-to-make mistake.
Submitter Checklist
These are the criteria that every PR should meet, please check them off as you
review them:
See the contribution guide for more details.
Double check this list of stuff that's easy to miss:
cmd
dir, please updatethe release Task to build and release this image.
Reviewer Notes
If API changes are included, additive changes must be approved by at least two OWNERS and backwards incompatible changes must be approved by more than 50% of the OWNERS, and they must first be added in a backwards compatible way.
Release Notes