From bd5a339bfb1631228a0f95650f191a8106faba60 Mon Sep 17 00:00:00 2001 From: porotkin Date: Mon, 5 Jan 2026 16:17:11 +0200 Subject: [PATCH 01/20] Workflows. Add a cached build step --- .github/workflows/ci-cache.yml | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 .github/workflows/ci-cache.yml diff --git a/.github/workflows/ci-cache.yml b/.github/workflows/ci-cache.yml new file mode 100644 index 00000000..679fe5b3 --- /dev/null +++ b/.github/workflows/ci-cache.yml @@ -0,0 +1,21 @@ +name: CI + +on: [ push, pull_request ] + +jobs: + cached-build: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-java@v4 + with: + distribution: 'zulu' + java-version: '21' + - name: Calculate Cache + run: ./gradlew build + - name: Run Cached Build + run: | + ./gradlew clean # preserves configuration caches + ./gradlew build From 918ed20ed2101690a45ed8635700b87c94cfbc4c Mon Sep 17 00:00:00 2001 From: porotkin Date: Mon, 5 Jan 2026 16:36:20 +0200 Subject: [PATCH 02/20] Workflows. Separate steps for `clean` and `build` --- .github/workflows/ci-cache.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci-cache.yml b/.github/workflows/ci-cache.yml index 679fe5b3..aada2d05 100644 --- a/.github/workflows/ci-cache.yml +++ b/.github/workflows/ci-cache.yml @@ -15,7 +15,7 @@ jobs: java-version: '21' - name: Calculate Cache run: ./gradlew build + - name: Clean Build Cache + run: ./gradlew clean # preserves configuration caches - name: Run Cached Build - run: | - ./gradlew clean # preserves configuration caches - ./gradlew build + run: ./gradlew build From 0a3368d8a68e072cbd14d66f79d87f24a3dbce70 Mon Sep 17 00:00:00 2001 From: porotkin Date: Mon, 5 Jan 2026 16:53:13 +0200 Subject: [PATCH 03/20] Workflows. Enable gradle cache with `setup-java` step --- .github/workflows/ci-cache.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/ci-cache.yml b/.github/workflows/ci-cache.yml index aada2d05..f296e844 100644 --- a/.github/workflows/ci-cache.yml +++ b/.github/workflows/ci-cache.yml @@ -13,6 +13,7 @@ jobs: with: distribution: 'zulu' java-version: '21' + cache: gradle - name: Calculate Cache run: ./gradlew build - name: Clean Build Cache From a5d3f8f940b18f7fc758b23db7f796068defdb5e Mon Sep 17 00:00:00 2001 From: porotkin Date: Mon, 5 Jan 2026 17:12:24 +0200 Subject: [PATCH 04/20] Workflows. Try to dry-run build first --- .github/workflows/ci-cache.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci-cache.yml b/.github/workflows/ci-cache.yml index f296e844..0b65fa05 100644 --- a/.github/workflows/ci-cache.yml +++ b/.github/workflows/ci-cache.yml @@ -19,4 +19,6 @@ jobs: - name: Clean Build Cache run: ./gradlew clean # preserves configuration caches - name: Run Cached Build - run: ./gradlew build + run: | + ./gradlew build --dry-run + ./gradlew build From 3c1ed74d8bff4f14a477abd0636832c080eea147 Mon Sep 17 00:00:00 2001 From: porotkin Date: Mon, 5 Jan 2026 17:31:00 +0200 Subject: [PATCH 05/20] Workflows. Check caching hit --- .github/workflows/ci-cache.yml | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci-cache.yml b/.github/workflows/ci-cache.yml index 0b65fa05..2feeb39c 100644 --- a/.github/workflows/ci-cache.yml +++ b/.github/workflows/ci-cache.yml @@ -15,10 +15,14 @@ jobs: java-version: '21' cache: gradle - name: Calculate Cache - run: ./gradlew build + run: ./gradlew build --dry-run - name: Clean Build Cache run: ./gradlew clean # preserves configuration caches - name: Run Cached Build - run: | - ./gradlew build --dry-run - ./gradlew build + run: ./gradlew build + - name: Run Cached Build1.5 + run: ./gradlew build + - name: Clean Build Cache2 + run: ./gradlew clean + - name: Run Cached Build2 + run: ./gradlew build From 7d7f173e73eba7214d43399d736b2d4efcd6cb0d Mon Sep 17 00:00:00 2001 From: porotkin Date: Mon, 5 Jan 2026 17:35:20 +0200 Subject: [PATCH 06/20] Workflows. Remove redundant steps --- .github/workflows/ci-cache.yml | 6 ------ 1 file changed, 6 deletions(-) diff --git a/.github/workflows/ci-cache.yml b/.github/workflows/ci-cache.yml index 2feeb39c..9432e36f 100644 --- a/.github/workflows/ci-cache.yml +++ b/.github/workflows/ci-cache.yml @@ -20,9 +20,3 @@ jobs: run: ./gradlew clean # preserves configuration caches - name: Run Cached Build run: ./gradlew build - - name: Run Cached Build1.5 - run: ./gradlew build - - name: Clean Build Cache2 - run: ./gradlew clean - - name: Run Cached Build2 - run: ./gradlew build From 145f43231f2cfc4ac06cc2fc17773c47246188ee Mon Sep 17 00:00:00 2001 From: porotkin Date: Mon, 12 Jan 2026 11:41:52 +0200 Subject: [PATCH 07/20] CI Cache. Temporarily continue on error on the last step --- .github/workflows/ci-cache.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/ci-cache.yml b/.github/workflows/ci-cache.yml index 9432e36f..01120be1 100644 --- a/.github/workflows/ci-cache.yml +++ b/.github/workflows/ci-cache.yml @@ -19,4 +19,5 @@ jobs: - name: Clean Build Cache run: ./gradlew clean # preserves configuration caches - name: Run Cached Build + continue-on-error: true run: ./gradlew build From b4c139054a2aaa69971094b8e18bafc51c51652f Mon Sep 17 00:00:00 2001 From: porotkin Date: Mon, 12 Jan 2026 17:34:21 +0200 Subject: [PATCH 08/20] CI Cache. One step --- .github/workflows/ci-cache.yml | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/.github/workflows/ci-cache.yml b/.github/workflows/ci-cache.yml index 01120be1..bca81a86 100644 --- a/.github/workflows/ci-cache.yml +++ b/.github/workflows/ci-cache.yml @@ -14,10 +14,8 @@ jobs: distribution: 'zulu' java-version: '21' cache: gradle - - name: Calculate Cache - run: ./gradlew build --dry-run - - name: Clean Build Cache - run: ./gradlew clean # preserves configuration caches - - name: Run Cached Build - continue-on-error: true - run: ./gradlew build + - name: Execute + run: | + ./gradlew build + ./gradlew clean # preserves configuration caches + ./gradlew build From 5f6a0d6db1d0b1d1462c846a99dff4b71f8e6401 Mon Sep 17 00:00:00 2001 From: porotkin Date: Mon, 12 Jan 2026 17:34:50 +0200 Subject: [PATCH 09/20] CI Cache. Manual job --- .github/workflows/ci-cache.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci-cache.yml b/.github/workflows/ci-cache.yml index bca81a86..c41c6454 100644 --- a/.github/workflows/ci-cache.yml +++ b/.github/workflows/ci-cache.yml @@ -1,6 +1,7 @@ name: CI -on: [ push, pull_request ] +on: + workflow_dispatch: jobs: cached-build: From 95c207404fa01128433dbaca4167cea2cff8b1ae Mon Sep 17 00:00:00 2001 From: porotkin Date: Mon, 12 Jan 2026 17:35:31 +0200 Subject: [PATCH 10/20] Revert "CI Cache. Manual job" This reverts commit 5f6a0d6db1d0b1d1462c846a99dff4b71f8e6401. --- .github/workflows/ci-cache.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/ci-cache.yml b/.github/workflows/ci-cache.yml index c41c6454..bca81a86 100644 --- a/.github/workflows/ci-cache.yml +++ b/.github/workflows/ci-cache.yml @@ -1,7 +1,6 @@ name: CI -on: - workflow_dispatch: +on: [ push, pull_request ] jobs: cached-build: From 1048211327fc478fe0a4b8138ce3766e9a0d1448 Mon Sep 17 00:00:00 2001 From: porotkin Date: Mon, 12 Jan 2026 17:44:15 +0200 Subject: [PATCH 11/20] CI Cache. Add dry-run flag --- .github/workflows/ci-cache.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci-cache.yml b/.github/workflows/ci-cache.yml index bca81a86..7b18952d 100644 --- a/.github/workflows/ci-cache.yml +++ b/.github/workflows/ci-cache.yml @@ -16,6 +16,6 @@ jobs: cache: gradle - name: Execute run: | - ./gradlew build + ./gradlew build --dry-run ./gradlew clean # preserves configuration caches ./gradlew build From c87bb8203e6c2c324b92997d52dd17e6f741cd73 Mon Sep 17 00:00:00 2001 From: porotkin Date: Mon, 12 Jan 2026 17:56:34 +0200 Subject: [PATCH 12/20] CI Cache. Add `build-build` job --- .github/workflows/ci-cache.yml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/.github/workflows/ci-cache.yml b/.github/workflows/ci-cache.yml index 7b18952d..11b78aa9 100644 --- a/.github/workflows/ci-cache.yml +++ b/.github/workflows/ci-cache.yml @@ -19,3 +19,19 @@ jobs: ./gradlew build --dry-run ./gradlew clean # preserves configuration caches ./gradlew build + + build-build: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-java@v4 + with: + distribution: 'zulu' + java-version: '21' + cache: gradle + - name: Execute + run: | + ./gradlew build + ./gradlew build From 093c537111bf2bd9405a33cd47f1c1c7eb704aa8 Mon Sep 17 00:00:00 2001 From: porotkin Date: Mon, 12 Jan 2026 18:52:20 +0200 Subject: [PATCH 13/20] CI Cache. Exclude `lib-multiplatform` example build --- .github/workflows/ci-cache.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci-cache.yml b/.github/workflows/ci-cache.yml index 11b78aa9..d2653d06 100644 --- a/.github/workflows/ci-cache.yml +++ b/.github/workflows/ci-cache.yml @@ -16,9 +16,9 @@ jobs: cache: gradle - name: Execute run: | - ./gradlew build --dry-run + ./gradlew build -x :examples:assets:lib-multiplatform:build ./gradlew clean # preserves configuration caches - ./gradlew build + ./gradlew build -x :examples:assets:lib-multiplatform:build build-build: @@ -33,5 +33,5 @@ jobs: cache: gradle - name: Execute run: | - ./gradlew build - ./gradlew build + ./gradlew build -x :examples:assets:lib-multiplatform:build + ./gradlew build -x :examples:assets:lib-multiplatform:build From 2c72c2e40146f0321c38d1df845d885e91510d31 Mon Sep 17 00:00:00 2001 From: porotkin Date: Mon, 12 Jan 2026 19:13:48 +0200 Subject: [PATCH 14/20] Revert "CI Cache. Exclude `lib-multiplatform` example build" This reverts commit 093c537111bf2bd9405a33cd47f1c1c7eb704aa8. --- .github/workflows/ci-cache.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci-cache.yml b/.github/workflows/ci-cache.yml index d2653d06..11b78aa9 100644 --- a/.github/workflows/ci-cache.yml +++ b/.github/workflows/ci-cache.yml @@ -16,9 +16,9 @@ jobs: cache: gradle - name: Execute run: | - ./gradlew build -x :examples:assets:lib-multiplatform:build + ./gradlew build --dry-run ./gradlew clean # preserves configuration caches - ./gradlew build -x :examples:assets:lib-multiplatform:build + ./gradlew build build-build: @@ -33,5 +33,5 @@ jobs: cache: gradle - name: Execute run: | - ./gradlew build -x :examples:assets:lib-multiplatform:build - ./gradlew build -x :examples:assets:lib-multiplatform:build + ./gradlew build + ./gradlew build From 4c2abd98f6841929f14540e4c4f40f446b3fc785 Mon Sep 17 00:00:00 2001 From: porotkin Date: Mon, 12 Jan 2026 19:14:31 +0200 Subject: [PATCH 15/20] CI Cache. 3 builds because of `lib-multiplatform` build --- .github/workflows/ci-cache.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/ci-cache.yml b/.github/workflows/ci-cache.yml index 11b78aa9..f5825dfa 100644 --- a/.github/workflows/ci-cache.yml +++ b/.github/workflows/ci-cache.yml @@ -19,6 +19,7 @@ jobs: ./gradlew build --dry-run ./gradlew clean # preserves configuration caches ./gradlew build + ./gradlew build build-build: @@ -35,3 +36,4 @@ jobs: run: | ./gradlew build ./gradlew build + ./gradlew build From f640828c23fe79fdb200cd6ea87b23eb7489ff4b Mon Sep 17 00:00:00 2001 From: porotkin Date: Mon, 12 Jan 2026 19:30:20 +0200 Subject: [PATCH 16/20] Revert "Revert "CI Cache. Manual job"" This reverts commit 95c207404fa01128433dbaca4167cea2cff8b1ae. --- .github/workflows/ci-cache.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci-cache.yml b/.github/workflows/ci-cache.yml index f5825dfa..ef72dd22 100644 --- a/.github/workflows/ci-cache.yml +++ b/.github/workflows/ci-cache.yml @@ -1,6 +1,7 @@ name: CI -on: [ push, pull_request ] +on: + workflow_dispatch: jobs: cached-build: From dd9ea082264d569e0c7c5e4b2b311efbcdfa01f4 Mon Sep 17 00:00:00 2001 From: porotkin Date: Mon, 12 Jan 2026 19:32:50 +0200 Subject: [PATCH 17/20] Revert "CI Cache. Add dry-run flag" This reverts commit 1048211327fc478fe0a4b8138ce3766e9a0d1448. --- .github/workflows/ci-cache.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci-cache.yml b/.github/workflows/ci-cache.yml index ef72dd22..a919e0b9 100644 --- a/.github/workflows/ci-cache.yml +++ b/.github/workflows/ci-cache.yml @@ -17,7 +17,7 @@ jobs: cache: gradle - name: Execute run: | - ./gradlew build --dry-run + ./gradlew build ./gradlew clean # preserves configuration caches ./gradlew build ./gradlew build From a2982571dca91f7ef8f473b9596698dcfc33bf54 Mon Sep 17 00:00:00 2001 From: porotkin Date: Mon, 12 Jan 2026 20:12:15 +0200 Subject: [PATCH 18/20] CI Cache. Positioning --- .github/workflows/ci-cache.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci-cache.yml b/.github/workflows/ci-cache.yml index a919e0b9..eb274f71 100644 --- a/.github/workflows/ci-cache.yml +++ b/.github/workflows/ci-cache.yml @@ -4,7 +4,7 @@ on: workflow_dispatch: jobs: - cached-build: + build-build: runs-on: ubuntu-latest @@ -18,11 +18,10 @@ jobs: - name: Execute run: | ./gradlew build - ./gradlew clean # preserves configuration caches ./gradlew build ./gradlew build - build-build: + cached-build: runs-on: ubuntu-latest @@ -36,5 +35,6 @@ jobs: - name: Execute run: | ./gradlew build + ./gradlew clean # preserves configuration caches ./gradlew build ./gradlew build From d4ecd6bd12c70341251f38e344470cc52316a583 Mon Sep 17 00:00:00 2001 From: porotkin Date: Wed, 14 Jan 2026 11:15:49 +0200 Subject: [PATCH 19/20] CI Cache. Naming --- .github/workflows/ci-cache.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci-cache.yml b/.github/workflows/ci-cache.yml index eb274f71..54fad656 100644 --- a/.github/workflows/ci-cache.yml +++ b/.github/workflows/ci-cache.yml @@ -1,4 +1,4 @@ -name: CI +name: CI Cache on: workflow_dispatch: From d8a772d980a8dc7453e4d60aa600d2a9572e83c9 Mon Sep 17 00:00:00 2001 From: porotkin Date: Wed, 14 Jan 2026 11:16:57 +0200 Subject: [PATCH 20/20] CI Cache. Job naming --- .github/workflows/ci-cache.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci-cache.yml b/.github/workflows/ci-cache.yml index 54fad656..78dc642b 100644 --- a/.github/workflows/ci-cache.yml +++ b/.github/workflows/ci-cache.yml @@ -21,7 +21,7 @@ jobs: ./gradlew build ./gradlew build - cached-build: + build-clean-build: runs-on: ubuntu-latest