aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/.github/workflows
diff options
context:
space:
mode:
author苏向夜 <fu050409@163.com>2024-03-06 14:34:25 +0800
committer苏向夜 <fu050409@163.com>2024-03-06 14:34:25 +0800
commit464bba2b2f3b87a30ded0de9acd4ea62566a4463 (patch)
tree4a68f4105fe103f144e18f9a06a64d9f90bf349b /.github/workflows
parent4473c31a34f12e57b56fa69d089de660858033a2 (diff)
downloadipm-464bba2b2f3b87a30ded0de9acd4ea62566a4463.tar.gz
ipm-464bba2b2f3b87a30ded0de9acd4ea62566a4463.zip
ci(release): add release workflows
Diffstat (limited to '.github/workflows')
-rw-r--r--.github/workflows/publish.yml28
-rw-r--r--.github/workflows/release.yml63
2 files changed, 91 insertions, 0 deletions
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 }}