Skip to content

Release workflow

Release workflow #1

Workflow file for this run

name: release
on:
workflow_dispatch:
pull_request:
jobs:
collect-modules:
runs-on: ubuntu-latest
outputs:
modules: ${{ steps.collect-modules.outputs.modules }}
steps:
- uses: actions/checkout@v4
- name: collect modules
id: collect-modules
run: |
modules=$(find . -name .releaserc.yaml | \
xargs -I {} dirname {} | \
jq -R '[.]' | jq -s -c 'add')
echo "modules=$modules" >> $GITHUB_OUTPUT
check:
needs: [ "collect-modules" ]
runs-on: ubuntu-latest
steps:
- name: check var
run: |
echo "----------------------------------------------------------"
echo ${{ needs.collect-modules.outputs.modules }}
echo "----------------------------------------------------------"
echo ${{ fromJson(needs.collect-modules.outputs.modules) }}
release-modules:
needs: [ "collect-modules" ]
runs-on: ubuntu-latest
strategy:
matrix:
module: ${{fromJson(needs.collect-modules.outputs.modules)}}
steps:
- uses: actions/checkout@v4
- name: release module
run: |
npx semantic-release --extends ${{ matrix.module }}
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}