Skip to content

fix: Workflow de release #2

fix: Workflow de release

fix: Workflow de release #2

Workflow file for this run

---
name: Release
on:
push:
branches:
- main
jobs:
check-version:
runs-on: ubuntu-latest
outputs:
should_release: ${{ steps.check.outputs.should_release }}
version: ${{ steps.check.outputs.version }}
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Verifica se precisa de release
id: check
run: |
VERSION=$(grep -m1 '^version' pyproject.toml \
| sed 's/.*"\(.*\)"/\1/')
TAG="v${VERSION}"
echo "version=$VERSION tag=$TAG"
if git rev-parse "$TAG" >/dev/null 2>&1; then
echo "Tag $TAG já existe"
echo "should_release=false" >> "$GITHUB_OUTPUT"
else
echo "Tag $TAG não existe"
echo "should_release=true" >> "$GITHUB_OUTPUT"
echo "version=$VERSION" >> "$GITHUB_OUTPUT"
fi
release:
needs: check-version
if: needs.check-version.outputs.should_release == 'true'
runs-on: ubuntu-latest
permissions:
contents: write
id-token: write
steps:
- uses: actions/checkout@v4
- uses: astral-sh/setup-uv@v7
- name: Cria release
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
VERSION: ${{ needs.check-version.outputs.version }}
run: |
gh release create "v${VERSION}" \
--title "v${VERSION}" \
--generate-notes
- name: Build
run: uv build
- name: Publish
run: uv publish --trusted-publishing always