name: "GitHub Release" on: # Triggers when the `Publish release` button is pressed release: types: [published] # Manual trigger with `tag` input workflow_dispatch: inputs: tag_name: description: "Release tag" type: string required: true concurrency: group: "release-${{ github.event.release.tag_name }}" cancel-in-progress: true defaults: run: shell: bash --noprofile --norc -euo pipefail {0} permissions: # required for updating the release contents: write id-token: write jobs: sync-release-assets: name: "Sync Release Assets" uses: ./.github/workflows/reusable_sync_release_assets.yml with: CONCURRENCY: "${{ github.event.release.tag_name || inputs.tag_name }}" RELEASE_VERSION: "${{ github.event.release.tag_name || inputs.tag_name }}" secrets: inherit dispatch-gradio-rerun-viewer: name: "Trigger gradio-rerun-viewer release" # Only on real GH release events (not workflow_dispatch), and only for finals. if: github.event_name == 'release' && !github.event.release.prerelease runs-on: ubuntu-latest steps: - name: Send repository_dispatch env: GH_TOKEN: ${{ secrets.RERUN_BOT_TOKEN }} run: | version="${{ github.event.release.tag_name }}" if [[ ! "$version" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]]; then echo "Tag $version is not a final X.Y.Z release; skipping." exit 0 fi gh api repos/rerun-io/gradio-rerun-viewer/dispatches \ -f event_type=rerun-released \ -F client_payload[version]="$version" \ -F client_payload[source_release_url]="${{ github.event.release.html_url }}"