ci: create a Gitea release when a v* tag is pushed
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>
This commit is contained in:
1 parent
fdf7489ea2
commit
089ffe0920
3 files changed
+61
-2
No files matched your search
@@ -0,0 +1,31 @@
|
||||
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 "Guará ${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
|
||||
Reference in new issue
Block a user