diff options
| author | 2024-03-06 14:34:25 +0800 | |
|---|---|---|
| committer | 2024-03-06 14:34:25 +0800 | |
| commit | 464bba2b2f3b87a30ded0de9acd4ea62566a4463 (patch) | |
| tree | 4a68f4105fe103f144e18f9a06a64d9f90bf349b | |
| parent | 4473c31a34f12e57b56fa69d089de660858033a2 (diff) | |
| download | ipm-464bba2b2f3b87a30ded0de9acd4ea62566a4463.tar.gz ipm-464bba2b2f3b87a30ded0de9acd4ea62566a4463.zip | |
ci(release): add release workflows
| -rw-r--r-- | .github/workflows/publish.yml | 28 | ||||
| -rw-r--r-- | .github/workflows/release.yml | 63 |
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 }} |
