From 22d25fc0493ae218199c38de80d382c6db041cbc Mon Sep 17 00:00:00 2001 From: BUTTERFIELD8 Date: Thu, 7 Aug 2025 19:10:22 -0400 Subject: [PATCH 1/8] Create build.yml --- .github/workflows/build.yml | 70 +++++++++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 .github/workflows/build.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..38d1485 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,70 @@ +name: Build & Release + +on: + push: + branches: + - master + - dev + tags: + - '1.*' # Matches tags like 1.4.7 or 1.4.7-SNAPSHOT + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: Set up Java + uses: actions/setup-java@v3 + with: + distribution: 'temurin' + java-version: '17' + + - name: Determine build version + id: versioning + run: | + REF=${GITHUB_REF#refs/*/} + SHORT_SHA=$(git rev-parse --short HEAD) + + if [[ "$GITHUB_REF" == refs/tags/*-SNAPSHOT ]]; then + VERSION="$REF" + RELEASE_TYPE="prerelease" + elif [[ "$GITHUB_REF" == refs/heads/master ]]; then + VERSION="$REF" + RELEASE_TYPE="release" + elif [[ "$GITHUB_REF" == refs/heads/dev ]]; then + VERSION="1.4.7-DEVBUILD.${GITHUB_RUN_NUMBER}" + RELEASE_TYPE="none" + else + VERSION="manual-${SHORT_SHA}" + RELEASE_TYPE="none" + fi + + echo "VERSION=$VERSION" >> $GITHUB_ENV + echo "RELEASE_TYPE=$RELEASE_TYPE" >> $GITHUB_ENV + + - name: Build with Maven + run: mvn clean package -Drevision=${{ env.VERSION }} + + - name: Rename output JAR + run: | + mkdir dist + cp target/*.jar dist/AutoPickup-${{ env.VERSION }}.jar + + - name: Upload Dev Build Artifact + if: env.RELEASE_TYPE == 'none' + uses: actions/upload-artifact@v4 + with: + name: AutoPickup-${{ env.VERSION }} + path: dist/*.jar + + - name: Publish GitHub Release + if: env.RELEASE_TYPE != 'none' + uses: softprops/action-gh-release@v1 + with: + tag_name: ${{ env.VERSION }} + name: AutoPickup ${{ env.VERSION }} + files: dist/AutoPickup-${{ env.VERSION }}.jar + prerelease: ${{ env.RELEASE_TYPE == 'prerelease' }} From e3fe9ba9bf98930ecd4ae52d9726f3d812bc22e7 Mon Sep 17 00:00:00 2001 From: BUTTERFIELD8 Date: Thu, 7 Aug 2025 19:15:04 -0400 Subject: [PATCH 2/8] Update pom.xml --- pom.xml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 77c14fb..e7ec247 100644 --- a/pom.xml +++ b/pom.xml @@ -6,13 +6,14 @@ us.thezircon.play AutoPickup - 1.4.7-DEVBUILD.4 + ${revision} jar AutoPickup Automatically picks up the blocks you mine! + 1.4.7-DEVBUILD.4 UTF-8 https://discord.gg/ncHH4FP @@ -111,4 +112,4 @@ provided - \ No newline at end of file + From d45a41966cc9f69ad340b4a04de7f6bae4afca34 Mon Sep 17 00:00:00 2001 From: BUTTERFIELD8 Date: Thu, 7 Aug 2025 19:19:07 -0400 Subject: [PATCH 3/8] Update build.yml --- .github/workflows/build.yml | 75 +++++++++++++++++-------------------- 1 file changed, 34 insertions(+), 41 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 38d1485..db763c0 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1,70 +1,63 @@ -name: Build & Release +name: Dev Build on: push: branches: - - master - dev - tags: - - '1.*' # Matches tags like 1.4.7 or 1.4.7-SNAPSHOT jobs: build: runs-on: ubuntu-latest steps: - - name: Checkout code + - name: ๐Ÿ“ฆ Checkout Code uses: actions/checkout@v3 - - name: Set up Java + - name: โ˜• Set up Java 17 uses: actions/setup-java@v3 with: - distribution: 'temurin' - java-version: '17' + distribution: temurin + java-version: 17 - - name: Determine build version - id: versioning + - name: ๐Ÿท Get current base version from pom.xml + id: version run: | - REF=${GITHUB_REF#refs/*/} - SHORT_SHA=$(git rev-parse --short HEAD) + BASE_VERSION=$(mvn help:evaluate -Dexpression=revision -q -DforceStdout) + echo "BASE_VERSION=${BASE_VERSION%%-DEVBUILD*}" >> $GITHUB_ENV + echo "::set-output name=base_version::${BASE_VERSION%%-DEVBUILD*}" - if [[ "$GITHUB_REF" == refs/tags/*-SNAPSHOT ]]; then - VERSION="$REF" - RELEASE_TYPE="prerelease" - elif [[ "$GITHUB_REF" == refs/heads/master ]]; then - VERSION="$REF" - RELEASE_TYPE="release" - elif [[ "$GITHUB_REF" == refs/heads/dev ]]; then - VERSION="1.4.7-DEVBUILD.${GITHUB_RUN_NUMBER}" - RELEASE_TYPE="none" + - name: ๐Ÿ”ข Get last dev build number + id: get-devbuild + run: | + VERSION_FILE=".github/devbuild-count.txt" + VERSION="${{ steps.version.outputs.base_version }}" + mkdir -p .github + touch "$VERSION_FILE" + + CURRENT=$(grep "^$VERSION=" "$VERSION_FILE" | cut -d= -f2) + if [ -z "$CURRENT" ]; then + CURRENT=1 else - VERSION="manual-${SHORT_SHA}" - RELEASE_TYPE="none" + CURRENT=$((CURRENT + 1)) fi - echo "VERSION=$VERSION" >> $GITHUB_ENV - echo "RELEASE_TYPE=$RELEASE_TYPE" >> $GITHUB_ENV + echo "$VERSION=$CURRENT" > "$VERSION_FILE" + echo "DEVBUILD=$CURRENT" >> $GITHUB_ENV + echo "::set-output name=build_num::$CURRENT" - - name: Build with Maven - run: mvn clean package -Drevision=${{ env.VERSION }} + - name: ๐Ÿ›  Build with Maven + run: | + VERSION="${{ env.BASE_VERSION }}-DEVBUILD.${{ steps.get-devbuild.outputs.build_num }}" + echo "Building version: $VERSION" + mvn clean package -Drevision=$VERSION - - name: Rename output JAR + - name: ๐Ÿงน Rename output JAR run: | mkdir dist - cp target/*.jar dist/AutoPickup-${{ env.VERSION }}.jar + cp target/*.jar dist/AutoPickup-${{ env.BASE_VERSION }}-DEVBUILD.${{ steps.get-devbuild.outputs.build_num }}.jar - - name: Upload Dev Build Artifact - if: env.RELEASE_TYPE == 'none' + - name: ๐Ÿ“ฅ Upload Dev Build Artifact uses: actions/upload-artifact@v4 with: - name: AutoPickup-${{ env.VERSION }} + name: AutoPickup-${{ env.BASE_VERSION }}-DEVBUILD.${{ steps.get-devbuild.outputs.build_num }} path: dist/*.jar - - - name: Publish GitHub Release - if: env.RELEASE_TYPE != 'none' - uses: softprops/action-gh-release@v1 - with: - tag_name: ${{ env.VERSION }} - name: AutoPickup ${{ env.VERSION }} - files: dist/AutoPickup-${{ env.VERSION }}.jar - prerelease: ${{ env.RELEASE_TYPE == 'prerelease' }} From 2267fdb36ecd48d57d21e872a3ebf56c60899030 Mon Sep 17 00:00:00 2001 From: BUTTERFIELD8 Date: Thu, 7 Aug 2025 19:19:54 -0400 Subject: [PATCH 4/8] Update pom.xml --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index e7ec247..77b92bb 100644 --- a/pom.xml +++ b/pom.xml @@ -102,7 +102,7 @@ me.clip placeholderapi - 2.10.9 + 2.11.6 provided From c495733b343aed737905db88158c24f1b3136259 Mon Sep 17 00:00:00 2001 From: BUTTERFIELD8 Date: Thu, 7 Aug 2025 19:24:00 -0400 Subject: [PATCH 5/8] Update build.yml From 6008cfcd472a82180284f623157a2a7f572ce9b5 Mon Sep 17 00:00:00 2001 From: BUTTERFIELD8 Date: Thu, 7 Aug 2025 19:35:04 -0400 Subject: [PATCH 6/8] Update build.yml --- .github/workflows/build.yml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index db763c0..78b5f8b 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -24,7 +24,7 @@ jobs: run: | BASE_VERSION=$(mvn help:evaluate -Dexpression=revision -q -DforceStdout) echo "BASE_VERSION=${BASE_VERSION%%-DEVBUILD*}" >> $GITHUB_ENV - echo "::set-output name=base_version::${BASE_VERSION%%-DEVBUILD*}" + echo "base_version=${BASE_VERSION%%-DEVBUILD*}" >> $GITHUB_OUTPUT - name: ๐Ÿ”ข Get last dev build number id: get-devbuild @@ -43,7 +43,7 @@ jobs: echo "$VERSION=$CURRENT" > "$VERSION_FILE" echo "DEVBUILD=$CURRENT" >> $GITHUB_ENV - echo "::set-output name=build_num::$CURRENT" + echo "build_num=$CURRENT" >> $GITHUB_OUTPUT - name: ๐Ÿ›  Build with Maven run: | @@ -51,10 +51,11 @@ jobs: echo "Building version: $VERSION" mvn clean package -Drevision=$VERSION - - name: ๐Ÿงน Rename output JAR + - name: ๐Ÿงน Rename shaded output JAR run: | mkdir dist - cp target/*.jar dist/AutoPickup-${{ env.BASE_VERSION }}-DEVBUILD.${{ steps.get-devbuild.outputs.build_num }}.jar + SHADED=$(find target -name "*-shaded.jar" | head -n1) + cp "$SHADED" "dist/AutoPickup-${{ env.BASE_VERSION }}-DEVBUILD.${{ steps.get-devbuild.outputs.build_num }}.jar" - name: ๐Ÿ“ฅ Upload Dev Build Artifact uses: actions/upload-artifact@v4 From ff234eb696a7ce06a6585e08f71abeb101ccbe00 Mon Sep 17 00:00:00 2001 From: BUTTERFIELD8 Date: Thu, 7 Aug 2025 19:41:14 -0400 Subject: [PATCH 7/8] Update build.yml --- .github/workflows/build.yml | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 78b5f8b..1e036ef 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -51,11 +51,19 @@ jobs: echo "Building version: $VERSION" mvn clean package -Drevision=$VERSION - - name: ๐Ÿงน Rename shaded output JAR + - name: ๐Ÿ“ฆ Rename and move JAR to dist/ run: | - mkdir dist - SHADED=$(find target -name "*-shaded.jar" | head -n1) - cp "$SHADED" "dist/AutoPickup-${{ env.BASE_VERSION }}-DEVBUILD.${{ steps.get-devbuild.outputs.build_num }}.jar" + mkdir -p dist + JAR=$(find target -name "AutoPickup-*.jar" ! -name "*-original.jar" | head -n1) + + if [ -z "$JAR" ]; then + echo "โŒ No JAR found in target/" + ls -l target + exit 1 + fi + + cp "$JAR" "dist/AutoPickup-${{ env.BASE_VERSION }}-DEVBUILD.${{ steps.get-devbuild.outputs.build_num }}.jar" + - name: ๐Ÿ“ฅ Upload Dev Build Artifact uses: actions/upload-artifact@v4 From 3e4e3e6789545ec49bda7430bc9835e9a5877be3 Mon Sep 17 00:00:00 2001 From: BUTTERFIELD8 Date: Fri, 8 Aug 2025 23:04:54 -0400 Subject: [PATCH 8/8] Update build.yml --- .github/workflows/build.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 1e036ef..a7b1e5a 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -13,11 +13,11 @@ jobs: - name: ๐Ÿ“ฆ Checkout Code uses: actions/checkout@v3 - - name: โ˜• Set up Java 17 + - name: โ˜• Set up Java 21 uses: actions/setup-java@v3 with: distribution: temurin - java-version: 17 + java-version: 21 - name: ๐Ÿท Get current base version from pom.xml id: version