Artifact b651c1197277c56316e08ec92fd16112b35aa94a2aeabe2b58a3011475b968da:
- File
.github/workflows/release.yml
— part of check-in
[38e4948972]
at
2026-04-30 14:37:47
on branch trunk
— feat(ci): add release workflow with downstream dispatch (#21)
On tag push (v*): 1. Create GitHub release with auto-generated notes from PRs/commits since previous tag. Source tarball auto-attached. 2. Dispatch repository_dispatch event to danmestas/EdgeSync to trigger a chore-bump PR there.
libfossil is a library — no binaries are published, so goreleaser is overkill. 'gh release create --generate-notes' provides equivalent auto-changelog and source archives in 5 lines.
Closes the cascade chain. Once merged, the next libfossil tag will fire PRs in EdgeSync (PR #5 receiver) and via that, in bones (PR #4 receiver). (user: [email protected], size: 1192) [annotate] [blame] [check-ins using]
name: Release on: push: tags: - 'v*' permissions: contents: write jobs: release: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 with: fetch-depth: 0 - name: Create GitHub release env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | gh release create "${{ github.ref_name }}" \ --generate-notes \ --verify-tag - name: Dispatch downstream bump env: GH_TOKEN: ${{ secrets.DISPATCH_PAT }} DOWNSTREAM: EdgeSync MODULE_PATH: github.com/danmestas/libfossil run: | gh api -X POST "repos/danmestas/${DOWNSTREAM}/dispatches" \ -f event_type=upstream-bump \ -f client_payload[repo]=${{ github.event.repository.name }} \ -f client_payload[module_path]=${MODULE_PATH} \ -f client_payload[version]=${{ github.ref_name }} \ -f client_payload[release_url]=${{ github.server_url }}/${{ github.repository }}/releases/tag/${{ github.ref_name }} \ -f client_payload[tag_sha]=${{ github.sha }} \ -f client_payload[actor]=${{ github.actor }}