In the "reusable workflow expansion" case (that is, when `runs-on` is not provided), this PR adds tests for `on.workflow_call.outputs`, and expands the test case to have two layers of reusable workflows to cover quirky behaviours that were discovered during manual testing. Manual invocation successful:  Reviewed-on: https://code.forgejo.org/forgejo/end-to-end/pulls/1322 Co-authored-by: Mathieu Fenniak <mathieu@fenniak.net> Co-committed-by: Mathieu Fenniak <mathieu@fenniak.net>
49 lines
1.2 KiB
YAML
49 lines
1.2 KiB
YAML
on:
|
|
workflow_call:
|
|
outputs:
|
|
output1:
|
|
value: ${{ jobs.callee-1.outputs.job-output }}
|
|
output2:
|
|
value: ${{ jobs.callee-2.outputs.job-output }}
|
|
output3:
|
|
value: ${{ jobs.layer-2.outputs.output3 }}
|
|
output4:
|
|
value: ${{ jobs.layer-2.outputs.output4 }}
|
|
|
|
jobs:
|
|
callee-1:
|
|
runs-on: docker
|
|
outputs:
|
|
job-output: callee-1-output
|
|
container:
|
|
image: data.forgejo.org/oci/node:22-bookworm
|
|
volumes:
|
|
- /srv/example:/srv/example
|
|
steps:
|
|
- name: indicate callee-1 hit
|
|
run: touch /srv/example/callee-1
|
|
|
|
layer-2:
|
|
uses: ./.forgejo/workflows/reusable-layer-2.yml
|
|
|
|
callee-2:
|
|
needs: [callee-1, layer-2]
|
|
runs-on: docker
|
|
outputs:
|
|
job-output: callee-2-output
|
|
container:
|
|
image: data.forgejo.org/oci/node:22-bookworm
|
|
volumes:
|
|
- /srv/example:/srv/example
|
|
steps:
|
|
- name: verify callee-1 completed
|
|
run: |
|
|
set -x
|
|
test -f /srv/example/callee-1
|
|
- name: verify layer-2 completed
|
|
run: |
|
|
set -x
|
|
test -f /srv/example/callee-3
|
|
test -f /srv/example/callee-4
|
|
- name: indicate callee-2 hit
|
|
run: touch /srv/example/callee-2
|