| 1234567891011121314151617181920212223242526272829303132333435363738394041 |
- name: MatrixCreator
- run-name: "Creates supported family matrix for other jobs"
- on:
- workflow_call:
- outputs:
- matrix:
- description: "Supported family for job matrixing"
- value: ${{ jobs.CreateMatrix.outputs.matrix }}
- jobs:
- CreateMatrix:
- runs-on: ubuntu-latest
- outputs:
- matrix: ${{ steps.create-matrix.outputs.matrix }}
- steps:
- - name: Checkout repo
- id: checkout
- uses: actions/checkout@v4
- - name: Get uppercase no-extension ordered file names
- id: find-files
- run: |
- files=$(find cmake/stm32/ -name '*.cmake' -exec sh -c "basename {} | cut -f1 -d '.' | tr '[:lower:]' '[:upper:]'" \; | sort)
- echo "files=\"${files[@]}\"" >> $GITHUB_OUTPUT
- - name: Filter out non family files
- id: get-famillies
- run: |
- files=${{ steps.find-files.outputs.files }}
- deletes="COMMON DEVICES LINKER_LD"
- for del in $deletes; do
- files=(${files[@]/$del})
- done
- echo "files=\"${files[@]\"" >> $GITHUB_OUTPUT
- - name: Create matrix
- id: create-matrix
- run: |
- echo "matrix={\"family\":$(jq --compact-output --null-input '$ARGS.positional' --args -- ${{ steps.get-famillies.outputs.files }})}" >> $GITHUB_OUTPUT
|