Skip to content

Commit

Permalink
Add support for Linux ARM64 and macOS ARM64 (Silicon) targets.
Browse files Browse the repository at this point in the history
Currently blocked until a new version of kotlinx.coroutines is
published with these targets
(Kotlin/kotlinx.coroutines#2904).
  • Loading branch information
charleskorn committed Sep 3, 2021
1 parent b8f0a17 commit 28bc99d
Show file tree
Hide file tree
Showing 15 changed files with 188 additions and 20 deletions.
6 changes: 3 additions & 3 deletions .github/workflows/PR.yml
Expand Up @@ -25,13 +25,13 @@ jobs:
with:
java-version: '8'

- name: Run ubuntu tests
- name: Run Ubuntu tests
if: matrix.os == 'ubuntu-latest'
run: ./gradlew check --scan

- name: Run windows tests
- name: Run Windows tests
if: matrix.os == 'windows-latest'
run: ./gradlew mingwX64Test --scan
run: ./gradlew mingwX64Test mingwX86Test --scan

- name: Run macOS tests
if: matrix.os == 'macOS-latest'
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/build.yml
Expand Up @@ -78,7 +78,7 @@ jobs:
fetch-depth: 0

- name: Run tests
run: ./gradlew mingwX64Test --scan
run: ./gradlew mingwX64Test mingwX86Test --scan

- name: Bundle the build report
if: failure()
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/master.yml
Expand Up @@ -67,7 +67,7 @@ jobs:
run: ./gradlew watchosArm32TestKlibrary watchosArm64TestKlibrary watchosX86Test watchosX64Test watchosX86Test --scan

- name: publish macos snapshots
run: ./gradlew publishMacosX64PublicationToDeployRepository
run: ./gradlew publishMacosX64PublicationToDeployRepository publishMacosArm64PublicationToDeployRepository
env:
OSSRH_USERNAME: ${{ secrets.OSSRH_USERNAME }}
OSSRH_PASSWORD: ${{ secrets.OSSRH_PASSWORD }}
Expand Down Expand Up @@ -118,10 +118,10 @@ jobs:
fetch-depth: 0

- name: Run tests
run: ./gradlew mingwX64Test --scan
run: ./gradlew mingwX64Test mingwX86Test --scan

- name: publish mingw64 snapshot
run: ./gradlew publishMingwX64PublicationToDeployRepository
- name: publish mingw64 and mingw86 snapshot
run: ./gradlew publishMingwX64PublicationToDeployRepository publishMingwX86PublicationToDeployRepository
env:
OSSRH_USERNAME: ${{ secrets.OSSRH_USERNAME }}
OSSRH_PASSWORD: ${{ secrets.OSSRH_PASSWORD }}
Expand Down
22 changes: 20 additions & 2 deletions .github/workflows/release_all.yml
Expand Up @@ -54,7 +54,7 @@ jobs:
ORG_GRADLE_PROJECT_signingKey: ${{ secrets.SIGNING_KEY }}
ORG_GRADLE_PROJECT_signingPassword: ${{ secrets.SIGNING_PASSWORD }}

- name: publish linux release
- name: publish linux x64 release
run: ./gradlew publishLinuxX64PublicationToDeployRepository
env:
RELEASE_VERSION: ${{ github.event.inputs.version }}
Expand All @@ -63,6 +63,15 @@ jobs:
ORG_GRADLE_PROJECT_signingKey: ${{ secrets.SIGNING_KEY }}
ORG_GRADLE_PROJECT_signingPassword: ${{ secrets.SIGNING_PASSWORD }}

- name: publish linux Arm64 release
run: ./gradlew publishLinuxArm64PublicationToDeployRepository
env:
RELEASE_VERSION: ${{ github.event.inputs.version }}
OSSRH_USERNAME: ${{ secrets.OSSRH_USERNAME }}
OSSRH_PASSWORD: ${{ secrets.OSSRH_PASSWORD }}
ORG_GRADLE_PROJECT_signingKey: ${{ secrets.SIGNING_KEY }}
ORG_GRADLE_PROJECT_signingPassword: ${{ secrets.SIGNING_PASSWORD }}

publish_macos:
runs-on: macos-latest
needs: publish_linux
Expand All @@ -88,6 +97,15 @@ jobs:
ORG_GRADLE_PROJECT_signingKey: ${{ secrets.SIGNING_KEY }}
ORG_GRADLE_PROJECT_signingPassword: ${{ secrets.SIGNING_PASSWORD }}

- name: publish macosArm64 release
run: ./gradlew publishMacosArm64PublicationToDeployRepository
env:
RELEASE_VERSION: ${{ github.event.inputs.version }}
OSSRH_USERNAME: ${{ secrets.OSSRH_USERNAME }}
OSSRH_PASSWORD: ${{ secrets.OSSRH_PASSWORD }}
ORG_GRADLE_PROJECT_signingKey: ${{ secrets.SIGNING_KEY }}
ORG_GRADLE_PROJECT_signingPassword: ${{ secrets.SIGNING_PASSWORD }}

- name: publish tvosX64 release
run: ./gradlew publishTvosX64PublicationToDeployRepository
env:
Expand Down Expand Up @@ -186,7 +204,7 @@ jobs:
java-version: '8'

- name: deploy to sonatype
run: ./gradlew publishMingwX64PublicationToDeployRepository
run: ./gradlew publishMingwX64PublicationToDeployRepository publishMingwX86PublicationToDeployRepository
env:
RELEASE_VERSION: ${{ github.event.inputs.version }}
OSSRH_USERNAME: ${{ secrets.OSSRH_USERNAME }}
Expand Down
11 changes: 10 additions & 1 deletion .github/workflows/release_linux.yml
Expand Up @@ -54,7 +54,7 @@ jobs:
ORG_GRADLE_PROJECT_signingKey: ${{ secrets.SIGNING_KEY }}
ORG_GRADLE_PROJECT_signingPassword: ${{ secrets.SIGNING_PASSWORD }}

- name: publish linux release
- name: publish linux x64 release
run: ./gradlew publishLinuxX64PublicationToDeployRepository
env:
RELEASE_VERSION: ${{ github.event.inputs.version }}
Expand All @@ -63,5 +63,14 @@ jobs:
ORG_GRADLE_PROJECT_signingKey: ${{ secrets.SIGNING_KEY }}
ORG_GRADLE_PROJECT_signingPassword: ${{ secrets.SIGNING_PASSWORD }}

- name: publish linux Arm64 release
run: ./gradlew publishLinuxArm64PublicationToDeployRepository
env:
RELEASE_VERSION: ${{ github.event.inputs.version }}
OSSRH_USERNAME: ${{ secrets.OSSRH_USERNAME }}
OSSRH_PASSWORD: ${{ secrets.OSSRH_PASSWORD }}
ORG_GRADLE_PROJECT_signingKey: ${{ secrets.SIGNING_KEY }}
ORG_GRADLE_PROJECT_signingPassword: ${{ secrets.SIGNING_PASSWORD }}

env:
GRADLE_OPTS: -Dorg.gradle.configureondemand=true -Dorg.gradle.parallel=false -Dkotlin.incremental=false -Dorg.gradle.jvmargs="-Xmx3g -XX:MaxPermSize=2048m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8"
9 changes: 9 additions & 0 deletions .github/workflows/release_macos.yml
Expand Up @@ -36,6 +36,15 @@ jobs:
ORG_GRADLE_PROJECT_signingKey: ${{ secrets.SIGNING_KEY }}
ORG_GRADLE_PROJECT_signingPassword: ${{ secrets.SIGNING_PASSWORD }}

- name: publish macosArm64 release
run: ./gradlew publishMacosArm64PublicationToDeployRepository
env:
RELEASE_VERSION: ${{ github.event.inputs.version }}
OSSRH_USERNAME: ${{ secrets.OSSRH_USERNAME }}
OSSRH_PASSWORD: ${{ secrets.OSSRH_PASSWORD }}
ORG_GRADLE_PROJECT_signingKey: ${{ secrets.SIGNING_KEY }}
ORG_GRADLE_PROJECT_signingPassword: ${{ secrets.SIGNING_PASSWORD }}

- name: publish tvosX64 release
run: ./gradlew publishTvosX64PublicationToDeployRepository
env:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release_windows.yml
Expand Up @@ -28,7 +28,7 @@ jobs:
java-version: '8'

- name: deploy to sonatype
run: ./gradlew publishMingwX64PublicationToDeployRepository
run: ./gradlew publishMingwX64PublicationToDeployRepository publishMingwX86PublicationToDeployRepository
env:
RELEASE_VERSION: ${{ github.event.inputs.version }}
OSSRH_USERNAME: ${{ secrets.OSSRH_USERNAME }}
Expand Down
4 changes: 4 additions & 0 deletions kotest-assertions/kotest-assertions-api/build.gradle.kts
Expand Up @@ -25,10 +25,14 @@ kotlin {
}

linuxX64()
linuxArm64()

mingwX64()
mingwX86()

macosX64()
macosArm64()

tvos()

watchosArm32()
Expand Down
6 changes: 6 additions & 0 deletions kotest-assertions/kotest-assertions-core/build.gradle.kts
Expand Up @@ -25,15 +25,21 @@ kotlin {
}

linuxX64()
linuxArm64()

mingwX64()
mingwX86()

macosX64()
macosArm64()

tvos()

watchosArm32()
watchosArm64()
watchosX86()
watchosX64()

iosX64()
iosArm64()
iosArm32()
Expand Down
16 changes: 16 additions & 0 deletions kotest-assertions/kotest-assertions-shared/build.gradle.kts
Expand Up @@ -27,10 +27,14 @@ kotlin {
}

linuxX64()
linuxArm64()

mingwX64()
mingwX86()

macosX64()
macosArm64()

tvos()

watchosArm32()
Expand Down Expand Up @@ -79,14 +83,26 @@ kotlin {
dependsOn(desktopMain)
}

val macosArm64Main by getting {
dependsOn(desktopMain)
}

val mingwX64Main by getting {
dependsOn(desktopMain)
}

val mingwX86Main by getting {
dependsOn(desktopMain)
}

val linuxX64Main by getting {
dependsOn(desktopMain)
}

val linuxArm64Main by getting {
dependsOn(desktopMain)
}

val iosX64Main by getting {
dependsOn(desktopMain)
}
Expand Down
22 changes: 19 additions & 3 deletions kotest-common/build.gradle.kts
Expand Up @@ -25,10 +25,14 @@ kotlin {
}

linuxX64()
linuxArm64()

mingwX64()
mingwX86()

macosX64()
macosArm64()

tvos()

watchosArm32()
Expand Down Expand Up @@ -65,14 +69,26 @@ kotlin {
dependsOn(desktopMain)
}

val macosArm64Main by getting {
dependsOn(desktopMain)
}

val mingwX64Main by getting {
dependsOn(desktopMain)
}

val mingwX86Main by getting {
dependsOn(desktopMain)
}

val linuxX64Main by getting {
dependsOn(desktopMain)
}

val linuxArm64Main by getting {
dependsOn(desktopMain)
}

val iosX64Main by getting {
dependsOn(desktopMain)
}
Expand All @@ -85,15 +101,15 @@ kotlin {
dependsOn(desktopMain)
}

val watchosX86Main by getting {
val watchosArm32Main by getting {
dependsOn(desktopMain)
}

val watchosArm32Main by getting {
val watchosArm64Main by getting {
dependsOn(desktopMain)
}

val watchosArm64Main by getting {
val watchosX86Main by getting {
dependsOn(desktopMain)
}

Expand Down
16 changes: 16 additions & 0 deletions kotest-framework/kotest-framework-api/build.gradle.kts
Expand Up @@ -27,10 +27,14 @@ kotlin {
}

linuxX64()
linuxArm64()

mingwX64()
mingwX86()

macosX64()
macosArm64()

tvos()

watchosArm32()
Expand Down Expand Up @@ -72,14 +76,26 @@ kotlin {
dependsOn(desktopMain)
}

val macosArm64Main by getting {
dependsOn(desktopMain)
}

val mingwX64Main by getting {
dependsOn(desktopMain)
}

val mingwX86Main by getting {
dependsOn(desktopMain)
}

val linuxX64Main by getting {
dependsOn(desktopMain)
}

val linuxArm64Main by getting {
dependsOn(desktopMain)
}

val iosX64Main by getting {
dependsOn(desktopMain)
}
Expand Down

0 comments on commit 28bc99d

Please sign in to comment.