@@ -54,20 +54,23 @@ jobs:
5454 TEST_DIR="powertools-e2e-tests/src/test/java"
5555 POM="powertools-e2e-tests/pom.xml"
5656
57- # e2e profile uses **/*E2ET.java — find all matching test files
58- E2E_CLASSES=$(find "$TEST_DIR" -name '*E2ET.java' | xargs -n1 basename | sed 's/\.java$//' | sort | jq -R . | jq -sc .)
59-
60- # Extract include patterns from e2e-graal profile, then match against test files
61- GRAAL_CLASSES=$(
62- awk ' /<id>e2e-graal<\ /id>/,/<\/profile>/' "$POM" \
57+ # Extracts <include> patterns from a POM profile, resolves them
58+ # against the test directory, and outputs a compact JSON array
59+ # of class names (without .java suffix).
60+ resolve_classes() {
61+ local profile_id="$1"
62+ awk " /<id>${profile_id}<\\ /id>/,/<\\ /profile>/" "$POM" \
6363 | grep '<include>' \
6464 | sed 's/.*<include>\(.*\)<\/include>.*/\1/' \
6565 | while read -r pattern; do
6666 filename="${pattern##*/}"
67- find "$TEST_DIR" -name "$filename" | xargs -n1 basename | sed 's/\.java$//'
67+ find "$TEST_DIR" -name "$filename" -print0 | xargs -0 -r basename -a
6868 done \
69- | sort | jq -R . | jq -sc .
70- )
69+ | sed 's/\.java$//' | sort -u | jq -R . | jq -sc .
70+ }
71+
72+ E2E_CLASSES=$(resolve_classes "e2e")
73+ GRAAL_CLASSES=$(resolve_classes "e2e-graal")
7174
7275 echo "e2e test classes: $E2E_CLASSES"
7376 echo "e2e-graal test classes: $GRAAL_CLASSES"
@@ -149,7 +152,7 @@ jobs:
149152 java-version : ${{ matrix.java }}
150153 cache : maven
151154 - name : Build all modules
152- run : mvn -DskipTests -ntp install --file pom.xml
155+ run : mvn -B - DskipTests -ntp install --file pom.xml
153156 - name : Setup AWS credentials
154157 uses : aws-actions/configure-aws-credentials@8df5847569e6427dd6c4fb1cf565c83acfa8afa7 # v6.0.0
155158 with :
0 commit comments