name: Build and Release on: push: tags: - 'v*' # 标签推送时触发发布,如 v1.0.0 jobs: build: runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v4 - name: Setup JDK 21 uses: actions/setup-java@v4 with: java-version: '21' distribution: 'temurin' - name: Make gradlew executable run: chmod +x ./gradlew - name: Build with Gradle run: ./gradlew build - name: Upload build artifacts uses: actions/upload-artifact@v4 with: name: build-artifacts path: | build/libs/*.jar !build/libs/*-plain.jar retention-days: 7 release: runs-on: ubuntu-latest needs: build if: startsWith(github.ref, 'refs/tags/v') steps: - name: Download build artifacts uses: actions/download-artifact@v4 with: name: build-artifacts - name: Create Release uses: softprops/action-gh-release@v1 with: files: | *.jar !*-plain.jar generate_release_notes: true