-
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
WIP: Initial implementation of step scripts #1344
Conversation
This adds a `script` field to the `Step` type which, when specified, results in a temporary generated executable script file being generated and invoked containing the specified script items. The result is an easier-to-use scripting option for users who just want to invoke simple scripts. Generated scripts should be an implpementation detail and will not persist between steps.
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: ImJasonH 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 |
The following is the coverage report on pkg/.
|
- name: FOO | ||
value: foooooooo | ||
script: | ||
- '#!/bin/bash' |
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.
This makes me wonder whether Script
shouldn't just be a string
, which can contain newlines.
That would change these to:
steps:
- image: ubuntu
env:
- name: FOO
value: foooooooo
script: |
#!/bin/bash
set -euxo pipefail
echo "Hello from Bash!"
echo FOO is ${FOO}
for i in {1..10}; do
echo line $i
done
- image: node
script: |
#!/usr/bin/env node
console.log("Hello from Node!")
- image: python
script: |
#!/usr/bin/env python3
print("Hello from Python!")
- image: perl
script: |
#!/usr/bin/perl
print "Hello from Perl!"
...which I think is a bit clearer. We'd only lose the ability to have YAML comments inline, but that's probably not worth it.
Closing in favor of #1432 |
This adds a
script
field to theStep
type which, when specified,results in a temporary generated executable script file being generated
and invoked containing the specified script items.
The result is an easier-to-use scripting option for users who just want
to invoke simple scripts. Generated scripts should be an implpementation
detail and will not persist between steps.
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.
Fixes #781
Release Notes