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:
parent
c865a56c5a
commit
149cc19908
|
@ -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)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue