Skip to content

Commit 751dd22

Browse files
authored
Merge pull request #48723 from gsmet/runs-on-add-tag
Add tag to RunsOn image to avoid race conditions
2 parents d2d1f0a + 6bdd178 commit 751dd22

File tree

4 files changed

+78
-24
lines changed

4 files changed

+78
-24
lines changed

.github/filter-jvm-tests-json.sh

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,19 @@ if [[ "${GITHUB_REPOSITORY:-DEFINED_ON_CI}" != "quarkusio/quarkus" ]]; then
1919
JSON=$(echo -n "$JSON" | jq 'map(. | select(.["os-name"]!="macos-arm64-latest"))')
2020
fi
2121

22+
JSON=$(echo "$JSON" | jq '
23+
map(
24+
. + {
25+
tag: (
26+
.name
27+
| ascii_downcase
28+
| gsub(" "; "-")
29+
| gsub("-+"; "-")
30+
)
31+
}
32+
)
33+
')
34+
2235
# Step 0: print unfiltered json and exit in case the parameter is '_all_' (full build) or print nothing if empty (no changes)
2336
if [ "$1" == '_all_' ]
2437
then
@@ -58,5 +71,4 @@ else
5871
JSON=$(echo -n $JSON | jq --arg category Integration --arg modules "${INTEGRATION_TESTS_COMMAND}" '( .[] | select(.category == $category) ).modules = $modules')
5972
fi
6073

61-
6274
echo \{java: ${JSON}\}

.github/filter-native-tests-json.sh

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,21 @@ PRG_PATH=$( cd "$(dirname "$0")" ; pwd -P )
1313

1414
JSON=$(cat ${PRG_PATH}/native-tests.json)
1515

16+
JSON=$( echo "$JSON" | jq '
17+
.include |= map(
18+
. + {
19+
tag: (
20+
"native-" +
21+
(.category
22+
| ascii_downcase
23+
| gsub(" "; "-")
24+
| gsub("-+"; "-")
25+
)
26+
)
27+
}
28+
)
29+
')
30+
1631
# Step 0: print unfiltered json and exit in case the parameter is '_all_' (full build) or print nothing if empty (no changes)
1732
if [ "$1" == '_all_' ]
1833
then

.github/filter-virtual-threads-tests-json.sh

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,21 @@ PRG_PATH=$( cd "$(dirname "$0")" ; pwd -P )
1313

1414
JSON=$(cat ${PRG_PATH}/virtual-threads-tests.json)
1515

16+
JSON=$( echo "$JSON" | jq '
17+
.include |= map(
18+
. + {
19+
tag: (
20+
"virtual-threads-" +
21+
(.category
22+
| ascii_downcase
23+
| gsub(" "; "-")
24+
| gsub("-+"; "-")
25+
)
26+
)
27+
}
28+
)
29+
')
30+
1631
# Step 0: print unfiltered json and exit in case the parameter is '_all_' (full build) or print nothing if empty (no changes)
1732
if [ "$1" == '_all_' ]
1833
then

.github/workflows/ci-actions-incremental.yml

Lines changed: 35 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -204,7 +204,7 @@ jobs:
204204
build-jdk17:
205205
name: "Initial JDK 17 Build"
206206
needs: [ configure ]
207-
runs-on: ${{ fromJson(needs.configure.outputs.config).runners['ubuntu-latest'].runsOn || 'ubuntu-latest' }}
207+
runs-on: ${{ fromJson(needs.configure.outputs.config).runners['ubuntu-latest'].runsOn && format('{0}/tag={1}', fromJson(needs.configure.outputs.config).runners['ubuntu-latest'].runsOn, 'initial-jdk-17') || 'ubuntu-latest' }}
208208
env:
209209
COMMON_MAVEN_ARGS: ${{ needs.configure.outputs.common-maven-args }}
210210
RUNS_ON_ENABLED: ${{ fromJson(needs.configure.outputs.config).runners['ubuntu-latest'].runsOn && 'true' || 'false' }}
@@ -428,7 +428,7 @@ jobs:
428428
429429
jvm-tests:
430430
name: ${{ matrix.java.name }}
431-
runs-on: ${{ fromJson(needs.configure.outputs.config).runners[matrix.java.os-name].runsOn || matrix.java.os-name }}
431+
runs-on: ${{ fromJson(needs.configure.outputs.config).runners[matrix.java.os-name].runsOn && format('{0}/tag={1}', fromJson(needs.configure.outputs.config).runners[matrix.java.os-name].runsOn, matrix.java.tag) || matrix.java.os-name }}
432432
needs: [configure, build-jdk17, calculate-test-jobs]
433433
if: needs.calculate-test-jobs.outputs.jvm_matrix
434434
timeout-minutes: 400
@@ -588,7 +588,7 @@ jobs:
588588

589589
maven-tests:
590590
name: Maven Tests - JDK ${{matrix.java.name}}
591-
runs-on: ${{ fromJson(needs.configure.outputs.config).runners[matrix.java.os-name].runsOn || matrix.java.os-name }}
591+
runs-on: ${{ fromJson(needs.configure.outputs.config).runners[matrix.java.os-name].runsOn && format('{0}/tag={1}', fromJson(needs.configure.outputs.config).runners[matrix.java.os-name].runsOn, matrix.java.tag) || matrix.java.os-name }}
592592
needs: [configure, build-jdk17, calculate-test-jobs]
593593
env:
594594
MAVEN_OPTS: -Xmx2g -XX:MaxMetaspaceSize=1g
@@ -604,12 +604,14 @@ jobs:
604604
- {
605605
name: "17",
606606
java-version: 17,
607-
os-name: "ubuntu-latest"
607+
os-name: "ubuntu-latest",
608+
tag: "maven-jdk-17"
608609
}
609610
- {
610611
name: "17 Windows",
611612
java-version: 17,
612-
os-name: "windows-latest"
613+
os-name: "windows-latest",
614+
tag: "maven-jdk-17-windows"
613615
}
614616
steps:
615617
- uses: runs-on/action@v2
@@ -697,7 +699,7 @@ jobs:
697699

698700
gradle-tests:
699701
name: Gradle Tests - JDK ${{matrix.java.name}}
700-
runs-on: ${{ fromJson(needs.configure.outputs.config).runners[matrix.java.os-name].runsOn || matrix.java.os-name }}
702+
runs-on: ${{ fromJson(needs.configure.outputs.config).runners[matrix.java.os-name].runsOn && format('{0}/tag={1}', fromJson(needs.configure.outputs.config).runners[matrix.java.os-name].runsOn, matrix.java.tag) || matrix.java.os-name }}
701703
needs: [configure, build-jdk17, calculate-test-jobs]
702704
env:
703705
# leave more space for the actual gradle execution (which is just wrapped by maven)
@@ -714,12 +716,14 @@ jobs:
714716
- {
715717
name: "17",
716718
java-version: 17,
717-
os-name: "ubuntu-latest"
719+
os-name: "ubuntu-latest",
720+
tag: "gradle-jdk-17"
718721
}
719722
- {
720723
name: "17 Windows",
721724
java-version: 17,
722-
os-name: "windows-latest"
725+
os-name: "windows-latest",
726+
tag: "gradle-jdk-17-windows"
723727
}
724728
steps:
725729
- uses: runs-on/action@v2
@@ -790,7 +794,7 @@ jobs:
790794

791795
devtools-tests:
792796
name: Devtools Tests - JDK ${{matrix.java.name}}
793-
runs-on: ${{ fromJson(needs.configure.outputs.config).runners[matrix.java.os-name].runsOn || matrix.java.os-name }}
797+
runs-on: ${{ fromJson(needs.configure.outputs.config).runners[matrix.java.os-name].runsOn && format('{0}/tag={1}', fromJson(needs.configure.outputs.config).runners[matrix.java.os-name].runsOn, matrix.java.tag) || matrix.java.os-name }}
794798
needs: [configure, build-jdk17, calculate-test-jobs]
795799
# Skip main in forks
796800
if: needs.calculate-test-jobs.outputs.run_devtools == 'true'
@@ -805,17 +809,20 @@ jobs:
805809
- {
806810
name: "17",
807811
java-version: 17,
808-
os-name: "ubuntu-latest"
812+
os-name: "ubuntu-latest",
813+
tag: "devtools-jdk-17"
809814
}
810815
- {
811816
name: "21",
812817
java-version: 21,
813-
os-name: "ubuntu-latest"
818+
os-name: "ubuntu-latest",
819+
tag: "devtools-jdk-21"
814820
}
815821
- {
816822
name: "17 Windows",
817823
java-version: 17,
818-
os-name: "windows-latest"
824+
os-name: "windows-latest",
825+
tag: "devtools-jdk-17-windows"
819826
}
820827
steps:
821828
- uses: runs-on/action@v2
@@ -890,7 +897,7 @@ jobs:
890897

891898
kubernetes-tests:
892899
name: Kubernetes Tests - JDK ${{matrix.java.name}}
893-
runs-on: ${{ fromJson(needs.configure.outputs.config).runners[matrix.java.os-name].runsOn || matrix.java.os-name }}
900+
runs-on: ${{ fromJson(needs.configure.outputs.config).runners[matrix.java.os-name].runsOn && format('{0}/tag={1}', fromJson(needs.configure.outputs.config).runners[matrix.java.os-name].runsOn, matrix.java.tag) || matrix.java.os-name }}
894901
needs: [configure, build-jdk17, calculate-test-jobs]
895902
# Skip main in forks
896903
if: needs.calculate-test-jobs.outputs.run_kubernetes == 'true'
@@ -905,17 +912,20 @@ jobs:
905912
- {
906913
name: "17",
907914
java-version: 17,
908-
os-name: "ubuntu-latest"
915+
os-name: "ubuntu-latest",
916+
tag: "kubernetes-jdk-17"
909917
}
910918
- {
911919
name: "21",
912920
java-version: 21,
913-
os-name: "ubuntu-latest"
921+
os-name: "ubuntu-latest",
922+
tag: "kubernetes-jdk-21"
914923
}
915924
- {
916925
name: "17 Windows",
917926
java-version: 17,
918-
os-name: "windows-latest"
927+
os-name: "windows-latest",
928+
tag: "kubernetes-jdk-17-windows"
919929
}
920930
steps:
921931
- uses: runs-on/action@v2
@@ -990,7 +1000,7 @@ jobs:
9901000

9911001
quickstarts-tests:
9921002
name: Quickstarts Compilation - JDK ${{matrix.java.name}}
993-
runs-on: ${{ fromJson(needs.configure.outputs.config).runners[matrix.java.os-name].runsOn || matrix.java.os-name }}
1003+
runs-on: ${{ fromJson(needs.configure.outputs.config).runners[matrix.java.os-name].runsOn && format('{0}/tag={1}', fromJson(needs.configure.outputs.config).runners[matrix.java.os-name].runsOn, matrix.java.tag) || matrix.java.os-name }}
9941004
needs: [configure, build-jdk17, calculate-test-jobs]
9951005
# Skip main in forks
9961006
if: needs.calculate-test-jobs.outputs.run_quickstarts == 'true'
@@ -1005,7 +1015,8 @@ jobs:
10051015
- {
10061016
name: "17",
10071017
java-version: 17,
1008-
os-name: "ubuntu-latest"
1018+
os-name: "ubuntu-latest",
1019+
tag: "quickstarts-jdk-17"
10091020
}
10101021
steps:
10111022
- uses: runs-on/action@v2
@@ -1087,7 +1098,7 @@ jobs:
10871098

10881099
platform-tests:
10891100
name: Platform Tests - JDK ${{matrix.java.name}}
1090-
runs-on: ${{ fromJson(needs.configure.outputs.config).runners[matrix.java.os-name].runsOn || matrix.java.os-name }}
1101+
runs-on: ${{ fromJson(needs.configure.outputs.config).runners[matrix.java.os-name].runsOn && format('{0}/tag={1}', fromJson(needs.configure.outputs.config).runners[matrix.java.os-name].runsOn, matrix.java.tag) || matrix.java.os-name }}
10911102
needs: [configure, build-jdk17, calculate-test-jobs]
10921103
# Skip main in forks
10931104
if: ${{ contains( github.event.pull_request.labels.*.name, 'ci/test-platform') }}
@@ -1102,7 +1113,8 @@ jobs:
11021113
- {
11031114
name: "17",
11041115
java-version: 17,
1105-
os-name: "ubuntu-latest"
1116+
os-name: "ubuntu-latest",
1117+
tag: "platform-jdk-17"
11061118
}
11071119
steps:
11081120
- uses: runs-on/action@v2
@@ -1184,7 +1196,7 @@ jobs:
11841196

11851197
virtual-thread-native-tests:
11861198
name: Native Tests - Virtual Thread - ${{matrix.category}}
1187-
runs-on: ${{ fromJson(needs.configure.outputs.config).runners[matrix.os-name].runsOn || matrix.os-name }}
1199+
runs-on: ${{ fromJson(needs.configure.outputs.config).runners[matrix.os-name].runsOn && format('{0}/tag={1}', fromJson(needs.configure.outputs.config).runners[matrix.os-name].runsOn, matrix.tag) || matrix.os-name }}
11881200
needs: [configure, build-jdk17, calculate-test-jobs]
11891201
# Skip main in forks
11901202
if: needs.calculate-test-jobs.outputs.virtual_threads_matrix != '{}'
@@ -1268,7 +1280,7 @@ jobs:
12681280
needs: [configure, build-jdk17, calculate-test-jobs]
12691281
# Skip main in forks
12701282
if: needs.calculate-test-jobs.outputs.run_tcks == 'true'
1271-
runs-on: ${{ fromJson(needs.configure.outputs.config).runners['ubuntu-latest'].runsOn || 'ubuntu-latest' }}
1283+
runs-on: ${{ fromJson(needs.configure.outputs.config).runners['ubuntu-latest'].runsOn && format('{0}/tag={1}', fromJson(needs.configure.outputs.config).runners['ubuntu-latest'].runsOn, 'microprofile-tcks') || 'ubuntu-latest' }}
12721284
env:
12731285
COMMON_MAVEN_ARGS: ${{ needs.configure.outputs.common-maven-args }}
12741286
RUNS_ON_ENABLED: ${{ fromJson(needs.configure.outputs.config).runners['ubuntu-latest'].runsOn && 'true' || 'false' }}
@@ -1356,7 +1368,7 @@ jobs:
13561368
native-tests:
13571369
name: Native Tests - ${{matrix.category}}
13581370
needs: [configure, build-jdk17, calculate-test-jobs]
1359-
runs-on: ${{ fromJson(needs.configure.outputs.config).runners[matrix.os-name].runsOn || matrix.os-name }}
1371+
runs-on: ${{ fromJson(needs.configure.outputs.config).runners[matrix.os-name].runsOn && format('{0}/tag={1}', fromJson(needs.configure.outputs.config).runners[matrix.os-name].runsOn, matrix.tag) || matrix.os-name }}
13601372
env:
13611373
# leave more space for the actual native compilation and execution
13621374
MAVEN_OPTS: -Xmx1g

0 commit comments

Comments
 (0)