You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@grails.apache.org by jd...@apache.org on 2026/07/07 17:37:22 UTC
(grails-core) branch ci/branch-keyed-dependency-cache created (now 6daf2d1903)
This is an automated email from the ASF dual-hosted git repository.
jdaugherty pushed a change to branch ci/branch-keyed-dependency-cache
in repository https://gitbox.apache.org/repos/asf/grails-core.git
at 6daf2d1903 Adjust caching so we do not overload the 10 gig limit that GitHub provides
This branch includes the following new commits:
new 6daf2d1903 Adjust caching so we do not overload the 10 gig limit that GitHub provides
The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
(grails-core) 01/01: Adjust caching so we do not overload the 10 gig limit that GitHub provides
Posted by jd...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
jdaugherty pushed a commit to branch ci/branch-keyed-dependency-cache
in repository https://gitbox.apache.org/repos/asf/grails-core.git
commit 6daf2d1903abf38f3b14aa1c81cf0fd670906166
Author: James Daugherty <jd...@jdresources.net>
AuthorDate: Tue Jul 7 13:36:20 2026 -0400
Adjust caching so we do not overload the 10 gig limit that GitHub provides
---
.github/workflows/gradle.yml | 144 ++++++++++++++++++++++++++++
.github/workflows/groovy-joint-workflow.yml | 22 +++--
2 files changed, 157 insertions(+), 9 deletions(-)
diff --git a/.github/workflows/gradle.yml b/.github/workflows/gradle.yml
index 30e0138267..2eb9c1a0cd 100644
--- a/.github/workflows/gradle.yml
+++ b/.github/workflows/gradle.yml
@@ -36,9 +36,21 @@ jobs:
with:
distribution: liberica
java-version: 17
+ - name: "🗄️ Restore dependency jar cache"
+ uses: actions/cache@v4
+ with:
+ # Cache only downloaded dependency jars and wrapper distributions, never Grails build outputs.
+ # Keyed by branch version so each release branch maintains its own warm cache.
+ path: |
+ ~/.gradle/caches/modules-2
+ ~/.gradle/wrapper
+ key: gradle-deps-${{ runner.os }}-${{ github.base_ref || github.ref_name }}-${{ hashFiles('**/dependencies.gradle', '**/gradle-wrapper.properties') }}
+ restore-keys: |
+ gradle-deps-${{ runner.os }}-${{ github.base_ref || github.ref_name }}-
- name: "🐘 Setup Gradle"
uses: gradle/actions/setup-gradle@4d9f0ba0025fe599b4ebab900eb7f3a1d93ef4c2 # v5.0.0
with:
+ cache-disabled: true # dependency jars are cached by the explicit branch-keyed step above
develocity-access-key: ${{ secrets.GRAILS_DEVELOCITY_ACCESS_KEY }}
- name: "🔍 Validate grails-core dependency versions"
run: >
@@ -68,9 +80,21 @@ jobs:
with:
distribution: liberica
java-version: ${{ matrix.java }}
+ - name: "🗄️ Restore dependency jar cache"
+ uses: actions/cache@v4
+ with:
+ # Cache only downloaded dependency jars and wrapper distributions, never Grails build outputs.
+ # Keyed by branch version so each release branch maintains its own warm cache.
+ path: |
+ ~/.gradle/caches/modules-2
+ ~/.gradle/wrapper
+ key: gradle-deps-${{ runner.os }}-${{ github.base_ref || github.ref_name }}-${{ hashFiles('**/dependencies.gradle', '**/gradle-wrapper.properties') }}
+ restore-keys: |
+ gradle-deps-${{ runner.os }}-${{ github.base_ref || github.ref_name }}-
- name: "🐘 Setup Gradle"
uses: gradle/actions/setup-gradle@4d9f0ba0025fe599b4ebab900eb7f3a1d93ef4c2 # v5.0.0
with:
+ cache-disabled: true # dependency jars are cached by the explicit branch-keyed step above
develocity-access-key: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
- name: "🔍 Setup TestLens"
uses: testlens-app/setup-testlens@v1
@@ -120,9 +144,21 @@ jobs:
with:
distribution: liberica
java-version: ${{ matrix.java }}
+ - name: "🗄️ Restore dependency jar cache"
+ uses: actions/cache@v4
+ with:
+ # Cache only downloaded dependency jars and wrapper distributions, never Grails build outputs.
+ # Keyed by branch version so each release branch maintains its own warm cache.
+ path: |
+ ~/.gradle/caches/modules-2
+ ~/.gradle/wrapper
+ key: gradle-deps-${{ runner.os }}-${{ github.base_ref || github.ref_name }}-${{ hashFiles('**/dependencies.gradle', '**/gradle-wrapper.properties') }}
+ restore-keys: |
+ gradle-deps-${{ runner.os }}-${{ github.base_ref || github.ref_name }}-
- name: "🐘 Setup Gradle"
uses: gradle/actions/setup-gradle@4d9f0ba0025fe599b4ebab900eb7f3a1d93ef4c2 # v5.0.0
with:
+ cache-disabled: true # dependency jars are cached by the explicit branch-keyed step above
develocity-access-key: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
- name: "🔍 Setup TestLens"
uses: testlens-app/setup-testlens@v1
@@ -153,9 +189,21 @@ jobs:
with:
distribution: liberica
java-version: ${{ matrix.java }}
+ - name: "🗄️ Restore dependency jar cache"
+ uses: actions/cache@v4
+ with:
+ # Cache only downloaded dependency jars and wrapper distributions, never Grails build outputs.
+ # Keyed by branch version so each release branch maintains its own warm cache.
+ path: |
+ ~/.gradle/caches/modules-2
+ ~/.gradle/wrapper
+ key: gradle-deps-${{ runner.os }}-${{ github.base_ref || github.ref_name }}-${{ hashFiles('**/dependencies.gradle', '**/gradle-wrapper.properties') }}
+ restore-keys: |
+ gradle-deps-${{ runner.os }}-${{ github.base_ref || github.ref_name }}-
- name: "🐘 Setup Gradle"
uses: gradle/actions/setup-gradle@4d9f0ba0025fe599b4ebab900eb7f3a1d93ef4c2 # v5.0.0
with:
+ cache-disabled: true # dependency jars are cached by the explicit branch-keyed step above
develocity-access-key: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
- name: "🔍 Setup TestLens"
uses: testlens-app/setup-testlens@v1
@@ -184,9 +232,21 @@ jobs:
with:
distribution: 'liberica'
java-version: ${{ matrix.java }}
+ - name: "🗄️ Restore dependency jar cache"
+ uses: actions/cache@v4
+ with:
+ # Cache only downloaded dependency jars and wrapper distributions, never Grails build outputs.
+ # Keyed by branch version so each release branch maintains its own warm cache.
+ path: |
+ ~/.gradle/caches/modules-2
+ ~/.gradle/wrapper
+ key: gradle-deps-${{ runner.os }}-${{ github.base_ref || github.ref_name }}-${{ hashFiles('**/dependencies.gradle', '**/gradle-wrapper.properties') }}
+ restore-keys: |
+ gradle-deps-${{ runner.os }}-${{ github.base_ref || github.ref_name }}-
- name: "🐘 Setup Gradle"
uses: gradle/actions/setup-gradle@4d9f0ba0025fe599b4ebab900eb7f3a1d93ef4c2 # v5.0.0
with:
+ cache-disabled: true # dependency jars are cached by the explicit branch-keyed step above
develocity-access-key: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
- name: "🔍 Setup TestLens"
uses: testlens-app/setup-testlens@v1
@@ -242,9 +302,21 @@ jobs:
with:
distribution: liberica
java-version: ${{ matrix.java }}
+ - name: "🗄️ Restore dependency jar cache"
+ uses: actions/cache@v4
+ with:
+ # Cache only downloaded dependency jars and wrapper distributions, never Grails build outputs.
+ # Keyed by branch version so each release branch maintains its own warm cache.
+ path: |
+ ~/.gradle/caches/modules-2
+ ~/.gradle/wrapper
+ key: gradle-deps-${{ runner.os }}-${{ github.base_ref || github.ref_name }}-${{ hashFiles('**/dependencies.gradle', '**/gradle-wrapper.properties') }}
+ restore-keys: |
+ gradle-deps-${{ runner.os }}-${{ github.base_ref || github.ref_name }}-
- name: "🐘 Setup Gradle"
uses: gradle/actions/setup-gradle@4d9f0ba0025fe599b4ebab900eb7f3a1d93ef4c2 # v5.0.0
with:
+ cache-disabled: true # dependency jars are cached by the explicit branch-keyed step above
develocity-access-key: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
- name: "🔍 Setup TestLens"
uses: testlens-app/setup-testlens@v1
@@ -278,9 +350,21 @@ jobs:
with:
distribution: liberica
java-version: ${{ matrix.java }}
+ - name: "🗄️ Restore dependency jar cache"
+ uses: actions/cache@v4
+ with:
+ # Cache only downloaded dependency jars and wrapper distributions, never Grails build outputs.
+ # Keyed by branch version so each release branch maintains its own warm cache.
+ path: |
+ ~/.gradle/caches/modules-2
+ ~/.gradle/wrapper
+ key: gradle-deps-${{ runner.os }}-${{ github.base_ref || github.ref_name }}-${{ hashFiles('**/dependencies.gradle', '**/gradle-wrapper.properties') }}
+ restore-keys: |
+ gradle-deps-${{ runner.os }}-${{ github.base_ref || github.ref_name }}-
- name: "🐘 Setup Gradle"
uses: gradle/actions/setup-gradle@4d9f0ba0025fe599b4ebab900eb7f3a1d93ef4c2 # v5.0.0
with:
+ cache-disabled: true # dependency jars are cached by the explicit branch-keyed step above
develocity-access-key: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
- name: "🏃 Run Functional Tests"
env:
@@ -311,9 +395,21 @@ jobs:
with:
distribution: liberica
java-version: ${{ matrix.java }}
+ - name: "🗄️ Restore dependency jar cache"
+ uses: actions/cache@v4
+ with:
+ # Cache only downloaded dependency jars and wrapper distributions, never Grails build outputs.
+ # Keyed by branch version so each release branch maintains its own warm cache.
+ path: |
+ ~/.gradle/caches/modules-2
+ ~/.gradle/wrapper
+ key: gradle-deps-${{ runner.os }}-${{ github.base_ref || github.ref_name }}-${{ hashFiles('**/dependencies.gradle', '**/gradle-wrapper.properties') }}
+ restore-keys: |
+ gradle-deps-${{ runner.os }}-${{ github.base_ref || github.ref_name }}-
- name: "🐘 Setup Gradle"
uses: gradle/actions/setup-gradle@4d9f0ba0025fe599b4ebab900eb7f3a1d93ef4c2 # v5.0.0
with:
+ cache-disabled: true # dependency jars are cached by the explicit branch-keyed step above
develocity-access-key: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
- name: "🏃 Run Functional Tests"
env:
@@ -339,9 +435,21 @@ jobs:
with:
distribution: liberica
java-version: 17
+ - name: "🗄️ Restore dependency jar cache"
+ uses: actions/cache@v4
+ with:
+ # Cache only downloaded dependency jars and wrapper distributions, never Grails build outputs.
+ # Keyed by branch version so each release branch maintains its own warm cache.
+ path: |
+ ~/.gradle/caches/modules-2
+ ~/.gradle/wrapper
+ key: gradle-deps-${{ runner.os }}-${{ github.base_ref || github.ref_name }}-${{ hashFiles('**/dependencies.gradle', '**/gradle-wrapper.properties') }}
+ restore-keys: |
+ gradle-deps-${{ runner.os }}-${{ github.base_ref || github.ref_name }}-
- name: "🐘 Setup Gradle"
uses: gradle/actions/setup-gradle@4d9f0ba0025fe599b4ebab900eb7f3a1d93ef4c2 # v5.0.0
with:
+ cache-disabled: true # dependency jars are cached by the explicit branch-keyed step above
develocity-access-key: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
- name: "🔍 Setup TestLens"
uses: testlens-app/setup-testlens@v1
@@ -389,9 +497,21 @@ jobs:
with:
distribution: liberica
java-version: 17
+ - name: "🗄️ Restore dependency jar cache"
+ uses: actions/cache@v4
+ with:
+ # Cache only downloaded dependency jars and wrapper distributions, never Grails build outputs.
+ # Keyed by branch version so each release branch maintains its own warm cache.
+ path: |
+ ~/.gradle/caches/modules-2
+ ~/.gradle/wrapper
+ key: gradle-deps-${{ runner.os }}-${{ github.base_ref || github.ref_name }}-${{ hashFiles('**/dependencies.gradle', '**/gradle-wrapper.properties') }}
+ restore-keys: |
+ gradle-deps-${{ runner.os }}-${{ github.base_ref || github.ref_name }}-
- name: "🐘 Setup Gradle"
uses: gradle/actions/setup-gradle@4d9f0ba0025fe599b4ebab900eb7f3a1d93ef4c2 # v5.0.0
with:
+ cache-disabled: true # dependency jars are cached by the explicit branch-keyed step above
develocity-access-key: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
- name: "🔍 Setup TestLens"
uses: testlens-app/setup-testlens@v1
@@ -443,9 +563,21 @@ jobs:
with:
distribution: liberica
java-version: 17
+ - name: "🗄️ Restore dependency jar cache"
+ uses: actions/cache@v4
+ with:
+ # Cache only downloaded dependency jars and wrapper distributions, never Grails build outputs.
+ # Keyed by branch version so each release branch maintains its own warm cache.
+ path: |
+ ~/.gradle/caches/modules-2
+ ~/.gradle/wrapper
+ key: gradle-deps-${{ runner.os }}-${{ github.base_ref || github.ref_name }}-${{ hashFiles('**/dependencies.gradle', '**/gradle-wrapper.properties') }}
+ restore-keys: |
+ gradle-deps-${{ runner.os }}-${{ github.base_ref || github.ref_name }}-
- name: "🐘 Setup Gradle"
uses: gradle/actions/setup-gradle@4d9f0ba0025fe599b4ebab900eb7f3a1d93ef4c2 # v5.0.0
with:
+ cache-disabled: true # dependency jars are cached by the explicit branch-keyed step above
develocity-access-key: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
- name: "🔍 Setup TestLens"
uses: testlens-app/setup-testlens@v1
@@ -542,9 +674,21 @@ jobs:
with:
distribution: liberica
java-version: 17
+ - name: "🗄️ Restore dependency jar cache"
+ uses: actions/cache@v4
+ with:
+ # Cache only downloaded dependency jars and wrapper distributions, never Grails build outputs.
+ # Keyed by branch version so each release branch maintains its own warm cache.
+ path: |
+ ~/.gradle/caches/modules-2
+ ~/.gradle/wrapper
+ key: gradle-deps-${{ runner.os }}-${{ github.base_ref || github.ref_name }}-${{ hashFiles('**/dependencies.gradle', '**/gradle-wrapper.properties') }}
+ restore-keys: |
+ gradle-deps-${{ runner.os }}-${{ github.base_ref || github.ref_name }}-
- name: "🐘 Setup Gradle"
uses: gradle/actions/setup-gradle@4d9f0ba0025fe599b4ebab900eb7f3a1d93ef4c2 # v5.0.0
with:
+ cache-disabled: true # dependency jars are cached by the explicit branch-keyed step above
develocity-access-key: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
- name: "🔨 Build Snapshot Documentation"
run: >
diff --git a/.github/workflows/groovy-joint-workflow.yml b/.github/workflows/groovy-joint-workflow.yml
index a58589042b..270ea10b98 100644
--- a/.github/workflows/groovy-joint-workflow.yml
+++ b/.github/workflows/groovy-joint-workflow.yml
@@ -40,11 +40,6 @@ jobs:
with:
java-version: 17
distribution: liberica
- - name: "🗄️ Cache local Maven repository"
- uses: actions/cache@v4
- with:
- path: ~/.m2/repository
- key: cache-local-maven-${{ github.sha }}
- name: "📥 Checkout Grails Core to fetch Gradle Plugin versions it uses"
uses: actions/checkout@v6
with:
@@ -65,6 +60,7 @@ jobs:
- name: "🐘 Setup Gradle"
uses: gradle/actions/setup-gradle@4d9f0ba0025fe599b4ebab900eb7f3a1d93ef4c2 # v5.0.0
with:
+ cache-disabled: true # this workflow rebuilds Groovy each run; a Gradle home cache is not useful here
develocity-access-key: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
- name: "🔍 Setup TestLens"
uses: testlens-app/setup-testlens@v1
@@ -123,6 +119,13 @@ jobs:
run: |
cd groovy
./gradlew pTML -x groovydoc -x javadoc -x javadocAll -x groovydocAll -x asciidoc -x docGDK
+ - name: "📤 Share locally built Groovy artifacts with the build_grails job"
+ uses: actions/upload-artifact@v7.0.1
+ with:
+ name: local-groovy-maven-repo
+ path: ~/.m2/repository/org/apache/groovy/
+ if-no-files-found: 'error'
+ retention-days: 1
build_grails:
needs: [build_groovy]
@@ -148,14 +151,15 @@ jobs:
- name: "🐘 Setup Gradle"
uses: gradle/actions/setup-gradle@4d9f0ba0025fe599b4ebab900eb7f3a1d93ef4c2 # v5.0.0
with:
+ cache-disabled: true # this workflow rebuilds Groovy each run; a Gradle home cache is not useful here
develocity-access-key: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
- name: "🔍 Setup TestLens"
uses: testlens-app/setup-testlens@v1
- - name: "🗄️ Restore local Maven repository from cache"
- uses: actions/cache@v4
+ - name: "📥 Fetch the locally built Groovy artifacts"
+ uses: actions/download-artifact@v7.0.0
with:
- path: ~/.m2/repository
- key: cache-local-maven-${{ github.sha }}
+ name: local-groovy-maven-repo
+ path: ~/.m2/repository/org/apache/groovy
- name: 'Swap Groovy Version'
run: |
sed -i "/['\"]groovy\.version['\"][[:space:]]*:/c\'groovy.version':'${{ needs.build_groovy.outputs.groovyVersion }}'," dependencies.gradle