test: add reusable workflow expansion test for inputs (#1323)

Reviewed-on: https://code.forgejo.org/forgejo/end-to-end/pulls/1323
Co-authored-by: Mathieu Fenniak <mathieu@fenniak.net>
Co-committed-by: Mathieu Fenniak <mathieu@fenniak.net>
This commit is contained in:
Mathieu Fenniak 2025-12-30 14:49:39 +00:00 committed by Mathieu Fenniak
parent cc2a2e85f7
commit 1fbbc4277c
3 changed files with 25 additions and 0 deletions

View file

@ -1,5 +1,9 @@
on: on:
workflow_call: workflow_call:
inputs:
input1:
required: true
type: string
outputs: outputs:
output1: output1:
value: ${{ jobs.callee-1.outputs.job-output }} value: ${{ jobs.callee-1.outputs.job-output }}
@ -20,11 +24,18 @@ jobs:
volumes: volumes:
- /srv/example:/srv/example - /srv/example:/srv/example
steps: steps:
- name: verify workflow inputs
run: |
set -x
test "top-level-input1" = "${{ inputs.input1 }}"
- name: indicate callee-1 hit - name: indicate callee-1 hit
run: touch /srv/example/callee-1 run: touch /srv/example/callee-1
layer-2: layer-2:
uses: ./.forgejo/workflows/reusable-layer-2.yml uses: ./.forgejo/workflows/reusable-layer-2.yml
with:
input1: ${{ inputs.input1 }}
input2: mid-level-input2
callee-2: callee-2:
needs: [callee-1, layer-2] needs: [callee-1, layer-2]

View file

@ -1,5 +1,12 @@
on: on:
workflow_call: workflow_call:
inputs:
input1:
required: true
type: string
input2:
required: true
type: string
outputs: outputs:
output3: output3:
value: ${{ jobs.callee-3.outputs.job-output }} value: ${{ jobs.callee-3.outputs.job-output }}
@ -16,6 +23,11 @@ jobs:
volumes: volumes:
- /srv/example:/srv/example - /srv/example:/srv/example
steps: steps:
- name: verify workflow inputs
run: |
set -x
test "top-level-input1" = "${{ inputs.input1 }}"
test "mid-level-input2" = "${{ inputs.input2 }}"
- name: indicate callee-3 hit - name: indicate callee-3 hit
run: touch /srv/example/callee-3 run: touch /srv/example/callee-3

View file

@ -4,6 +4,8 @@ on:
jobs: jobs:
layer-1: layer-1:
uses: ./.forgejo/workflows/reusable-layer-1.yml uses: ./.forgejo/workflows/reusable-layer-1.yml
with:
input1: top-level-input1
verify: verify:
needs: [layer-1] needs: [layer-1]