From 8184ebf0fb36315cc685d7cae009921ca4f3fc30 Mon Sep 17 00:00:00 2001 From: xooooooooox Date: Sat, 28 Dec 2024 03:38:12 +0800 Subject: [PATCH] feat: add workflow for creating release tags MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 新增支持通过 GitHub Actions 创建发布标签的工作流。 同时对现有工作流进行了重命名和优化,以更好区分任务用途。 --- .github/workflows/create-tags.yml | 52 +++++++++++++++++++ .github/workflows/trigger-releases.yml | 2 +- ...hub-packages.yml => trigger-snapshots.yml} | 2 +- CHANGELOG.md | 4 ++ 4 files changed, 58 insertions(+), 2 deletions(-) create mode 100644 .github/workflows/create-tags.yml rename .github/workflows/{publish-github-packages.yml => trigger-snapshots.yml} (97%) diff --git a/.github/workflows/create-tags.yml b/.github/workflows/create-tags.yml new file mode 100644 index 0000000..25b44d3 --- /dev/null +++ b/.github/workflows/create-tags.yml @@ -0,0 +1,52 @@ +name: Create tag + +on: + workflow_dispatch: + +jobs: + prepare_tag: + # Only proceed if the workflow dispatch event is for the "main" branch + if: github.ref == 'refs/heads/main' + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Import GPG key + uses: crazy-max/ghaction-import-gpg@v6 + with: + gpg_private_key: ${{ secrets.GPG_SIGNING_KEY }} + passphrase: ${{ secrets.GPG_SIGNING_KEY_PASSWORD }} + + - name: Configure GPG for CI + run: | + mkdir -p ~/.gnupg + chmod 700 ~/.gnupg + echo "allow-loopback-pinentry" >> ~/.gnupg/gpg-agent.conf + echo "pinentry-mode loopback" >> ~/.gnupg/gpg.conf + echo "GPG_TTY=$(tty)" >> $GITHUB_ENV + + - name: Test GPG signing + run: | + gpg -K + echo "test gpg" > test.txt + gpg -ab test.txt + gpg --verify test.txt.asc + rm test.txt test.txt.asc + + - name: Set up Java + uses: actions/setup-java@v4 + with: + java-version: '8' + distribution: 'temurin' + server-id: central-portal + server-username: MAVEN_USERNAME + server-password: MAVEN_PASSWORD + + - name: Prepare release tag + run: | + ./mvnw clean -Pcoding,auto-release release:prepare -B --settings .mvn/settings.xml diff --git a/.github/workflows/trigger-releases.yml b/.github/workflows/trigger-releases.yml index 35245de..05f31be 100644 --- a/.github/workflows/trigger-releases.yml +++ b/.github/workflows/trigger-releases.yml @@ -1,4 +1,4 @@ -name: Publish packages to Maven Central +name: [RELEASE] Publish packages to Maven Central on: release: diff --git a/.github/workflows/publish-github-packages.yml b/.github/workflows/trigger-snapshots.yml similarity index 97% rename from .github/workflows/publish-github-packages.yml rename to .github/workflows/trigger-snapshots.yml index fd9fd02..f670d96 100644 --- a/.github/workflows/publish-github-packages.yml +++ b/.github/workflows/trigger-snapshots.yml @@ -1,4 +1,4 @@ -name: Publish package to GitHub Packages +name: [SNAPSHOTS] Publish package to GitHub Packages on: push: diff --git a/CHANGELOG.md b/CHANGELOG.md index 993e7ea..6e4871d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # ChangeLog +## 0.6 + +- [x] support create release tag via actions + ## 0.5 - [x] dependency management shiro and jwt version