From 464bba2b2f3b87a30ded0de9acd4ea62566a4463 Mon Sep 17 00:00:00 2001 From: 苏向夜 Date: Wed, 6 Mar 2024 14:34:25 +0800 Subject: ci(release): add release workflows --- .github/workflows/publish.yml | 28 +++++++++++++++++++ .github/workflows/release.yml | 63 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 91 insertions(+) create mode 100644 .github/workflows/publish.yml create mode 100644 .github/workflows/release.yml (limited to '.github/workflows') diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml new file mode 100644 index 0000000..852333a --- /dev/null +++ b/.github/workflows/publish.yml @@ -0,0 +1,28 @@ +name: Publish + +on: + push: + tags: + - "*" + workflow_dispatch: + +jobs: + build: + runs-on: ubuntu-latest + permissions: + id-token: write + steps: + - name: Checkout + uses: actions/checkout@v4 + + - uses: pdm-project/setup-pdm@v4 + name: Setup PDM + with: + python-version: 3.9 + cache: true + + - name: Install dependencies + run: pdm install + + - run: pdm publish + shell: bash diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..74091b9 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,63 @@ +name: Release + +on: + push: + tags: + - "*" + workflow_dispatch: + +jobs: + deploy: + runs-on: ubuntu-latest + permissions: + contents: write + pull-requests: write + id-token: write + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Tag Checks + id: check_prerelease + run: | + tag="${{ github.ref_name }}" + if [[ $tag == *alpha* || $tag == *beta* || $tag == *rc* ]]; then + echo "is_prerelease=true" >> "$GITHUB_OUTPUT" + else + echo "is_prerelease=false" >> "$GITHUB_OUTPUT" + fi + + - uses: pdm-project/setup-pdm@v4 + name: Setup PDM + with: + python-version: 3.9 + cache: true + + - name: Generate Changelog + id: changelog + uses: requarks/changelog-action@v1 + with: + token: ${{ github.token }} + tag: ${{ github.ref_name }} + includeInvalidCommits: true + changelogFilePath: CHANGELOG.md + writeToFile: true + useGitmojis: false + + - name: Install Dependencies + run: pdm install + + - name: Build + run: pdm build + + - name: Release + uses: ncipollo/release-action@v1.14.0 + with: + allowUpdates: true + draft: false + makeLatest: true + name: ${{ github.ref_name }} + body: ${{ steps.changelog.outputs.changes }} + token: ${{ github.token }} + artifacts: "dist/*" + prerelease: ${{ steps.check_prerelease.outputs.is_prerelease }} -- cgit v1.2.3-70-g09d2