Reviewed-on: https://code.forgejo.org/forgejo/end-to-end/pulls/1261 Reviewed-by: earl-warren <earl-warren@noreply.code.forgejo.org> Co-authored-by: Mathieu Fenniak <mathieu@fenniak.net> Co-committed-by: Mathieu Fenniak <mathieu@fenniak.net>
49 lines
1.5 KiB
YAML
49 lines
1.5 KiB
YAML
on: [push]
|
|
jobs:
|
|
define-matrix:
|
|
runs-on: docker
|
|
outputs:
|
|
scalar-value: ${{ steps.define.outputs.scalar }}
|
|
array-value: ${{ steps.define.outputs.array }}
|
|
matrix-value: ${{ steps.define.outputs.matrix }}
|
|
steps:
|
|
- id: define
|
|
run: |
|
|
echo 'scalar=scalar value' >> "$FORGEJO_OUTPUT"
|
|
echo 'array=["value 1", "value 2"]' >> "$FORGEJO_OUTPUT"
|
|
echo 'matrix={"dimension-1": ["d1 v1", "d1 v2"], "dimension-2": ["d2 v1", "d2 v2"]}' >> "$GITHUB_OUTPUT"
|
|
|
|
scalar-job:
|
|
runs-on: docker
|
|
needs: define-matrix
|
|
strategy:
|
|
matrix:
|
|
scalar:
|
|
- "${{ needs.define-matrix.outputs.scalar-value }}"
|
|
- hard-coded value
|
|
steps:
|
|
- run: |
|
|
set -x
|
|
[ "${{ matrix.scalar }}" = "scalar value" ] || [ "${{ matrix.scalar }}" = "hard-coded value" ] || exit 1
|
|
|
|
array-job:
|
|
runs-on: docker
|
|
needs: define-matrix
|
|
strategy:
|
|
matrix:
|
|
array: ${{ fromJSON(needs.define-matrix.outputs.array-value) }}
|
|
steps:
|
|
- run: |
|
|
set -x
|
|
[ "${{ matrix.array }}" = "value 1" ] || [ "${{ matrix.array }}" = "value 2" ] || exit 1
|
|
|
|
matrix-job:
|
|
runs-on: docker
|
|
needs: define-matrix
|
|
strategy:
|
|
matrix: ${{ fromJSON(needs.define-matrix.outputs.matrix-value) }}
|
|
steps:
|
|
- run: |
|
|
set -x
|
|
[ "${{ matrix.dimension-1 }}" = "d1 v1" ] || [ "${{ matrix.dimension-1 }}" = "d1 v2" ] || exit 1
|
|
[ "${{ matrix.dimension-2 }}" = "d2 v1" ] || [ "${{ matrix.dimension-2 }}" = "d2 v2" ] || exit 1
|