| name: Sync Forks | |
| on: | |
| push: | |
| branches: | |
| - master | |
| - synctest | |
| workflow_dispatch: | |
| permissions: | |
| contents: read | |
| jobs: | |
| sync: | |
| name: Sync | |
| runs-on: ubuntu-latest | |
| if: vars.SYNC_FORKS | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| fork: ${{ fromJSON ( vars.SYNC_FORKS ) }} | |
| env: | |
| workflow_url: >- | |
| ${{ github.server_url }}/${{ matrix.fork.owner }}/${{ '' | |
| }}${{ matrix.fork.repository }}/actions/workflows/syncrepo.yml | |
| environment: | |
| name: syncforks | |
| url: ${{ env.workflow_url }} | |
| steps: | |
| - name: Get token | |
| id: token | |
| uses: actions/create-github-app-token@v3 | |
| with: | |
| client-id: ${{ vars.WORKFLOW_DISPATCHER_ID }} | |
| private-key: ${{ secrets.WORKFLOW_DISPATCHER_KEY }} | |
| owner: ${{ matrix.fork.owner }} | |
| repositories: ${{ matrix.fork.repository }} | |
| - name: Dispatch | |
| env: | |
| GH_REPO: ${{ matrix.fork.owner }}/${{ matrix.fork.repository }} | |
| GH_TOKEN: ${{ steps.token.outputs.token }} | |
| run: | | |
| gh workflow run syncrepo.yml | |
| echo "Results at ${{ env.workflow_url }}" |