Skip to content

Commit

Permalink
Merge pull request #162 from kpenfound/optional_call
Browse files Browse the repository at this point in the history
Alias args to call and make call optional
  • Loading branch information
kpenfound authored Nov 11, 2024
2 parents a320953 + b61bdaa commit e3a863e
Show file tree
Hide file tree
Showing 3 changed files with 40 additions and 4 deletions.
29 changes: 29 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -93,3 +93,32 @@ jobs:
echo "does not match"
exit 1
fi
call:
runs-on: "ubuntu-latest"
steps:
- uses: actions/checkout@v4
- 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
nocall:
runs-on: "ubuntu-latest"
steps:
- uses: actions/checkout@v4
- name: "Only Install"
uses: ./
- name: "Test Install"
run: |
dagger core version
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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 }}
```
Expand Down Expand Up @@ -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' |
11 changes: 9 additions & 2 deletions action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down Expand Up @@ -70,22 +74,25 @@ 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)
ARGS="${{ inputs.args }}"
ARGS="${ARGS:-"${{ inputs.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}"
$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)
Expand Down

0 comments on commit e3a863e

Please sign in to comment.