From 70627d62f6ca3c09df34e5465e8976cf480d46e6 Mon Sep 17 00:00:00 2001 From: Simon Binder Date: Wed, 26 Nov 2025 15:32:47 +0100 Subject: [PATCH 1/6] Update SKIE, Kotlin, Gradle and Java --- .github/workflows/deploy.yml | 8 ++++---- .github/workflows/docs-deploy.yml | 4 ++-- .github/workflows/test.yml | 10 +++++----- gradle/libs.versions.toml | 6 +++--- gradle/wrapper/gradle-wrapper.properties | 2 +- 5 files changed, 15 insertions(+), 15 deletions(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index ef208310..bd48b9b5 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -39,10 +39,10 @@ jobs: with: path: ~/.konan key: ${{ runner.os }}-${{ hashFiles('**/.lock') }} - - name: Set up JDK 17 + - name: Set up JDK 25 uses: actions/setup-java@v3 with: - java-version: '17' + java-version: '25' distribution: 'temurin' - name: Set up Gradle uses: gradle/actions/setup-gradle@v4 @@ -71,10 +71,10 @@ jobs: with: path: ~/.konan key: ${{ runner.os }}-${{ hashFiles('**/.lock') }} - - name: Set up JDK 17 + - name: Set up JDK 25 uses: actions/setup-java@v3 with: - java-version: '17' + java-version: '25' distribution: 'temurin' - name: Set up Gradle uses: gradle/actions/setup-gradle@v4 diff --git a/.github/workflows/docs-deploy.yml b/.github/workflows/docs-deploy.yml index 8299c488..c75c8366 100644 --- a/.github/workflows/docs-deploy.yml +++ b/.github/workflows/docs-deploy.yml @@ -20,10 +20,10 @@ jobs: with: path: ~/.konan key: ${{ runner.os }}-${{ hashFiles('**/.lock') }} - - name: Set up JDK 17 + - name: Set up JDK 25 uses: actions/setup-java@v3 with: - java-version: '17' + java-version: '25' distribution: 'temurin' - name: Set up Gradle uses: gradle/actions/setup-gradle@v4 diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 4b6bf5f3..cfed9c6f 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -32,7 +32,7 @@ jobs: targets: jvmTest runs-on: ${{ matrix.os }} name: Test ${{ matrix.name }} - timeout-minutes: 20 + timeout-minutes: 30 steps: - uses: actions/checkout@v4 @@ -42,10 +42,10 @@ jobs: with: path: ~/.konan key: ${{ runner.os }}-${{ hashFiles('**/.lock') }} - - name: Set up JDK 17 + - name: Set up JDK 25 uses: actions/setup-java@v4 with: - java-version: '17' + java-version: '25' distribution: 'temurin' - name: Set up Gradle uses: gradle/actions/setup-gradle@v4 @@ -90,10 +90,10 @@ jobs: with: path: ~/.konan key: ${{ runner.os }}-${{ hashFiles('**/.lock') }} - - name: Set up JDK 17 + - name: Set up JDK 25 uses: actions/setup-java@v4 with: - java-version: '17' + java-version: '25' distribution: 'temurin' - name: Set up Gradle uses: gradle/actions/setup-gradle@v4 diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 4af0337d..15c11da5 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -10,8 +10,8 @@ java = "17" # Dependencies kermit = "2.0.8" -kotlin = "2.2.10" # Note: When updating, always update the first part of the ksp version too -ksp = "2.2.10-2.0.2" +kotlin = "2.2.21" +ksp = "2.3.3" coroutines = "1.10.2" kotlinx-datetime = "0.7.1" serialization = "1.9.0" @@ -37,7 +37,7 @@ sqldelight = "2.1.0" # plugins android-gradle-plugin = "8.12.1" -skie = "0.10.6" +skie = "0.10.8" maven-publish = "0.34.0" download-plugin = "5.6.0" mokkery = "2.9.0" diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 2a84e188..23449a2b 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-9.0.0-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-9.2.1-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME From 7990ac65f87ec840bc6dba8bc134224ec181ff98 Mon Sep 17 00:00:00 2001 From: Simon Binder Date: Wed, 26 Nov 2025 15:44:57 +0100 Subject: [PATCH 2/6] Update mokkery --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 15c11da5..8b3d5ec5 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -40,7 +40,7 @@ android-gradle-plugin = "8.12.1" skie = "0.10.8" maven-publish = "0.34.0" download-plugin = "5.6.0" -mokkery = "2.9.0" +mokkery = "3.0.0" kotlinter = "5.2.0" keeper = "0.16.1" atomicfu = "0.29.0" From 52d6edba17ac30fb2df910ed8ccc4947721d9e4c Mon Sep 17 00:00:00 2001 From: Simon Binder Date: Wed, 26 Nov 2025 15:54:32 +0100 Subject: [PATCH 3/6] Update dokka --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 8b3d5ec5..1ff0962d 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -4,7 +4,7 @@ android-minSdk = "24" android-targetSdk = "36" android-compileSdk = "36" configurationAnnotations = "0.10.6" -dokkaBase = "2.0.0" +dokkaBase = "2.1.0" gradleDownloadTask = "5.6.0" java = "17" From bf58cab155176bbecfe1f2a66f3295e00926a0bd Mon Sep 17 00:00:00 2001 From: Simon Binder Date: Wed, 26 Nov 2025 16:50:14 +0100 Subject: [PATCH 4/6] Rename to appleMain for consistency --- .../kotlin/com/powersync/DatabaseDriverFactory.native.kt | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename core/src/{nativeMain => appleMain}/kotlin/com/powersync/DatabaseDriverFactory.native.kt (100%) diff --git a/core/src/nativeMain/kotlin/com/powersync/DatabaseDriverFactory.native.kt b/core/src/appleMain/kotlin/com/powersync/DatabaseDriverFactory.native.kt similarity index 100% rename from core/src/nativeMain/kotlin/com/powersync/DatabaseDriverFactory.native.kt rename to core/src/appleMain/kotlin/com/powersync/DatabaseDriverFactory.native.kt From a7c519d86ab3db63cbde9f906f2cf59e565574a9 Mon Sep 17 00:00:00 2001 From: Simon Binder Date: Wed, 26 Nov 2025 17:31:15 +0100 Subject: [PATCH 5/6] Disable Kotlin cross-compilation --- gradle.properties | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gradle.properties b/gradle.properties index d45a296a..e38adef3 100644 --- a/gradle.properties +++ b/gradle.properties @@ -35,3 +35,5 @@ POM_DEVELOPER_URL=https://powersync.com/ POM_DEVELOPER_EMAIL=support@journeyapps.com #Dokka org.jetbrains.dokka.experimental.gradle.pluginMode=V2Enabled +# We don't need cross-compilation, and it causes compilation errors on Linux. +kotlin.native.enableKlibsCrossCompilation=false From 4a569d6e137b09cc1e440f23cde95fa8cf898862 Mon Sep 17 00:00:00 2001 From: Simon Binder Date: Wed, 26 Nov 2025 18:04:04 +0100 Subject: [PATCH 6/6] Split native tests, they're too slow --- .github/workflows/test.yml | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index cfed9c6f..9fb01025 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -16,14 +16,17 @@ jobs: matrix: include: - os: macos-latest - name: macos-watchos-tvos + name: watchos targets: watchosSimulatorArm64Test tvosSimulatorArm64Test - os: macos-latest - name: mac-ios-macos - targets: iosSimulatorArm64Test macosArm64Test + name: tvos + targets: tvosSimulatorArm64Test - os: macos-latest - name: mac-jvm - targets: jvmTest + name: ios + targets: iosSimulatorArm64Test + - os: macos-latest + name: macos + targets: jvmTest macosArm64Test - os: ubuntu-latest name: ubuntu targets: testDebugUnitTest testReleaseUnitTest jvmTest lintKotlin