From ea366375646632c54b039dd23df2aebf3a8fe445 Mon Sep 17 00:00:00 2001 From: Jagdish Prajapati Date: Mon, 8 Sep 2025 00:13:02 +0530 Subject: [PATCH 1/4] Run all tests if gradle file is changed --- bin/test-changed-exercise | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/bin/test-changed-exercise b/bin/test-changed-exercise index 776e940e1..1c3d6166c 100755 --- a/bin/test-changed-exercise +++ b/bin/test-changed-exercise @@ -13,9 +13,16 @@ MERGE_BASE=$(git merge-base HEAD origin/"$BASE_BRANCH") # Get changed files relative to merge base changed_files=$(git diff --name-only "$MERGE_BASE" HEAD) +# 🔹 NEW: If any Gradle build file changed, run the full suite and exit +if echo "$changed_files" | grep -qE '\.(gradle|gradlew|bat)$|settings\.gradle'; then + echo "Gradle build files changed, running full test suite..." + ./exercises/gradlew -p exercises test + exit 0 +fi + # Extract unique exercise directories changed_exercises=$(echo "$changed_files" | \ - grep -E '^exercises/(practice|concept)/[^/]+/.+\.(java|gradle)$' | \ + grep -E '^exercises/(practice|concept)/[^/]+/.+\.java$' | \ cut -d/ -f1-3 | sort -u) if [ -z "$changed_exercises" ]; then From e011ac8dff9b98714ebc5df18e1930f6c1230acb Mon Sep 17 00:00:00 2001 From: Jagdish Prajapati Date: Mon, 8 Sep 2025 16:16:43 +0530 Subject: [PATCH 2/4] Update job name --- .github/workflows/java.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/java.yml b/.github/workflows/java.yml index a966405ee..ad374a4f0 100644 --- a/.github/workflows/java.yml +++ b/.github/workflows/java.yml @@ -55,7 +55,7 @@ jobs: if: failure() test-changed: - name: Test changed exercises using java-test-runner + name: Test changed exercises using gradlew if: github.event_name == 'pull_request' runs-on: ubuntu-24.04 steps: From c3d3e3190325d0ca0d170d40fa3a62fd482f9859 Mon Sep 17 00:00:00 2001 From: Jagdish Prajapati Date: Tue, 9 Sep 2025 11:20:32 +0530 Subject: [PATCH 3/4] Update bin/test-changed-exercise Co-authored-by: Kah Goh --- bin/test-changed-exercise | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/test-changed-exercise b/bin/test-changed-exercise index 1c3d6166c..c6d7ed681 100755 --- a/bin/test-changed-exercise +++ b/bin/test-changed-exercise @@ -13,7 +13,7 @@ MERGE_BASE=$(git merge-base HEAD origin/"$BASE_BRANCH") # Get changed files relative to merge base changed_files=$(git diff --name-only "$MERGE_BASE" HEAD) -# 🔹 NEW: If any Gradle build file changed, run the full suite and exit +# If any Gradle build file changed, run the full suite and exit if echo "$changed_files" | grep -qE '\.(gradle|gradlew|bat)$|settings\.gradle'; then echo "Gradle build files changed, running full test suite..." ./exercises/gradlew -p exercises test From ef1cfa9a7db4a51417854ebbc488fd3ae3550d4e Mon Sep 17 00:00:00 2001 From: Jagdish Prajapati Date: Mon, 15 Sep 2025 19:23:28 +0530 Subject: [PATCH 4/4] Using test-with-test-runner for all exercise test --- bin/test-changed-exercise | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/test-changed-exercise b/bin/test-changed-exercise index c6d7ed681..debefeba3 100755 --- a/bin/test-changed-exercise +++ b/bin/test-changed-exercise @@ -16,7 +16,7 @@ changed_files=$(git diff --name-only "$MERGE_BASE" HEAD) # If any Gradle build file changed, run the full suite and exit if echo "$changed_files" | grep -qE '\.(gradle|gradlew|bat)$|settings\.gradle'; then echo "Gradle build files changed, running full test suite..." - ./exercises/gradlew -p exercises test + ./bin/test-with-test-runner exit 0 fi