Skip to content

Commit ab8c7bb

Browse files
committed
Run PR validation on multiple OS
1 parent 2c4d627 commit ab8c7bb

File tree

1 file changed

+25
-7
lines changed

1 file changed

+25
-7
lines changed

.github/workflows/build.yml

Lines changed: 25 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,22 @@ concurrency:
1414

1515
jobs:
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
@@ -69,6 +86,7 @@ jobs:
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

Comments
 (0)