diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 416ca00..870c216 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -7,6 +7,16 @@ on: pull_request: branches: - "**" + workflow_dispatch: + inputs: + force-release: + description: "Force release if you enter 1, default release if not released else skip release" + required: false + default: "0" + force-push: + description: "Push to repo if you enter 1, default push if not released else skip push repo" + required: false + default: "0" permissions: write-all @@ -43,14 +53,34 @@ jobs: uses: actions/upload-artifact@v4 with: name: ${{ env.project_id_b }} CI Artifacts - path: lophine-server/build/libs/*-paperclip-*-mojmap.jar + path: luminol-server/build/libs/*-paperclip-*-mojmap.jar - name: SetENV if: github.event_name != 'pull_request' run: sh scripts/SetENV.sh + - name: Check if release exists + if: github.event_name != 'pull_request' && env.flag_release == 'true' + run: | + git fetch --tags + if [ -n "$(git tag -l "${{ env.tag }}")" ]; then + echo "Release already exists" + release_exists=true + else + echo "Release does not exist" + release_exists=false + fi + if [ "$release_exists" == "true" ]; then + counter=1 + while [ -n "$(git tag -l "${{ env.tag }}-${counter}")" ]; do + counter=$((counter + 1)) + done + echo "tag=${{ env.tag }}-${counter}" >> $GITHUB_ENV + fi + echo "release_exists=${release_exists}" >> $GITHUB_ENV + - name: Publish to repo - if: github.event_name != 'pull_request' && env.flag_release == 'true' && false # do not push to any repo + if: ( github.event_name != 'pull_request' && env.flag_release == 'true' && env.release_exists != 'true' ) || ( env.release_exists == 'true' && inputs.force-push == '1' ) && false # do not push to any repo continue-on-error: true run: ./gradlew --refresh-dependencies generateDevelopmentBundle publish -PpublishDevBundle=true env: @@ -58,11 +88,11 @@ jobs: PRIVATE_MAVEN_REPO_USERNAME: ${{ secrets.PRIVATE_MAVEN_REPO_USERNAME }} - name: Create Release - if: github.event_name != 'pull_request' && env.flag_release == 'true' + if: ( github.event_name != 'pull_request' && env.flag_release == 'true' && env.release_exists != 'true' ) || ( env.release_exists == 'true' && inputs.force-release == '1' ) uses: ncipollo/release-action@v1 with: tag: ${{ env.tag }} - name: ${{ env.project_id_b }} ${{ env.mcversion }} - ${{ env.commit_id }} + name: ${{ env.project_id_b }} ${{ env.mcversion }} - ${{ env.commit_id }} - ${{ env.release_count }} body: | 📦Version: `${{ env.mcversion }}` | Commit ${{ env.commit_id }} [![download](https://img.shields.io/github/downloads/LuminolMC/${{ env.project_id }}/${{ env.tag }}/total?color=red&style=flat-square)](https://github.com/LuminolMC/${{ env.project_id }}/releases/download/${{ env.tag }}/${{ env.jar }}) This release is automatically compiled by GitHub Actions diff --git a/gradle.properties b/gradle.properties index 7a94c90..d59e034 100644 --- a/gradle.properties +++ b/gradle.properties @@ -4,7 +4,7 @@ mcVersion=1.21.8 release=2 # 0 for skip release, 1 for pre-release, 2 for release -luminolRef=0bf42dcc8d6c09fab78d1bdc5335cb38d7a1f5dc +luminolRef=50060d6dea915f328d6dcfc21f0bfd6bc4e5a1d3 org.gradle.configuration-cache=true org.gradle.caching=true diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 002b867..2a84e18 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-9.0.0-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME