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
|
name: "Workflow/Dispatch/Group"
defaults:
run:
shell: bash --noprofile --norc -euo pipefail {0}
on:
workflow_call:
inputs:
name: {type: string, required: true}
jobs: {type: string, required: true}
permissions:
contents: read
jobs:
standlone-jobs:
# This is an internal dispatch job and the name is not important.
# Give the job a short and unique name, otherwise github will bloat the job name with the matrix values.
# This keeps the UI from getting cluttered.
name: "s.${{ matrix.id }}"
if: ${{ fromJSON(inputs.jobs)['standalone'] != null }}
permissions:
id-token: write
contents: read
strategy:
fail-fast: false
matrix:
include: ${{fromJSON(inputs.jobs)['standalone']}}
uses: ./.github/workflows/workflow-dispatch-job.yml
with:
name: ${{ matrix.name }}
runner: ${{ matrix.runner }}
image: ${{ matrix.image }}
command: ${{ matrix.command }}
id: ${{ matrix.id }}
two-stage-jobs:
# This is an internal dispatch job and the name is not important.
# Give the job a short and unique name, otherwise github will bloat the job name with the matrix values.
# This keeps the UI from getting cluttered.
name: "t.${{ matrix.id }}"
if: ${{ fromJSON(inputs.jobs)['two_stage'] != null }}
permissions:
id-token: write
contents: read
strategy:
fail-fast: false
matrix:
include: ${{fromJSON(inputs.jobs)['two_stage']}}
uses: ./.github/workflows/workflow-dispatch-two-stage.yml
with:
producers: ${{ toJSON(matrix.producers) }}
consumers: ${{ toJSON(matrix.consumers) }}
|