end-to-end tests for https://codeberg.org/forgejo/forgejo/pulls/10647 Reviewed-on: https://code.forgejo.org/forgejo/end-to-end/pulls/1362 Co-authored-by: Mathieu Fenniak <mathieu@fenniak.net> Co-committed-by: Mathieu Fenniak <mathieu@fenniak.net>
74 lines
2 KiB
YAML
74 lines
2 KiB
YAML
on:
|
|
workflow_call:
|
|
inputs:
|
|
input1:
|
|
required: true
|
|
type: string
|
|
input3:
|
|
required: true
|
|
type: string
|
|
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: verify workflow inputs
|
|
run: |
|
|
set -x
|
|
test "top-level-input1" = "${{ inputs.input1 }}"
|
|
test "dynamic output" = "${{ inputs.input3 }}"
|
|
- name: verify workflow secrets
|
|
run: |
|
|
set -x
|
|
test "AAAA" = "${{ secrets.secret1 }}"
|
|
test "BBBB1234" = "${{ secrets.secret2 }}"
|
|
test "" = "${{ secrets.secret3 }}" # wasn't specified to the workflow, should be absent
|
|
- name: indicate callee-1 hit
|
|
run: touch /srv/example/callee-1
|
|
|
|
layer-2:
|
|
needs: [callee-1]
|
|
uses: ./.forgejo/workflows/reusable-layer-2.yml
|
|
with:
|
|
input1: ${{ inputs.input1 }}
|
|
input2: mid-level-input2
|
|
input3: ${{ inputs.input3 }}
|
|
input4: ${{ needs.callee-1.outputs.job-output }}
|
|
secrets: inherit
|
|
|
|
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
|