@@ -14,10 +14,22 @@ concurrency:
1414
1515jobs :
1616 validate-pr :
17- runs-on : macos-latest-xlarge
18- name : Validate PR
17+ runs-on : ${{ matrix.os }}
18+ name : Validate PR ${{ matrix.os }}
19+ strategy :
20+ fail-fast : false
21+ matrix :
22+ include :
23+ - os : macos-latest-xlarge
24+ java-opts : " -Xmx8g -Dfile.encoding=UTF-8 -Djava.awt.headless=true -Dkotlin.daemon.jvm.options=-Xmx6g"
25+ gradle-task : " clean ktlintCheck assemble macosArm64Test macosX64Test koverLog koverHtmlReport"
26+ test-type : " macos"
27+ - os : ubuntu-latest
28+ java-opts : " -Xmx4g -Dfile.encoding=UTF-8 -Djava.awt.headless=true -Dkotlin.daemon.jvm.options=-Xmx3g"
29+ gradle-task : " clean :kotlin-sdk-test:jvmTest"
30+ test-type : " jvm-docker"
1931 env :
20- JAVA_OPTS : " -Xmx8g -Dfile.encoding=UTF-8 -Djava.awt.headless=true -Dkotlin.daemon.jvm.options=-Xmx6g "
32+ JAVA_OPTS : " ${{ matrix.java-opts }} "
2133 TS_SDK_IMAGE : " registry.jetbrains.team/p/grazi/grazie-infra-public/typescript-sdk-mcp@sha256:585bd19d0f2c3e46250da4d128cf3f2e8c155dc387026927e319f556a4fd559f"
2234 steps :
2335 - uses : actions/checkout@v5
@@ -35,27 +47,32 @@ jobs:
3547 cache-read-only : true
3648
3749 - name : Build with Gradle
38- run : |-
39- ./gradlew clean ktlintCheck build koverLog koverHtmlReport
40- ./gradlew :kotlin-sdk-core:publishToMavenLocal :kotlin-sdk-client:publishToMavenLocal :kotlin-sdk-server:publishToMavenLocal
50+ run : ./gradlew ${{ matrix.gradle-task }}
51+
52+ - name : Publish to Maven Local (macOS only)
53+ if : matrix.test-type == 'macos'
54+ run : ./gradlew :kotlin-sdk-core:publishToMavenLocal :kotlin-sdk-client:publishToMavenLocal :kotlin-sdk-server:publishToMavenLocal
4155
4256 - name : Build Kotlin-MCP-Client Sample
57+ if : matrix.test-type == 'macos'
4358 working-directory : ./samples/kotlin-mcp-client
4459 run : ./../../gradlew clean build
4560
4661 - name : Build Kotlin-MCP-Server Sample
62+ if : matrix.test-type == 'macos'
4763 working-directory : ./samples/kotlin-mcp-server
4864 run : ./../../gradlew clean build
4965
5066 - name : Build Weather-Stdio-Server Sample
67+ if : matrix.test-type == 'macos'
5168 working-directory : ./samples/weather-stdio-server
5269 run : ./../../gradlew clean build
5370
5471 - name : Upload Reports
5572 if : ${{ !cancelled() }}
5673 uses : actions/upload-artifact@v4
5774 with :
58- name : reports
75+ name : reports-${{ matrix.test-type }}
5976 path : |
6077 **/build/reports/
6178
6986 include_empty_in_summary : false
7087 include_time_in_summary : true
7188 annotate_only : true
89+ check_name : Test Report (${{ matrix.test-type }})
7290
7391 - name : Disable Auto-Merge on Fail
7492 if : failure() && github.event_name == 'pull_request'
0 commit comments