Skip to content

Update Kotlin to 2.3.20 #499

Update Kotlin to 2.3.20

Update Kotlin to 2.3.20 #499

Workflow file for this run

name: CI
on:
push:
branches:
- main
tags-ignore:
- '**'
paths-ignore:
- '**/*.md'
pull_request:
permissions:
contents: read
jobs:
test-android:
runs-on: ubuntu-latest
timeout-minutes: 25
steps:
- uses: actions/checkout@v4
- name: Setup
uses: ./.github/actions/setup-action
with:
gradle-encryption-key: ${{ secrets.GRADLE_ENCRYPTION_KEY }}
- name: Test
run: ./gradlew testDebugUnitTest --stacktrace --show-version --continue
- name: Upload Test Results
uses: actions/upload-artifact@v4
if: ${{ failure() }}
with:
name: test-results-${{ github.job }}
path: ./**/build/reports/
test-ios:
runs-on: macos-latest-xlarge
timeout-minutes: 25
steps:
- uses: actions/checkout@v4
- name: Setup
uses: ./.github/actions/setup-action
with:
gradle-encryption-key: ${{ secrets.GRADLE_ENCRYPTION_KEY }}
- name: Test
run: ./gradlew iosSimulatorArm64Test -Pkotlin.incremental.native=true --stacktrace --show-version --continue
- name: Upload Test Results
uses: actions/upload-artifact@v4
if: ${{ failure() }}
with:
name: test-results-${{ github.job }}
path: ./**/build/reports/
test-desktop:
runs-on: ubuntu-latest
timeout-minutes: 25
steps:
- uses: actions/checkout@v4
- name: Setup
uses: ./.github/actions/setup-action
with:
gradle-encryption-key: ${{ secrets.GRADLE_ENCRYPTION_KEY }}
- name: Test
run: ./gradlew desktopTest --stacktrace --show-version --continue
- name: Upload Test Results
uses: actions/upload-artifact@v4
if: ${{ failure() }}
with:
name: test-results-${{ github.job }}
path: ./**/build/reports/
test-linux:
runs-on: ubuntu-latest
timeout-minutes: 25
steps:
- uses: actions/checkout@v4
- name: Setup
uses: ./.github/actions/setup-action
with:
gradle-encryption-key: ${{ secrets.GRADLE_ENCRYPTION_KEY }}
- name: Test
run: ./gradlew linuxX64Test --stacktrace --show-version --continue
- name: Upload Test Results
uses: actions/upload-artifact@v4
if: ${{ failure() }}
with:
name: test-results-${{ github.job }}
path: ./**/build/reports/
test-wasm:
runs-on: ubuntu-latest
timeout-minutes: 25
steps:
- uses: actions/checkout@v4
- name: Setup
uses: ./.github/actions/setup-action
with:
gradle-encryption-key: ${{ secrets.GRADLE_ENCRYPTION_KEY }}
- name: Test
run: ./gradlew wasmJsTest --stacktrace --show-version --continue
- name: Upload Test Results
uses: actions/upload-artifact@v4
if: ${{ failure() }}
with:
name: test-results-${{ github.job }}
path: ./**/build/reports/
test-jvm-modules:
name: test-jvm-modules
runs-on: ubuntu-latest
timeout-minutes: 25
steps:
- uses: actions/checkout@v4
- name: Setup
uses: ./.github/actions/setup-action
with:
gradle-encryption-key: ${{ secrets.GRADLE_ENCRYPTION_KEY }}
- name: Test
run: ./gradlew :kotlin-inject-extensions:contribute:impl-code-generators:test :metro-extensions:contribute:impl-code-generators:test --stacktrace --show-version --continue
- name: Upload Test Results
uses: actions/upload-artifact@v4
if: ${{ failure() }}
with:
name: test-results-${{ github.job }}
path: ./**/build/reports/
test-emulator-renderer-android-view:
runs-on: ubuntu-latest
timeout-minutes: 25
steps:
- uses: actions/checkout@v4
- name: Setup
uses: ./.github/actions/setup-action
with:
gradle-encryption-key: ${{ secrets.GRADLE_ENCRYPTION_KEY }}
- name: Prepare emulator
uses: ./.github/actions/prepare-emulator-action
- name: Test
run: ./gradlew :renderer-android-view:public:emulatorCheck --stacktrace --show-version --continue
- name: Upload Test Results
uses: actions/upload-artifact@v4
if: ${{ failure() }}
with:
name: test-results-${{ github.job }}
path: ./**/build/reports/
test-emulator-renderer-compose-multiplatform:
runs-on: ubuntu-latest
timeout-minutes: 25
steps:
- uses: actions/checkout@v4
- name: Setup
uses: ./.github/actions/setup-action
with:
gradle-encryption-key: ${{ secrets.GRADLE_ENCRYPTION_KEY }}
- name: Prepare emulator
uses: ./.github/actions/prepare-emulator-action
- name: Test
run: ./gradlew :renderer-compose-multiplatform:public:emulatorCheck --stacktrace --show-version --continue
- name: Upload Test Results
uses: actions/upload-artifact@v4
if: ${{ failure() }}
with:
name: test-results-${{ github.job }}
path: ./**/build/reports/
test-emulator-sample-app:
runs-on: ubuntu-latest
timeout-minutes: 25
steps:
- uses: actions/checkout@v4
- name: Setup
uses: ./.github/actions/setup-action
with:
gradle-encryption-key: ${{ secrets.GRADLE_ENCRYPTION_KEY }}
- name: Prepare emulator
uses: ./.github/actions/prepare-emulator-action
- name: Test
run: ./gradlew :sample:app:emulatorCheck --stacktrace --show-version --continue
- name: Upload Test Results
uses: actions/upload-artifact@v4
if: ${{ failure() }}
with:
name: test-results-${{ github.job }}
path: ./**/build/reports/
build-ios-sample-app:
runs-on: macos-latest-xlarge
timeout-minutes: 25
steps:
- uses: actions/checkout@v4
- name: Setup
uses: ./.github/actions/setup-action
with:
gradle-encryption-key: ${{ secrets.GRADLE_ENCRYPTION_KEY }}
# The command to build is executed by the Android Studio iOS app run action.
#
# The destination id was printed in the Github Action console
#
# { platform:iOS Simulator, id:77D15A8A-0E47-4200-A192-A0C6311C808D, OS:18.2, name:iPhone SE (3rd generation) }
#
#
# Downloading the iOS platform is needed with the latest macos runners. This is quite slow, so we should see
# if can we avoid this in the future.
# See: https://github.com/actions/runner-images/issues/12758#issuecomment-3206748945
- name: Build swift
run: |
/usr/bin/xcodebuild -version
/usr/bin/xcodebuild -showsdks
/usr/bin/xcrun simctl list devices
export DESTINATION_DEVICE=`/usr/bin/xcrun simctl list devices | grep -A 1 "iOS 18.6" | grep -oE '\([0-9A-F-]+\)' | head -1 | tr -d '()'`
echo "Using simulator $DESTINATION_DEVICE"
/usr/bin/xcodebuild -project sample/iosApp/iosApp.xcodeproj -scheme iosApp -configuration Debug OBJROOT=build/ios SYMROOT=build/ios -destination id=$DESTINATION_DEVICE -allowProvisioningDeviceRegistration -allowProvisioningUpdates
build-wasm-sample-app:
runs-on: ubuntu-latest
timeout-minutes: 25
steps:
- uses: actions/checkout@v4
- name: Setup
uses: ./.github/actions/setup-action
with:
gradle-encryption-key: ${{ secrets.GRADLE_ENCRYPTION_KEY }}
- name: Build wasm binary
run: ./gradlew :sample:app:wasmJsBrowserDistribution
binary-compatibility-check:
runs-on: ubuntu-latest
timeout-minutes: 25
steps:
- uses: actions/checkout@v4
- name: Setup
uses: ./.github/actions/setup-action
with:
gradle-encryption-key: ${{ secrets.GRADLE_ENCRYPTION_KEY }}
- name: API check
run: ./gradlew apiCheck --stacktrace --show-version --continue
ktfmt:
runs-on: ubuntu-latest
timeout-minutes: 25
steps:
- uses: actions/checkout@v4
- name: Setup
uses: ./.github/actions/setup-action
with:
gradle-encryption-key: ${{ secrets.GRADLE_ENCRYPTION_KEY }}
- name: ktfmt
run: ./gradlew ktfmtCheck --stacktrace --show-version --continue
android-lint:
runs-on: ubuntu-latest
timeout-minutes: 25
steps:
- uses: actions/checkout@v4
- name: Setup
uses: ./.github/actions/setup-action
with:
gradle-encryption-key: ${{ secrets.GRADLE_ENCRYPTION_KEY }}
- name: Android Lint
run: ./gradlew lint --stacktrace --show-version --continue
- name: Upload Test Results
uses: actions/upload-artifact@v4
if: ${{ failure() }}
with:
name: test-results-${{ github.job }}
path: ./**/build/reports/
detekt:
runs-on: ubuntu-latest
timeout-minutes: 25
steps:
- uses: actions/checkout@v4
- name: Setup
uses: ./.github/actions/setup-action
with:
gradle-encryption-key: ${{ secrets.GRADLE_ENCRYPTION_KEY }}
- name: Detekt
run: ./gradlew detekt --stacktrace --show-version --continue
- name: Upload Test Results
uses: actions/upload-artifact@v4
if: ${{ failure() }}
with:
name: test-results-${{ github.job }}
path: ./**/build/reports/
module-structure-check:
runs-on: ubuntu-latest
timeout-minutes: 25
steps:
- uses: actions/checkout@v4
- name: Setup
uses: ./.github/actions/setup-action
with:
gradle-encryption-key: ${{ secrets.GRADLE_ENCRYPTION_KEY }}
- name: Module Structure Check
run: ./gradlew checkModuleStructureDependencies --stacktrace --show-version --continue
publish-maven-local:
runs-on: ubuntu-latest
timeout-minutes: 25
steps:
- uses: actions/checkout@v4
- name: Setup
uses: ./.github/actions/setup-action
with:
gradle-encryption-key: ${{ secrets.GRADLE_ENCRYPTION_KEY }}
- name: Publish to Maven Local
run: |
./gradlew publishToMavenLocal --stacktrace --show-version --no-configuration-cache
./gradlew -p gradle-plugin publishToMavenLocal --stacktrace --show-version --no-configuration-cache
build-src:
runs-on: ubuntu-latest
timeout-minutes: 25
steps:
- uses: actions/checkout@v4
- name: Setup
uses: ./.github/actions/setup-action
with:
gradle-encryption-key: ${{ secrets.GRADLE_ENCRYPTION_KEY }}
- name: Run release task
run: ./gradlew -p buildSrc release --stacktrace --show-version --continue
- name: Upload Test Results
uses: actions/upload-artifact@v4
if: ${{ failure() }}
with:
name: test-results-${{ github.job }}
path: ./**/build/reports/
gradle-plugin:
runs-on: ubuntu-latest
timeout-minutes: 25
steps:
- uses: actions/checkout@v4
- name: Setup
uses: ./.github/actions/setup-action
with:
gradle-encryption-key: ${{ secrets.GRADLE_ENCRYPTION_KEY }}
- name: Run release task
run: ./gradlew -p gradle-plugin release --stacktrace --show-version --continue
- name: Upload Test Results
uses: actions/upload-artifact@v4
if: ${{ failure() }}
with:
name: test-results-${{ github.job }}
path: ./**/build/reports/