fix: Update/Fix build workflow (#474)

# Update/Fix build workflow

- `macos-latest-xlarge` is no longer available. Switch to cheaper
runner: `macos-latest-xlarge` -> `macos-latest`
- Refactor build to run matrix job under Linux and macOS
- Tune caching GH caching
- Add junit and logger properties
- Downgrade Junit to 5.14.2
- Extract `ProcessBuilder` creation logic into helper functions
- Disable `StdioClientTransportTest` on windows temporary

## How Has This Been Tested?
CI

## Breaking Changes
Functionally - no. Outdated/broken TypeScript tests were disabled

## Types of changes
<!-- What types of changes does your code introduce? Put an `x` in all
the boxes that apply: -->
- [x] Bug fix (non-breaking change which fixes an issue)
- [x] CI Update

## Checklist
<!-- Go over all the following points, and put an `x` in all the boxes
that apply. -->
- [ ] I have read the [MCP
Documentation](https://modelcontextprotocol.io)
- [ ] My code follows the repository's style guidelines
- [ ] New and existing tests pass locally
- [ ] I have added appropriate error handling
- [ ] I have added or updated documentation as needed

## Additional context
GitHub actions workflows were blocked because the selected
"macos-latest-xlarge" runner, which is not available for the free
open-source plan. With "macos-latest" workflow works.
This commit is contained in:
Konstantin Pavlov 2026-01-09 22:48:31 +02:00 • committed by GitHub
commit 288d46cdde
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -8,10 +8,19 @@ on:
schedule:
- cron: '0 4 * * 0'
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: ${{ github.ref != 'refs/heads/main' }}
env:
JAVA_VERSION: 21
JAVA_DISTRIBUTION: temurin
jobs:
analyze:
name: Analyze (${{ matrix.language }})
runs-on: ubuntu-latest
timeout-minutes: 30
permissions:
# required for all workflows
security-events: write
@ -24,6 +33,7 @@ jobs:
contents: read
strategy:
fail-fast: false
matrix:
language: [ java-kotlin ]
@ -33,10 +43,11 @@ jobs:
with:
fetch-depth: 0
- uses: actions/setup-java@v5
- name: Set up JDK ${{ env.JAVA_VERSION }}
uses: actions/setup-java@v5
with:
distribution: temurin
java-version: '21'
distribution: ${{ env.JAVA_DISTRIBUTION }}
java-version: ${{ env.JAVA_VERSION }}
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
@ -45,16 +56,15 @@ jobs:
languages: ${{ matrix.language }}
build-mode: manual
- uses: actions/cache@v4
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v5
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
validate-wrappers: true
cache-read-only: true
- name: Build Kotlin sources
run: |
./gradlew \
./gradlew \
:kotlin-sdk-core:compileKotlinJvm \
:kotlin-sdk-client:compileKotlinJvm \
:kotlin-sdk-server:compileKotlinJvm \