github.com/nektos/act@v0.2.63/pkg/runner/testdata/.github/workflows/local-reusable-workflow.yml (about)

     1  name: reusable
     2  
     3  on:
     4    workflow_call:
     5      inputs:
     6        string_required:
     7          required: true
     8          type: string
     9        string_optional:
    10          required: false
    11          type: string
    12          default: string
    13        bool_required:
    14          required: true
    15          type: boolean
    16        bool_optional:
    17          required: false
    18          type: boolean
    19          default: true
    20        number_required:
    21          required: true
    22          type: number
    23        number_optional:
    24          required: false
    25          type: number
    26          default: ${{ 1 }}
    27      outputs:
    28        output:
    29          description: "A workflow output"
    30          value: ${{ jobs.reusable_workflow_job.outputs.job-output }}
    31  
    32  jobs:
    33    reusable_workflow_job:
    34      runs-on: ubuntu-latest
    35      steps:
    36      - name: test required string
    37        run: |
    38          echo inputs.string_required=${{ inputs.string_required }}
    39          [[ "${{ inputs.string_required == 'string' }}" = "true" ]] || exit 1
    40  
    41      - name: test optional string
    42        run: |
    43          echo inputs.string_optional=${{ inputs.string_optional }}
    44          [[ "${{ inputs.string_optional == 'string' }}" = "true" ]] || exit 1
    45  
    46      - name: test required bool
    47        run: |
    48          echo inputs.bool_required=${{ inputs.bool_required }}
    49          [[ "${{ inputs.bool_required }}" = "true" ]] || exit 1
    50  
    51      - name: test optional bool
    52        run: |
    53          echo inputs.bool_optional=${{ inputs.bool_optional }}
    54          [[ "${{ inputs.bool_optional }}" = "true" ]] || exit 1
    55  
    56      - name: test required number
    57        run: |
    58          echo inputs.number_required=${{ inputs.number_required }}
    59          [[ "${{ inputs.number_required == 1 }}" = "true" ]] || exit 1
    60  
    61      - name: test optional number
    62        run: |
    63          echo inputs.number_optional=${{ inputs.number_optional }}
    64          [[ "${{ inputs.number_optional == 1 }}" = "true" ]] || exit 1
    65  
    66      - name: test secret
    67        run: |
    68          echo secrets.secret=${{ secrets.secret }}
    69          [[ "${{ secrets.secret == 'keep_it_private' }}" = "true" ]] || exit 1
    70  
    71      - name: test github.event_name is never workflow_call
    72        run: |
    73          echo github.event_name=${{ github.event_name }}
    74          [[ "${{ github.event_name != 'workflow_call' }}" = "true" ]] || exit 1
    75  
    76      - name: test output
    77        id: output_test
    78        run: |
    79          echo "value=${{ inputs.string_required }}" >> $GITHUB_OUTPUT
    80  
    81      outputs:
    82        job-output: ${{ steps.output_test.outputs.value }}