mirror of https://github.com/nektos/act
64 lines
2.5 KiB
YAML
64 lines
2.5 KiB
YAML
---
|
|
name: "Test Composite Action"
|
|
description: "Test action uses composite"
|
|
|
|
inputs:
|
|
test_input_optional:
|
|
description: Test
|
|
|
|
runs:
|
|
using: "composite"
|
|
steps:
|
|
- uses: actions/setup-node@v3
|
|
with:
|
|
node-version: '16'
|
|
- run: |
|
|
console.log(process.version);
|
|
console.log("Hi from node");
|
|
console.log("${{ inputs.test_input_optional }}");
|
|
if("${{ inputs.test_input_optional }}" !== "Test") {
|
|
console.log("Invalid input test_input_optional expected \"Test\" as value");
|
|
process.exit(1);
|
|
}
|
|
if(!process.version.startsWith('v16')) {
|
|
console.log("Expected node v16, but got " + process.version);
|
|
process.exit(1);
|
|
}
|
|
shell: node {0}
|
|
- uses: ./uses-composite/composite_action
|
|
id: composite
|
|
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'
|
|
secret_input: ${{inputs.test_input_optional}}
|
|
env:
|
|
secret_input: ${{inputs.test_input_optional}}
|
|
- run: |
|
|
echo "steps.composite.outputs.test_output=${{ steps.composite.outputs.test_output }}"
|
|
[[ "${{steps.composite.outputs.test_output == 'test_output_value'}}" = "true" ]] || exit 1
|
|
shell: bash
|
|
- run: |
|
|
echo "steps.composite.outputs.secret_output=${{ steps.composite.outputs.secret_output }}"
|
|
[[ "${{steps.composite.outputs.secret_output == format('{0}/{0}', inputs.test_input_optional)}}" = "true" ]] || exit 1
|
|
shell: bash
|
|
# Now test again with default values
|
|
- name: ./uses-composite/composite_action with defaults
|
|
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'
|
|
|
|
- run: |
|
|
echo "steps.composite2.outputs.test_output=${{ steps.composite2.outputs.test_output }}"
|
|
[[ "${{steps.composite2.outputs.test_output == 'test_output_value'}}" = "true" ]] || exit 1
|
|
shell: bash
|
|
- run: |
|
|
echo "steps.composite.outputs.secret_output=$COMPOSITE_ACTION_ENV_OUTPUT"
|
|
[[ "${{env.COMPOSITE_ACTION_ENV_OUTPUT == 'my test value' }}" = "true" ]] || exit 1
|
|
shell: bash
|