2022-12-15 10:45:22 -06:00
|
|
|
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"
|
2023-02-23 16:34:47 -06:00
|
|
|
value: ${{ jobs.reusable_workflow_job.outputs.job-output }}
|
2022-12-15 10:45:22 -06:00
|
|
|
|
|
|
|
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
|
|
|
|
|
2023-01-10 15:43:12 -06:00
|
|
|
- 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
|
|
|
|
|
2022-12-15 10:45:22 -06:00
|
|
|
- name: test output
|
|
|
|
id: output_test
|
|
|
|
run: |
|
|
|
|
echo "value=${{ inputs.string_required }}" >> $GITHUB_OUTPUT
|
|
|
|
|
|
|
|
outputs:
|
2023-02-23 16:34:47 -06:00
|
|
|
job-output: ${{ steps.output_test.outputs.value }}
|