Add Linux, Windows and MacOS targets
This commit is contained in:
parent
52bc1a5c0f
commit
c4c70b4d98
65
.github/workflows/ci.yaml
vendored
65
.github/workflows/ci.yaml
vendored
@ -8,7 +8,7 @@ jobs:
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
os: [ ubuntu-latest, macos-latest ]
|
||||
os: [ ubuntu-latest, macos-latest, windows-latest ]
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
@ -31,42 +31,57 @@ jobs:
|
||||
with:
|
||||
java-version: 1.8
|
||||
|
||||
- run: ./gradlew check
|
||||
- run: ./gradlew linuxX64Test
|
||||
if: matrix.os == 'ubuntu-latest'
|
||||
|
||||
- run: ./gradlew iosX64Test
|
||||
- run: ./gradlew mingwX64Test
|
||||
if: matrix.os == 'windows-latest'
|
||||
|
||||
- run: ./gradlew check
|
||||
if: matrix.os == 'macos-latest'
|
||||
|
||||
publish:
|
||||
needs: check
|
||||
if: github.ref == 'refs/heads/master' && github.event_name == 'push' && needs.check.result == 'success'
|
||||
runs-on: macos-latest
|
||||
runs-on: ${{ matrix.os }}
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
strategy:
|
||||
matrix:
|
||||
os: [ ubuntu-latest, macos-latest, windows-latest ]
|
||||
|
||||
- uses: actions/cache@v1
|
||||
with:
|
||||
path: ~/.gradle/wrapper
|
||||
key: ${{ runner.os }}-gradle-wrapper-${{ hashFiles('gradle/wrapper/gradle-wrapper.*') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-gradle-wrapper-
|
||||
|
||||
- uses: actions/cache@v1
|
||||
with:
|
||||
path: ~/.gradle/caches
|
||||
key: ${{ runner.os }}-gradle-caches-${{ hashFiles('**/*.gradle.kts') }}-${{ hashFiles('buildSrc/src/main/kotlin/Versions.kt') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-gradle-caches-
|
||||
|
||||
- uses: actions/setup-java@v1
|
||||
with:
|
||||
java-version: 1.8
|
||||
|
||||
- run: ./gradlew publish
|
||||
env:
|
||||
ORG_GRADLE_PROJECT_ossrhUsername: ${{ secrets.OSSRH_USERNAME }}
|
||||
ORG_GRADLE_PROJECT_ossrhPassword: ${{ secrets.OSSRH_PASSWORD }}
|
||||
ORG_GRADLE_PROJECT_signingKeyId: ${{ secrets.SIGNING_KEY_ID }}
|
||||
ORG_GRADLE_PROJECT_signingKey: ${{ secrets.SIGNING_KEY }}
|
||||
ORG_GRADLE_PROJECT_signingPassword: ${{ secrets.SIGNING_PASSWORD }}
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- uses: actions/cache@v1
|
||||
with:
|
||||
path: ~/.gradle/wrapper
|
||||
key: ${{ runner.os }}-gradle-wrapper-${{ hashFiles('gradle/wrapper/gradle-wrapper.*') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-gradle-wrapper-
|
||||
|
||||
- uses: actions/cache@v1
|
||||
with:
|
||||
path: ~/.gradle/caches
|
||||
key: ${{ runner.os }}-gradle-caches-${{ hashFiles('**/*.gradle.kts') }}-${{ hashFiles('buildSrc/src/main/kotlin/Versions.kt') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-gradle-caches-
|
||||
|
||||
- uses: actions/setup-java@v1
|
||||
with:
|
||||
java-version: 1.8
|
||||
|
||||
- run: ./gradlew publishLinuxX64PublicationToMavenRepository
|
||||
if: matrix.os == 'ubuntu-latest'
|
||||
|
||||
- run: ./gradlew publishMingwX64PublicationToMavenRepository
|
||||
if: matrix.os == 'windows-latest'
|
||||
|
||||
- run: ./gradlew publish
|
||||
if: matrix.os == 'macos-latest'
|
||||
|
@ -73,6 +73,9 @@ subprojects {
|
||||
}
|
||||
|
||||
ios()
|
||||
linuxX64()
|
||||
mingwX64()
|
||||
macosX64()
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -2,3 +2,5 @@ kotlin.code.style=official
|
||||
|
||||
group=com.michael-bull.kotlin-result
|
||||
version=1.1.12-SNAPSHOT
|
||||
|
||||
kotlin.native.ignoreDisabledTargets=true
|
||||
|
@ -39,6 +39,30 @@ kotlin {
|
||||
implementation(kotlin("test-js"))
|
||||
}
|
||||
}
|
||||
|
||||
val nativeTest by creating {
|
||||
dependsOn(commonTest)
|
||||
}
|
||||
|
||||
val linuxX64Test by getting {
|
||||
dependsOn(nativeTest)
|
||||
}
|
||||
|
||||
val mingwX64Test by getting {
|
||||
dependsOn(nativeTest)
|
||||
}
|
||||
|
||||
val macosX64Test by getting {
|
||||
dependsOn(nativeTest)
|
||||
}
|
||||
|
||||
val iosX64Test by getting {
|
||||
dependsOn(nativeTest)
|
||||
}
|
||||
|
||||
val iosArm64Test by getting {
|
||||
dependsOn(nativeTest)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -21,6 +21,10 @@ kotlin {
|
||||
}
|
||||
}
|
||||
|
||||
val commonMain by getting {
|
||||
|
||||
}
|
||||
|
||||
val commonTest by getting {
|
||||
dependencies {
|
||||
implementation(kotlin("test-common"))
|
||||
@ -40,6 +44,30 @@ kotlin {
|
||||
implementation(kotlin("test-js"))
|
||||
}
|
||||
}
|
||||
|
||||
val nativeMain by creating {
|
||||
dependsOn(commonMain)
|
||||
}
|
||||
|
||||
val linuxX64Main by getting {
|
||||
dependsOn(nativeMain)
|
||||
}
|
||||
|
||||
val mingwX64Main by getting {
|
||||
dependsOn(nativeMain)
|
||||
}
|
||||
|
||||
val macosX64Main by getting {
|
||||
dependsOn(nativeMain)
|
||||
}
|
||||
|
||||
val iosX64Main by getting {
|
||||
dependsOn(nativeMain)
|
||||
}
|
||||
|
||||
val iosArm64Main by getting {
|
||||
dependsOn(nativeMain)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user