summaryrefslogtreecommitdiffstats
path: root/pkg/runner/testdata/.github/workflows/local-reusable-workflow.yml
blob: d32dc5b8ea4ba6edf85c5a3ac3bca598b3078575 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
name: reusable

on:
  workflow_call:
    inputs:
      string_required:
        required: true
        type: string
      string_optional:
        required: false
        type: string
        default: string
      bool_required:
        required: true
        type: boolean
      bool_optional:
        required: false
        type: boolean
        default: true
      number_required:
        required: true
        type: number
      number_optional:
        required: false
        type: number
        default: ${{ 1 }}
    outputs:
      output:
        description: "A workflow output"
        value: ${{ jobs.reusable_workflow_job.outputs.job-output }}

jobs:
  reusable_workflow_job:
    runs-on: ubuntu-latest
    steps:
    - name: test required string
      run: |
        echo inputs.string_required=${{ inputs.string_required }}
        [[ "${{ inputs.string_required == 'string' }}" = "true" ]] || exit 1

    - name: test optional string
      run: |
        echo inputs.string_optional=${{ inputs.string_optional }}
        [[ "${{ inputs.string_optional == 'string' }}" = "true" ]] || exit 1

    - name: test required bool
      run: |
        echo inputs.bool_required=${{ inputs.bool_required }}
        [[ "${{ inputs.bool_required }}" = "true" ]] || exit 1

    - name: test optional bool
      run: |
        echo inputs.bool_optional=${{ inputs.bool_optional }}
        [[ "${{ inputs.bool_optional }}" = "true" ]] || exit 1

    - name: test required number
      run: |
        echo inputs.number_required=${{ inputs.number_required }}
        [[ "${{ inputs.number_required == 1 }}" = "true" ]] || exit 1

    - name: test optional number
      run: |
        echo inputs.number_optional=${{ inputs.number_optional }}
        [[ "${{ inputs.number_optional == 1 }}" = "true" ]] || exit 1

    - name: test secret
      run: |
        echo secrets.secret=${{ secrets.secret }}
        [[ "${{ secrets.secret == 'keep_it_private' }}" = "true" ]] || exit 1

    - name: test github.event_name is never workflow_call
      run: |
        echo github.event_name=${{ github.event_name }}
        [[ "${{ github.event_name != 'workflow_call' }}" = "true" ]] || exit 1

    - name: test output
      id: output_test
      run: |
        echo "value=${{ inputs.string_required }}" >> $GITHUB_OUTPUT

    outputs:
      job-output: ${{ steps.output_test.outputs.value }}