name: Java CI-CD with Gradle on: push: tags: - '*' jobs: build: # 配置权限 permissions: write-all runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: "Set up JDK 21" uses: actions/setup-java@v3 with: java-version: '21' distribution: 'zulu' cache: gradle - name: "Build with Gradle" run: | ./gradlew clean ./gradlew shadowJar -PBuildFull=false ./gradlew shadowJar -PBuildFull=true - name: "Stage" run: | mkdir -p staging mv build/libs/*.jar staging/ - name: "Build & test" run: | TAG=$(echo $GITHUB_REF | sed 's/refs\/tags\///') echo "done!" - name: "GitHub Release" uses: "marvinpinto/action-automatic-releases@latest" with: repo_token: "${{ secrets.GITHUB_TOKEN }}" automatic_release_tag: "${{ steps.build.outputs.TAG }}" prerelease: false files: | staging/*.jar - name: "Modrinth Release" uses: dsx137/modrinth-release-action@main env: MODRINTH_TOKEN: ${{ secrets.MODRINTH_TOKEN }} with: name: ${{ env.AUTOMATIC_RELEASES_TAG }} project_id: vVZc7jAV loaders: bukkit,folia,paper,purpur,spigot game_versions: 1.20.1:1.20.6,1.21,1.21.1 version_number: ${{ env.AUTOMATIC_RELEASES_TAG }} files: | staging/*-lite.jar changelog: "See https://github.com/ColdeZhang/Dominion/releases/tag/${{ env.AUTOMATIC_RELEASES_TAG }}" version_type: beta featured: false updatable: false delete_old_files: false - name: "Hangar Release" env: HANGAR_TOKEN: ${{ secrets.HANGAR_API_TOKEN }} run: ./gradlew build publishPluginPublicationToHangar -PBuildFull=false