name: Release on: push: tags: - 'v*' workflow_dispatch: inputs: tag: description: '要发布的 tag 名(如 v0.1)' required: true type: string permissions: contents: write jobs: release: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Set up JDK 25 uses: actions/setup-java@v4 with: distribution: 'temurin' java-version: '25' - name: Grant execute permission for gradlew run: chmod +x gradlew - name: Resolve version from tag id: ver run: | if [ "${{ github.event_name }}" = "workflow_dispatch" ]; then TAG="${{ inputs.tag }}" else TAG="${GITHUB_REF_NAME}" fi VERSION="${TAG#v}" echo "tag=$TAG" >> "$GITHUB_OUTPUT" echo "version=$VERSION" >> "$GITHUB_OUTPUT" - name: Build with Gradle run: ./gradlew build -Pmod_version=${{ steps.ver.outputs.version }} --stacktrace - name: Create Release uses: softprops/action-gh-release@v2 with: tag_name: ${{ steps.ver.outputs.tag }} name: ${{ steps.ver.outputs.tag }} generate_release_notes: true files: build/libs/*.jar draft: false prerelease: false