From 7b5af181a112b03fdfc8b3ce3206dcbb7ad40843 Mon Sep 17 00:00:00 2001 From: screret <68943070+screret@users.noreply.github.com> Date: Fri, 16 Aug 2024 22:02:42 +0300 Subject: [PATCH] start publishing SNAPSHOT versions to the maven (#1739) --- .github/release.yml | 27 ++++++++++++++++++++ .github/workflows/auto-build.yml | 14 ++++++++--- .github/workflows/auto-publish.yml | 17 +++++++++++++ .github/workflows/build-on-push.yml | 1 - .github/workflows/update-gradle-cache.yml | 30 +++++++++++++++++++++++ build.gradle | 7 +++--- 6 files changed, 88 insertions(+), 8 deletions(-) create mode 100644 .github/release.yml create mode 100644 .github/workflows/update-gradle-cache.yml diff --git a/.github/release.yml b/.github/release.yml new file mode 100644 index 0000000000..ab345e4eb2 --- /dev/null +++ b/.github/release.yml @@ -0,0 +1,27 @@ +changelog: + + exclude: + labels: + - "1.21" + - "ignore changelog" + + categories: + - title: New Features + labels: + - "type: feature" + + - title: Bug Fixes + labels: + - "type: bug" + + - title: Internal Changes + labels: + - "type: refactor" + + - title: Translation Changes + labels: + - "type: translation" + + - title: Other Changes + labels: + - "*" diff --git a/.github/workflows/auto-build.yml b/.github/workflows/auto-build.yml index 71595de1bf..6d8a192efe 100644 --- a/.github/workflows/auto-build.yml +++ b/.github/workflows/auto-build.yml @@ -9,8 +9,9 @@ jobs: build: runs-on: ubuntu-latest env: - GITHUB_ACTION_NUMBER: ${{ vars.GITHUB_RUN_NUMBER }} - GITHUB_RUN_NUMBER: ${{ vars.GITHUB_RUN_NUMBER }} + MAVEN_PASS: ${{ secrets.MAVEN_PASS }} + MAVEN_USER: ${{ secrets.MAVEN_USER }} + SNAPSHOT: true permissions: contents: write steps: @@ -26,17 +27,22 @@ jobs: with: arguments: build + - name: Publish to Maven + uses: gradle/gradle-build-action@v2 + with: + arguments: publish + - name: Get Version id: var run: | - MESSAGE=$(ls build/libs/* | grep sources.jar -v | grep shadow.jar -v | grep slim.jar -v | awk -F 'gtceu-|.jar' '{print $2}') + MESSAGE=$(ls build/libs/* | grep sources.jar -v | grep shadow.jar -v | grep slim.jar -v | awk -F 'gtceu-|-SNAPSHOT.jar' '{print $2}') echo "version=$MESSAGE" >> $GITHUB_OUTPUT - name: Release id: release uses: Kir-Antipov/mc-publish@v3.3.0 with: - github-tag: ${{ steps.var.outputs.version }} + github-tag: ${{ steps.var.outputs.version }}-build_${{ vars.GITHUB_RUN_NUMBER }} github-token: ${{ secrets.GITHUB_TOKEN }} files: | build/libs/!(*-@(dev|sources|javadoc)).jar diff --git a/.github/workflows/auto-publish.yml b/.github/workflows/auto-publish.yml index 29f55510d7..908eee46e0 100644 --- a/.github/workflows/auto-publish.yml +++ b/.github/workflows/auto-publish.yml @@ -3,6 +3,10 @@ name: Auto Publish, Releasing on: workflow_dispatch: inputs: + lastReleaseTag: + description: 'tag of the last full release.' + required: true + type: string releaseType: description: 'release type' required: true @@ -29,6 +33,8 @@ jobs: env: MAVEN_PASS: ${{ secrets.MAVEN_PASS }} MAVEN_USER: ${{ secrets.MAVEN_USER }} + permissions: + contents: write steps: - uses: actions/checkout@v4 with: @@ -60,10 +66,21 @@ jobs: MESSAGE=$(ls build/libs/* | grep sources.jar -v | grep shadow.jar -v | grep slim.jar -v | awk -F 'gtceu-|.jar' '{print $2}') echo version=$MESSAGE >> $GITHUB_OUTPUT + - name: Update CHANGELOG + id: changelog + uses: requarks/changelog-action@v1 + with: + token: ${{ secrets.GITHUB_TOKEN }} + fromTag: ${{ github.ref_name }} + toTag: ${{ inputs.lastReleaseTag }} + - if: ${{ inputs.publishCurseForgeAndModrinth }} name: mc-publish-forge uses: Kir-Antipov/mc-publish@v3.3.0 with: + github-tag: ${{ steps.var.outputs.version }} + github-token: ${{ secrets.GITHUB_TOKEN }} + # Only include this section if you wish to publish # your assets on Modrinth. modrinth-id: 7tG215v7 diff --git a/.github/workflows/build-on-push.yml b/.github/workflows/build-on-push.yml index a02aa0fb58..8a4fcb9db0 100644 --- a/.github/workflows/build-on-push.yml +++ b/.github/workflows/build-on-push.yml @@ -8,7 +8,6 @@ jobs: build: runs-on: ubuntu-latest env: - GITHUB_ACTION_NUMBER: ${{ vars.GITHUB_RUN_NUMBER }} GITHUB_RUN_NUMBER: ${{ vars.GITHUB_RUN_NUMBER }} steps: - uses: actions/checkout@v4 diff --git a/.github/workflows/update-gradle-cache.yml b/.github/workflows/update-gradle-cache.yml new file mode 100644 index 0000000000..4e53a87969 --- /dev/null +++ b/.github/workflows/update-gradle-cache.yml @@ -0,0 +1,30 @@ +# Updates the Gradle Cache when necessary +name: Update Gradle Cache + +on: + push: + branches: + - master + paths: ['gradle/**', '**.gradle', 'gradle.properties', 'gradlew**', 'src/main/resources/accesstransformer.cfg'] + workflow_dispatch: + +concurrency: + group: gradle-cache-${{ github.ref }} + cancel-in-progress: true + +jobs: + update-cache: + name: Update Grade Cache + runs-on: ubuntu-latest + + steps: + - name: Checkout Repository + uses: actions/checkout@v4 + + - name: Setup Build + uses: ./.github/actions/build_setup + with: + update-cache: true + + - name: Build Project with Gradle + run: ./gradlew assemble --warning-mode all --build-cache diff --git a/build.gradle b/build.gradle index 7c61f63c56..17195b69d1 100644 --- a/build.gradle +++ b/build.gradle @@ -28,9 +28,10 @@ tasks.register('remapSlimJar', RemapJarTask) { group = maven_group -// Formats the mod version to include the loader, Minecraft version, and build number (if present) -String buildNumber = System.getenv("GITHUB_ACTION_NUMBER") -version = "${mod_version}" + (buildNumber != null ? "-build_${System.getenv("GITHUB_RUN_NUMBER")}" : "") +// Formats the mod version to include the loader, Minecraft version, build number (if present), and '-SNAPSHOT-' if enabled. +boolean isSnapshot = System.getenv("SNAPSHOT") +String buildNumber = System.getenv("GITHUB_RUN_NUMBER") +version = "${mod_version}" + (buildNumber != null ? "-build_${buildNumber}" : "") + (isSnapshot ? "-SNAPSHOT" : "") apply from: "$rootDir/gradle/scripts/architectury_loom.gradle" apply from: "$rootDir/gradle/scripts/capabilities.gradle"