From bfd170b2833eb79a52fc178730424e8ee56e7615 Mon Sep 17 00:00:00 2001 From: scdhh Date: Fri, 11 Oct 2024 11:55:05 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=91=B7=20=E6=B7=BB=E5=8A=A0=20Release=20C?= =?UTF-8?q?I?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/Release.yml | 44 +++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 .github/workflows/Release.yml diff --git a/.github/workflows/Release.yml b/.github/workflows/Release.yml new file mode 100644 index 0000000..29343be --- /dev/null +++ b/.github/workflows/Release.yml @@ -0,0 +1,44 @@ +name: Release + +on: + push: + tags: + - '*' + +jobs: + release: + runs-on: ubuntu-latest + permissions: + id-token: write + contents: write + steps: + - uses: actions/checkout@v4 + + - uses: astral-sh/setup-uv@v2 + name: Setup UV + with: + enable-cache: true + + - run: uv sync -p 3.12 + shell: bash + + - name: Get Version + id: version + run: | + echo "VERSION=$(uvx pdm show --version)" >> $GITHUB_OUTPUT + echo "TAG_VERSION=${GITHUB_REF#refs/tags/}" >> $GITHUB_OUTPUT + echo "TAG_NAME=${GITHUB_REF#refs/tags/}" >> $GITHUB_OUTPUT + + - name: Check Version + if: steps.version.outputs.VERSION != steps.version.outputs.TAG_VERSION + run: exit 1 + + - name: Publish Package to PyPI + run: | + uv build + uv publish + + - name: Publish Package to GitHub Release + run: gh release create ${{ steps.version.outputs.TAG_NAME }} dist/*.tar.gz dist/*.whl -t "🔖 ${{ steps.version.outputs.TAG_NAME }}" --generate-notes + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}