alias call to args and make it optional

Signed-off-by: kpenfound <kyle@dagger.io>
This commit is contained in:
kpenfound 2024-11-10 22:08:23 -07:00
parent a320953b08
commit 367e5106ee
No known key found for this signature in database
GPG key ID: 70FD4F54AFB76D11
3 changed files with 26 additions and 4 deletions

View file

@ -93,3 +93,19 @@ jobs:
echo "does not match"
exit 1
fi
- name: "Test call"
id: test-call
uses: ./
with:
module: github.com/shykes/daggerverse/hello@v0.3.0
call: hello
- name: "Test call (check)"
run: |
target='${{ steps.test-call.outputs.output }}'
if [[ "$target" == "hello, world!" ]]; then
echo "matches"
exit 0
else
echo "does not match"
exit 1
fi

View file

@ -8,9 +8,8 @@
- name: Hello
uses: dagger/dagger-for-github@v6
with:
verb: call
module: github.com/shykes/daggerverse/hello
args: hello --greeting Hola --name Jeremy
call: hello --greeting Hola --name Jeremy
cloud-token: ${{ secrets.DAGGER_CLOUD_TOKEN }}
```
@ -43,4 +42,5 @@ By setting the version to `latest`, this action will install the latest version
| `cloud-token` | Dagger Cloud Token | false | '' |
| `module` | Dagger module to call. Local or Git | false | '' |
| `args` | Arguments to pass to CLI | false | '' |
| `call` | Arguments to pass to CLI (Alias for args) | false | '' |
| `engine-stop` | Whether to stop the Dagger Engine after this run | false | 'true' |

View file

@ -37,6 +37,10 @@ inputs:
description: "Whether to stop the Dagger Engine after this run"
required: false
default: "true"
call:
description: "Function and arguments for dagger call"
required: false
default: ""
outputs:
output:
description: "Job output"
@ -70,22 +74,24 @@ runs:
| BIN_DIR=${prefix_dir}/bin DAGGER_VERSION="$VERSION" DAGGER_COMMIT="$COMMIT" sh
- id: exec
if: inputs.call != '' || inputs.args != ''
shell: bash
env:
INPUT_MODULE: ${{ inputs.module }}
run: |
tmpout=$(mktemp)
INPUT_ARGS="${ INPUT_ARGS:-INPUT_CALL }"
cd ${{ inputs.workdir }} && { \
DAGGER_CLOUD_TOKEN=${{ inputs.cloud-token }} \
dagger \
${{ inputs.dagger-flags }} \
${{ inputs.verb }} \
${INPUT_MODULE:+-m $INPUT_MODULE} \
${{ inputs.args }}; } | tee "${tmpout}"
$INPUT_ARGS; } | tee "${tmpout}"
(echo -n "stdout=" && cat "${tmpout}") >> "$GITHUB_OUTPUT"
- if: inputs.engine-stop == 'true'
- if: (inputs.call != '' || inputs.args != '') && inputs.engine-stop == 'true'
shell: bash
run: |
mapfile -t containers < <(docker ps --filter name="dagger-engine-*" -q)