From ebdc9ceef8519c9f9a9b388ca87d791479982567 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Sun, 24 Sep 2023 12:41:46 -0700 Subject: [PATCH] Added iOS publish workflow --- .github/workflows/publish-ios.yml | 36 +++++++++++++++++++ .../kotlin-multiplatform-native.gradle.kts | 7 ++-- 2 files changed, 41 insertions(+), 2 deletions(-) create mode 100644 .github/workflows/publish-ios.yml diff --git a/.github/workflows/publish-ios.yml b/.github/workflows/publish-ios.yml new file mode 100644 index 0000000..19bbcde --- /dev/null +++ b/.github/workflows/publish-ios.yml @@ -0,0 +1,36 @@ +name: publish + +on: + workflow_dispatch: + +env: + JAVA_VERSION: 11 + JAVA_DISTRIBUTION: 'zulu' + ORG_GRADLE_PROJECT_ossrhUsername: ${{ secrets.OSSRH_USERNAME}} + ORG_GRADLE_PROJECT_ossrhPassword: ${{ secrets.OSSRH_PASSWORD}} + ORG_GRADLE_PROJECT_signingKey: ${{ secrets.SIGN_SECRET_KEY }} + ORG_GRADLE_PROJECT_signingPassword: ${{ secrets.SIGN_SECRET_PWD }} + +jobs: + publish-ios: + runs-on: macos-latest + strategy: + max-parallel: 6 + matrix: + target: + - publishIosArm64PublicationToOSSRHRepository + - publishIosX64PublicationToOSSRHRepository + steps: + - name: Checkout + uses: actions/checkout@v3 + + - name: Set up JDK ${{ env.JAVA_VERSION }} + uses: actions/setup-java@v3 + with: + java-version: ${{ env.JAVA_VERSION }} + distribution: ${{ env.JAVA_DISTRIBUTION }} + + - uses: gradle/gradle-build-action@v2 + + - name: Publish + run: ./gradlew ${{ matrix.target }} \ No newline at end of file diff --git a/buildSrc/src/main/kotlin/buildsrc/conventions/lang/kotlin-multiplatform-native.gradle.kts b/buildSrc/src/main/kotlin/buildsrc/conventions/lang/kotlin-multiplatform-native.gradle.kts index e29ad97..22eaa3e 100644 --- a/buildSrc/src/main/kotlin/buildsrc/conventions/lang/kotlin-multiplatform-native.gradle.kts +++ b/buildSrc/src/main/kotlin/buildsrc/conventions/lang/kotlin-multiplatform-native.gradle.kts @@ -74,8 +74,11 @@ kotlin { val macosX64Test by getting { dependsOn(nativeTest) } // Apple - iOS - val iosMain by getting { dependsOn(nativeMain) } - val iosTest by getting { dependsOn(nativeTest) } + val iosArm64Main by getting { dependsOn(nativeMain) } + val iosArm64Test by getting { dependsOn(nativeTest) } + + val iosX64Main by getting { dependsOn(nativeMain) } + val iosX64Test by getting { dependsOn(nativeTest) } // val iosSimulatorArm64Main by getting { dependsOn(iosMain) } // val iosSimulatorArm64Test by getting { dependsOn(iosTest) }