This is an automated email from the ASF dual-hosted git repository.

dsmiley pushed a commit to branch feature/SOLR-17458
in repository https://gitbox.apache.org/repos/asf/solr.git


The following commit(s) were added to refs/heads/feature/SOLR-17458 by this 
push:
     new fa72717ce78 GHA renovation (#3396)
fa72717ce78 is described below

commit fa72717ce781b4b9619c47190d93c5d4e6ac074c
Author: David Smiley <[email protected]>
AuthorDate: Wed Jul 30 21:42:53 2025 -0400

    GHA renovation (#3396)
    
    * GHA renovation
    * branches (all)
    * timeout-minutes
    * checkout version
    * harmonization across scripts (spacing / wording / labels)
    * remove chmod for gradlew (unnecessary)
    * From Lucene: prepare-for-build
    * Refactor workflows to use our prepare-for-build
---
 .github/actions/prepare-for-build/action.yml | 40 ++++++++++++++++++++++++++++
 .github/workflows/bin-solr-test.yml          | 30 ++++++---------------
 .github/workflows/docker-test.yml            | 32 ++++++----------------
 .github/workflows/gradle-precommit.yml       | 35 ++++++------------------
 .github/workflows/solrj-test.yml             | 29 +++++---------------
 .github/workflows/tests-via-crave.yml        |  3 +--
 6 files changed, 72 insertions(+), 97 deletions(-)

diff --git a/.github/actions/prepare-for-build/action.yml 
b/.github/actions/prepare-for-build/action.yml
new file mode 100644
index 00000000000..4000a7c0d2a
--- /dev/null
+++ b/.github/actions/prepare-for-build/action.yml
@@ -0,0 +1,40 @@
+# This composite action is included in other workflows to have a shared setup
+# for java, gradle, caches, etc.
+
+name: Prepare build
+description: Creates a shared setup for other workflows
+
+inputs:
+  java-version:
+    required: false
+    default: "21"
+    description: "The default JDK version to set up."
+
+  java-distribution:
+    required: false
+    default: "temurin"
+    description: "The default JDK distribution type"
+
+runs:
+  using: "composite"
+  steps:
+    - name: Set up Java (${{ inputs.java-distribution }}, ${{ 
inputs.java-version }})"
+      uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # 
v4.7.1
+      with:
+        distribution: ${{ inputs.java-distribution }}
+        java-version: ${{ inputs.java-version }}
+        java-package: jdk
+
+    - name: Cache gradle-wrapper.jar
+      uses: actions/cache@v4
+      with:
+        path: gradle/wrapper/gradle-wrapper.jar
+        key: gradle-wrapper-${{ 
hashFiles('gradle/wrapper/gradle-wrapper.jar.sha256') }}
+
+    # This includes "smart" caching of gradle dependencies.
+    - name: Set up Gradle
+      uses: gradle/actions/setup-gradle@v4
+      with:
+        # increase expiry time for the temp. develocity token.
+        # 
https://github.com/gradle/actions/blob/main/docs/setup-gradle.md#increasing-the-expiry-time-for-develocity-access-tokens
+        develocity-token-expiry: 8
diff --git a/.github/workflows/bin-solr-test.yml 
b/.github/workflows/bin-solr-test.yml
index 7adb7bfa479..2eeb426dbee 100644
--- a/.github/workflows/bin-solr-test.yml
+++ b/.github/workflows/bin-solr-test.yml
@@ -3,8 +3,7 @@ name: Solr Script Tests
 on:
   pull_request:
     branches:
-      - 'main'
-      - 'branch_*'
+      - '*'
     paths:
       - '.github/workflows/bin-solr-test.yml'
       - 'solr/bin/**'
@@ -17,33 +16,20 @@ jobs:
     name: Run Solr Script Tests
 
     runs-on: ubuntu-latest
+    timeout-minutes: 40
 
     env:
       DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
 
     steps:
-    # Setup
-    - uses: actions/checkout@v4
-    - name: Set up JDK
-      uses: actions/setup-java@v4
-      with:
-        distribution: 'temurin'
-        java-version: 21
-        java-package: jdk
-    - name: Setup Gradle
-      uses: gradle/actions/setup-gradle@v4
-    - name: Grant execute permission for gradlew
-      run: chmod +x gradlew
-    - uses: actions/cache@v4
-      with:
-        path: |
-          ~/.gradle/caches
-        key: ${{ runner.os }}-gradle-binsolr-${{ hashFiles('**/*.lockfile') }}
-        restore-keys: |
-          ${{ runner.os }}-gradle-binsolr-
-          ${{ runner.os }}-gradle-
+    - name: Checkout code
+      uses: actions/checkout@v4
+
+    - uses: ./.github/actions/prepare-for-build
+
     - name: Test the bin/solr script
       run: ./gradlew integrationTests
+
     - name: Archive logs
       if: ${{ failure() }}
       uses: actions/upload-artifact@v4
diff --git a/.github/workflows/docker-test.yml 
b/.github/workflows/docker-test.yml
index 268c7572f38..df28c0b1df1 100644
--- a/.github/workflows/docker-test.yml
+++ b/.github/workflows/docker-test.yml
@@ -3,8 +3,7 @@ name: Docker Build & Test
 on:
   pull_request:
     branches:
-      - 'main'
-      - 'branch_*'
+      - '*'
     paths:
       - '.github/workflows/docker-test.yml'
       - 'solr/bin/**'
@@ -17,6 +16,7 @@ jobs:
     name: Build and test Docker image
 
     runs-on: ubuntu-latest
+    timeout-minutes: 15
 
     env:
       SOLR_DOCKER_IMAGE_REPO: github-pr/solr
@@ -24,29 +24,13 @@ jobs:
       DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
 
     steps:
-    # Setup
-    - uses: actions/checkout@v4
-    - name: Set up JDK 21
-      uses: actions/setup-java@v4
-      with:
-        distribution: 'temurin'
-        java-version: 21
-        java-package: jdk
-    - name: Setup Gradle
-      uses: gradle/actions/setup-gradle@v4
-    - name: Install ACL
-      run: sudo apt-get install acl
-    - name: Grant execute permission for gradlew
-      run: chmod +x gradlew
-    - uses: actions/cache@v4
-      with:
-        path: |
-          ~/.gradle/caches
-        key: ${{ runner.os }}-gradle-docker-${{ hashFiles('**/*.lockfile') }}
-        restore-keys: |
-          ${{ runner.os }}-gradle-docker-
-          ${{ runner.os }}-gradle-
+    - name: Checkout code
+      uses: actions/checkout@v4
+
+    - uses: ./.github/actions/prepare-for-build
+
     - name: Build Docker image with Gradle
       run: ./gradlew solr:docker:docker
+
     - name: Run tests on Docker image
       run: ./gradlew solr:docker:testDocker
diff --git a/.github/workflows/gradle-precommit.yml 
b/.github/workflows/gradle-precommit.yml
index 1be6bae7c61..25cb959bee8 100644
--- a/.github/workflows/gradle-precommit.yml
+++ b/.github/workflows/gradle-precommit.yml
@@ -3,45 +3,26 @@ name: Gradle Precommit
 on: 
   pull_request:
     branches:
-      - 'main'
-      - 'branch_*'
+      - '*'
 
 jobs:
   test:
     name: gradle check
 
     runs-on: ubuntu-latest
+    timeout-minutes: 15
 
     env:
       DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
 
     steps:
-    # Setup
-    - uses: actions/checkout@v4
-
-    - name: Set up JDK
-      uses: actions/setup-java@v4
-      with:
-        distribution: 'temurin'
-        java-version: 21
-        java-package: jdk
-
-    - name: Setup Gradle
-      uses: gradle/actions/setup-gradle@v4
-
-    - name: Grant execute permission for gradlew
-      run: chmod +x gradlew
-
-    - uses: actions/cache@v4
-      with:
-        path: |
-          ~/.gradle/caches
-        key: ${{ runner.os }}-gradle-precommit-${{ hashFiles('**/*.lockfile') 
}}
-        restore-keys: |
-          ${{ runner.os }}-gradle-precommit-
-          ${{ runner.os }}-gradle-
+    - name: Checkout code
+      uses: actions/checkout@v4
+
+    - uses: ./.github/actions/prepare-for-build
 
     - name: Run gradle check (without tests)
       run: ./gradlew check -x test -Ptask.times=true --continue
 
-    - uses: gradle/wrapper-validation-action@v3
+    - name: Validate Gradle wrapper
+      uses: gradle/actions/wrapper-validation@v4
diff --git a/.github/workflows/solrj-test.yml b/.github/workflows/solrj-test.yml
index 8842c13d9f1..ec8f8c7034f 100644
--- a/.github/workflows/solrj-test.yml
+++ b/.github/workflows/solrj-test.yml
@@ -3,8 +3,7 @@ name: SolrJ Tests
 on:
   pull_request:
     branches:
-      - 'main'
-      - 'branch_*'
+      - '*'
     paths:
       - '.github/workflows/solrj-test.yml'
       - 'solr/solrj/**'
@@ -14,30 +13,16 @@ jobs:
     name: Run SolrJ Tests
 
     runs-on: ubuntu-latest
+    timeout-minutes: 15
 
     env:
       DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
 
     steps:
-    # Setup
-    - uses: actions/checkout@v4
-    - name: Set up JDK 21
-      uses: actions/setup-java@v4
-      with:
-        distribution: 'temurin'
-        java-version: 21
-        java-package: jdk
-    - name: Setup Gradle
-      uses: gradle/actions/setup-gradle@v4
-    - name: Grant execute permission for gradlew
-      run: chmod +x gradlew
-    - uses: actions/cache@v4
-      with:
-        path: |
-          ~/.gradle/caches
-        key: ${{ runner.os }}-gradle-solrj-${{ hashFiles('**/*.lockfile') }}
-        restore-keys: |
-          ${{ runner.os }}-gradle-solrj-
-          ${{ runner.os }}-gradle-
+    - name: Checkout code
+      uses: actions/checkout@v4
+
+    - uses: ./.github/actions/prepare-for-build
+
     - name: Test the SolrJ Package
       run: ./gradlew solr:solrj:test
diff --git a/.github/workflows/tests-via-crave.yml 
b/.github/workflows/tests-via-crave.yml
index f9fbc61c9a3..02b0e99660f 100644
--- a/.github/workflows/tests-via-crave.yml
+++ b/.github/workflows/tests-via-crave.yml
@@ -3,8 +3,7 @@ name: Solr Tests
 on:
   pull_request:
     branches:
-      - 'main'
-      - 'branch_*'
+      - '*'
 
 jobs:
   test:

Reply via email to