--- 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