Fix defaults (composite) (#753)

* Fix defaults (composite)

* uses-composite: rely on defaults to pass

* Add test_input_required back, needs more tests

* Update Tests to test defaults carefully
This commit is contained in:
ChristopherHX 2021-07-21 15:50:43 +02:00 committed by GitHub
parent c865a56c5a
commit 149cc19908
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 50 additions and 1 deletions

View File

@ -403,7 +403,7 @@ func (sc *StepContext) vmInputs() func(*otto.Otto) {
// Set Defaults
if sc.Action != nil {
for k, input := range sc.Action.Inputs {
inputs[k] = input.Default
inputs[k] = sc.RunContext.NewExpressionEvaluator().Interpolate(input.Default)
}
}

View File

@ -591,6 +591,7 @@ func (sc *StepContext) execAsComposite(ctx context.Context, step *model.Step, _
RunContext: rcClone,
Step: step,
Env: mergeMaps(sc.Env, env),
Action: action,
}
// Required to set github.action_path

View File

@ -10,6 +10,18 @@ inputs:
description: "optional defaulted input"
required: false
default: "test_input_optional_value"
test_input_optional_with_default_overriden:
description: "optional defaulted input"
required: false
default: "test_input_optional_value"
test_input_required_with_default:
description: "Required with default, due to an old bug of github actions this is allowed"
required: true
default: "test_input_optional_value"
test_input_required_with_default_overriden:
description: "Required with default, due to an old bug of github actions this is allowed"
required: true
default: "test_input_optional_value"
outputs:
test_output:
@ -25,6 +37,9 @@ runs:
echo "---"
echo "test_input_required=${{ inputs.test_input_required }}"
echo "test_input_optional=${{ inputs.test_input_optional }}"
echo "test_input_optional_with_default_overriden=${{ inputs.test_input_optional_with_default_overriden }}"
echo "test_input_required_with_default=${{ inputs.test_input_required_with_default }}"
echo "test_input_required_with_default_overriden=${{ inputs.test_input_required_with_default_overriden }}"
echo "---"
shell: bash
@ -41,6 +56,24 @@ runs:
fi
shell: bash
- run: |
if [ "${{ inputs.test_input_optional_with_default_overriden }}" != "test_input_optional_with_default_overriden" ]; then
exit 1
fi
shell: bash
- run: |
if [ "${{ inputs.test_input_required_with_default }}" != "test_input_optional_value" ]; then
exit 1
fi
shell: bash
- run: |
if [ "${{ inputs.test_input_required_with_default_overriden }}" != "test_input_required_with_default_overriden" ]; then
exit 1
fi
shell: bash
- run: |
if [ -z "$GITHUB_ACTION_PATH" ]; then
exit 1

View File

@ -10,9 +10,24 @@ jobs:
with:
test_input_required: 'test_input_required_value'
test_input_optional: 'test_input_optional_value'
test_input_optional_with_default_overriden: 'test_input_optional_with_default_overriden'
test_input_required_with_default: 'test_input_optional_value'
test_input_required_with_default_overriden: 'test_input_required_with_default_overriden'
- if: steps.composite.outputs.test_output != "test_output_value"
run: |
echo "steps.composite.outputs.test_output=${{ steps.composite.outputs.test_output }}"
exit 1
# Now test again with default values
- uses: ./uses-composite/composite_action
id: composite2
with:
test_input_required: 'test_input_required_value'
test_input_optional_with_default_overriden: 'test_input_optional_with_default_overriden'
test_input_required_with_default_overriden: 'test_input_required_with_default_overriden'
- if: steps.composite2.outputs.test_output != "test_output_value"
run: |
echo "steps.composite.outputs.test_output=${{ steps.composite.outputs.test_output }}"
exit 1