From 466345ceaecaab8ea383fe69b95b0700c033a016 Mon Sep 17 00:00:00 2001 From: Technici4n <13494793+Technici4n@users.noreply.github.com> Date: Thu, 17 Jul 2025 23:04:34 +0200 Subject: [PATCH 01/10] Improve GHA caching --- .github/workflows/build.yml | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index d303dc368..8fdfd09a0 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -15,13 +15,8 @@ jobs: uses: actions/setup-java@v1 with: java-version: 17 - - name: Grant execute permission for gradlew - run: chmod +x gradlew - - name: Use gradle cache for faster builds - uses: actions/cache@v4 - with: - path: ~/.gradle/caches - key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle') }} + - name: Setup Gradle + uses: gradle/actions/setup-gradle@v4 - name: Build with Gradle run: ./gradlew build env: From f2d3f7bebf01dd8b3cb9219f4e891702b44d51e1 Mon Sep 17 00:00:00 2001 From: Technici4n <13494793+Technici4n@users.noreply.github.com> Date: Thu, 17 Jul 2025 23:59:01 +0200 Subject: [PATCH 02/10] Cache assets? --- .github/workflows/build.yml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 8fdfd09a0..d90258bc8 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -17,6 +17,17 @@ jobs: java-version: 17 - name: Setup Gradle uses: gradle/actions/setup-gradle@v4 + with: + gradle-home-cache-excludes: | + caches/neoformruntime/assets + - name: Cache Minecraft assets + uses: actions/cache@v4 + with: + path: | + ~/.gradle/caches/neoformruntime/assets + key: nfrt-assets-${{ hashFiles('~/.gradle/caches/neoformruntime/assets') }} + restore-keys: | + nfrt-assets- - name: Build with Gradle run: ./gradlew build env: From d972041f0b4fe4185d564d7a0cb501a21a9b08a9 Mon Sep 17 00:00:00 2001 From: Technici4n <13494793+Technici4n@users.noreply.github.com> Date: Fri, 18 Jul 2025 00:02:46 +0200 Subject: [PATCH 03/10] Fix hashFiles --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index d90258bc8..bc5fa8187 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -25,7 +25,7 @@ jobs: with: path: | ~/.gradle/caches/neoformruntime/assets - key: nfrt-assets-${{ hashFiles('~/.gradle/caches/neoformruntime/assets') }} + key: nfrt-assets-${{ hashFiles('~/.gradle/caches/neoformruntime/assets/**/*') }} restore-keys: | nfrt-assets- - name: Build with Gradle From 5bc8d5fd96bbe3e05f3e8636b31e30180d2db37a Mon Sep 17 00:00:00 2001 From: Technici4n <13494793+Technici4n@users.noreply.github.com> Date: Fri, 18 Jul 2025 00:32:11 +0200 Subject: [PATCH 04/10] Use single key --- .github/workflows/build.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index bc5fa8187..15486a8a7 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -25,9 +25,7 @@ jobs: with: path: | ~/.gradle/caches/neoformruntime/assets - key: nfrt-assets-${{ hashFiles('~/.gradle/caches/neoformruntime/assets/**/*') }} - restore-keys: | - nfrt-assets- + key: mc-assets - name: Build with Gradle run: ./gradlew build env: From bf3203c7f15f763c12116d6cb77e62ef462339d0 Mon Sep 17 00:00:00 2001 From: Technici4n <13494793+Technici4n@users.noreply.github.com> Date: Fri, 18 Jul 2025 00:35:15 +0200 Subject: [PATCH 05/10] Test extra fake asset --- .github/workflows/build.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 15486a8a7..106fe39bb 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -26,6 +26,10 @@ jobs: path: | ~/.gradle/caches/neoformruntime/assets key: mc-assets + - name: Test adding a fake asset + run: | + mkdir -p ~/.gradle/caches/neoformruntime/assets/modern_industrialization + echo "This is a test asset" > ~/.gradle/caches/neoformruntime/assets/modern_industrialization/test.txt - name: Build with Gradle run: ./gradlew build env: From 3c15c42e890bc469d153fd8576bdf13f6f772295 Mon Sep 17 00:00:00 2001 From: Technici4n <13494793+Technici4n@users.noreply.github.com> Date: Fri, 18 Jul 2025 00:49:41 +0200 Subject: [PATCH 06/10] Do a little hashing --- .github/workflows/build.yml | 26 +++++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 106fe39bb..acd2c44b2 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -20,16 +20,16 @@ jobs: with: gradle-home-cache-excludes: | caches/neoformruntime/assets - - name: Cache Minecraft assets - uses: actions/cache@v4 + - name: Restore cached Minecraft assets + uses: actions/cache/restore@v4 with: path: | ~/.gradle/caches/neoformruntime/assets - key: mc-assets - - name: Test adding a fake asset - run: | - mkdir -p ~/.gradle/caches/neoformruntime/assets/modern_industrialization - echo "This is a test asset" > ~/.gradle/caches/neoformruntime/assets/modern_industrialization/test.txt + restore-keys: mc-assets +# - name: Test adding a fake asset +# run: | +# mkdir -p ~/.gradle/caches/neoformruntime/assets/modern_industrialization +# echo "This is a test asset" > ~/.gradle/caches/neoformruntime/assets/modern_industrialization/test.txt - name: Build with Gradle run: ./gradlew build env: @@ -42,3 +42,15 @@ jobs: with: name: Modern Industrialization ${{ steps.var.outputs.commit_hash }} path: build/libs + - name: Hash Minecraft assets + id: hash-assets + run: | + find ~/.gradle/caches/neoformruntime/assets -type f -exec sha256sum {} + | sort | sha256sum | cut -d ' ' -f 1 > assets-hash.txt + echo "assets_hash=$(cat assets-hash.txt)" >> $GITHUB_ENV + echo "::set-output name=assets_hash::$(cat assets-hash.txt)" + - name: Cache Minecraft assets + uses: actions/cache/save@v4 + with: + path: | + ~/.gradle/caches/neoformruntime/assets + key: mc-assets-${{ steps.hash-assets.outputs.assets_hash }} From befb6105479ee0d5c78490b130cf726e69d16659 Mon Sep 17 00:00:00 2001 From: Technici4n <13494793+Technici4n@users.noreply.github.com> Date: Fri, 18 Jul 2025 00:51:42 +0200 Subject: [PATCH 07/10] Need a key --- .github/workflows/build.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index acd2c44b2..ff2298590 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -25,7 +25,8 @@ jobs: with: path: | ~/.gradle/caches/neoformruntime/assets - restore-keys: mc-assets + key: mc-assets-does-not-exist + restore-keys: mc-assets- # - name: Test adding a fake asset # run: | # mkdir -p ~/.gradle/caches/neoformruntime/assets/modern_industrialization From 61ca74d0468d174d8bc79c5aaa1cecf82b1c9673 Mon Sep 17 00:00:00 2001 From: Technici4n <13494793+Technici4n@users.noreply.github.com> Date: Fri, 18 Jul 2025 00:54:53 +0200 Subject: [PATCH 08/10] Empty From b787a27179b2bbc3841d6ee5ae675c081ac27fa0 Mon Sep 17 00:00:00 2001 From: Technici4n <13494793+Technici4n@users.noreply.github.com> Date: Fri, 18 Jul 2025 01:02:03 +0200 Subject: [PATCH 09/10] Add fake asset --- .github/workflows/build.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index ff2298590..3cc4b2b8c 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -27,10 +27,10 @@ jobs: ~/.gradle/caches/neoformruntime/assets key: mc-assets-does-not-exist restore-keys: mc-assets- -# - name: Test adding a fake asset -# run: | -# mkdir -p ~/.gradle/caches/neoformruntime/assets/modern_industrialization -# echo "This is a test asset" > ~/.gradle/caches/neoformruntime/assets/modern_industrialization/test.txt + - name: Test adding a fake asset + run: | + mkdir -p ~/.gradle/caches/neoformruntime/assets/modern_industrialization + echo "This is a test asset" > ~/.gradle/caches/neoformruntime/assets/modern_industrialization/test.txt - name: Build with Gradle run: ./gradlew build env: From 31762c5aed8a0f816d3693af4e0d703d53efbe57 Mon Sep 17 00:00:00 2001 From: Technici4n <13494793+Technici4n@users.noreply.github.com> Date: Fri, 18 Jul 2025 01:05:07 +0200 Subject: [PATCH 10/10] Remove fake asset --- .github/workflows/build.yml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 3cc4b2b8c..2387cb3bf 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -27,10 +27,6 @@ jobs: ~/.gradle/caches/neoformruntime/assets key: mc-assets-does-not-exist restore-keys: mc-assets- - - name: Test adding a fake asset - run: | - mkdir -p ~/.gradle/caches/neoformruntime/assets/modern_industrialization - echo "This is a test asset" > ~/.gradle/caches/neoformruntime/assets/modern_industrialization/test.txt - name: Build with Gradle run: ./gradlew build env: