diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..8d0cca0 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,56 @@ +name: Release and Publish + +on: + push: + tags: + - 'v*' # 仅当 push tag 时触发 + +jobs: + release: + runs-on: ubuntu-latest + + steps: + - name: Checkout Code + uses: actions/checkout@v3 + + - name: Set up JDK + uses: actions/setup-java@v3 + with: + distribution: 'temurin' + java-version: '17' + cache: 'maven' + + - name: Configure Maven settings + run: | + mkdir -p ~/.m2 + cat > ~/.m2/settings.xml < + + + github + ${{ secrets.GITHUB_USERNAME }} + ${{ secrets.GITHUB_PAT }} + + + + EOF + + - name: Build Project + run: mvn clean package -DskipTests + + - name: Deploy to GitHub Packages + run: mvn deploy -DskipTests + env: + GITHUB_USERNAME: ${{ secrets.GITHUB_USERNAME }} + GITHUB_PAT: ${{ secrets.GITHUB_PAT }} + + - name: Create GitHub Release + uses: softprops/action-gh-release@v2 + with: + name: Release ${{ github.ref_name }} + tag_name: ${{ github.ref_name }} + files: | + **/target/*.jar + !**/target/original-*.jar + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}