--- name: "Test Composite Action" description: "Test action uses composite" inputs: test_input_optional: description: Test runs: using: "composite" steps: # The output of actions/setup-node@v2 seems to fail the workflow # - uses: actions/setup-node@v2 # 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 - 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