# ═══════════════════════════════════════════════════════════════════════════════
# GitHub Release (library projects — no binaries to attach)
# ═══════════════════════════════════════════════════════════════════════════════
# Canonical source: /workspace/.github/workflows/release-github.yml
# Reference: /workspace/PUBLISHING.md
#
# For library projects (sniper, llmosafe) that publish to crates.io + PyPI
# but don't distribute binaries. Creates a GitHub Release with auto-generated
# changelog from merged PRs.
# ═══════════════════════════════════════════════════════════════════════════════
name: Release
on:
push:
tags:
permissions:
contents: write
jobs:
release:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Create GitHub Release
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
gh release create "${{ github.ref_name }}" \
--generate-notes \
--title "${{ github.ref_name }}" \
--verify-tag