Notes come from the matching CHANGELOG.md section. The macOS and Windows binaries the old release workflow built need runners this Gitea does not have. The CI also ignores .wolf, .claude and the release files. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
32 lines
1.1 KiB
YAML
32 lines
1.1 KiB
YAML
name: Release
|
|
|
|
# Cria a entrada em "Releases" quando uma tag v* é enviada, com as notas da
|
|
# seção correspondente do CHANGELOG.md (scripts/release-notes.sh).
|
|
#
|
|
# Só as notas: os binários para macOS e Windows exigiam runners que o Gitea daqui
|
|
# não tem (o único runner é Linux arm64), então não são gerados neste fluxo.
|
|
on:
|
|
push:
|
|
tags: ['v*']
|
|
|
|
jobs:
|
|
release:
|
|
name: Cria a release
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v7
|
|
with:
|
|
fetch-depth: 0
|
|
- name: Release
|
|
env:
|
|
TAG: ${{ gitea.ref_name }}
|
|
TOKEN: ${{ gitea.token }}
|
|
API: ${{ gitea.server_url }}/api/v1/repos/${{ gitea.repository }}
|
|
run: |
|
|
scripts/release-notes.sh "$TAG" > notes.md
|
|
pre=false; case "$TAG" in *-*) pre=true ;; esac
|
|
jq -n --arg tag "$TAG" --arg name "Sabiá ${TAG#v}" --rawfile body notes.md --argjson pre "$pre" \
|
|
'{tag_name:$tag, name:$name, body:$body, prerelease:$pre}' > release.json
|
|
curl -fsS -X POST "$API/releases" -H "Authorization: token $TOKEN" \
|
|
-H 'Content-Type: application/json' -d @release.json
|