-
Notifications
You must be signed in to change notification settings - Fork 33
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'master' into feature/GH-42-swift-to-kotlin-wrappers
- Loading branch information
Showing
213 changed files
with
11,860 additions
and
1,071 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
name: Qodana | ||
on: | ||
workflow_dispatch: | ||
pull_request: | ||
branches: | ||
- master | ||
jobs: | ||
qodana: | ||
runs-on: ubuntu-latest | ||
permissions: | ||
contents: write | ||
pull-requests: write | ||
checks: write | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v4 | ||
with: | ||
ref: ${{ github.event.pull_request.head.sha }} | ||
fetch-depth: 0 | ||
- id: get-java-home-11 | ||
run: echo "JAVA_HOME_11_X64=$JAVA_HOME_11_X64" >> $GITHUB_OUTPUT | ||
- name: 'Qodana Scan' | ||
uses: JetBrains/[email protected] | ||
with: | ||
args: -v,${{ steps.get-java-home-11.outputs.JAVA_HOME_11_X64 }}:/root/.jdks/jdk11 | ||
post-pr-comment: false | ||
env: | ||
QODANA_TOKEN: ${{ secrets.QODANA_TOKEN }} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,64 @@ | ||
name: Publish a IDEA plugin release | ||
on: | ||
push: | ||
tags: | ||
- 'v[0-9]+.[0-9]+.[0-9]+' | ||
- 'v[0-9]+.[0-9]+.[0-9]+-idea-[0-9]+.[0-9]+' | ||
- 'v[0-9]+.[0-9]+.[0-9]+-idea-[0-9]+.[0-9]+-EAP-[0-9]+.[0-9]+' | ||
- 'v[0-9]+.[0-9]+.[0-9]+-kotlin-[0-9]+.[0-9]+.[0-9]+' | ||
- 'v[0-9]+.[0-9]+.[0-9]+-kotlin-[0-9]+.[0-9]+.[0-9]+-idea-[0-9]+.[0-9]+' | ||
- 'v[0-9]+.[0-9]+.[0-9]+-kotlin-[0-9]+.[0-9]+.[0-9]+-idea-[0-9]+.[0-9]+-EAP-[0-9]+.[0-9]+' | ||
- 'v[0-9]+.[0-9]+.[0-9]+-kotlin-[0-9]+.[0-9]+.[0-9]+-Beta' | ||
- 'v[0-9]+.[0-9]+.[0-9]+-kotlin-[0-9]+.[0-9]+.[0-9]+-Beta-idea-[0-9]+.[0-9]+' | ||
- 'v[0-9]+.[0-9]+.[0-9]+-kotlin-[0-9]+.[0-9]+.[0-9]+-Beta-idea-[0-9]+.[0-9]+-EAP-[0-9]+.[0-9]+' | ||
- 'v[0-9]+.[0-9]+.[0-9]+-kotlin-[0-9]+.[0-9]+.[0-9]+-Beta[0-9]+' | ||
- 'v[0-9]+.[0-9]+.[0-9]+-kotlin-[0-9]+.[0-9]+.[0-9]+-Beta[0-9]+-idea-[0-9]+.[0-9]+' | ||
- 'v[0-9]+.[0-9]+.[0-9]+-kotlin-[0-9]+.[0-9]+.[0-9]+-Beta[0-9]+-idea-[0-9]+.[0-9]+-EAP-[0-9]+.[0-9]+' | ||
- 'v[0-9]+.[0-9]+.[0-9]+-kotlin-[0-9]+.[0-9]+.[0-9]+-RC' | ||
- 'v[0-9]+.[0-9]+.[0-9]+-kotlin-[0-9]+.[0-9]+.[0-9]+-RC-idea-[0-9]+.[0-9]+' | ||
- 'v[0-9]+.[0-9]+.[0-9]+-kotlin-[0-9]+.[0-9]+.[0-9]+-RC-idea-[0-9]+.[0-9]+-EAP-[0-9]+.[0-9]+' | ||
- 'v[0-9]+.[0-9]+.[0-9]+-kotlin-[0-9]+.[0-9]+.[0-9]+-RC[0-9]+' | ||
- 'v[0-9]+.[0-9]+.[0-9]+-kotlin-[0-9]+.[0-9]+.[0-9]+-RC[0-9]+-idea-[0-9]+.[0-9]+' | ||
- 'v[0-9]+.[0-9]+.[0-9]+-kotlin-[0-9]+.[0-9]+.[0-9]+-RC[0-9]+-idea-[0-9]+.[0-9]+-EAP-[0-9]+.[0-9]+' | ||
- 'v[0-9]+.[0-9]+.[0-9]+-ALPHA-[0-9]+' | ||
- 'v[0-9]+.[0-9]+.[0-9]+-ALPHA-[0-9]+-idea-[0-9]+.[0-9]+' | ||
- 'v[0-9]+.[0-9]+.[0-9]+-ALPHA-[0-9]+-idea-[0-9]+.[0-9]+-EAP-[0-9]+.[0-9]+' | ||
- 'v[0-9]+.[0-9]+.[0-9]+-ALPHA-[0-9]+-kotlin-[0-9]+.[0-9]+.[0-9]+' | ||
- 'v[0-9]+.[0-9]+.[0-9]+-ALPHA-[0-9]+-kotlin-[0-9]+.[0-9]+.[0-9]+-idea-[0-9]+.[0-9]+' | ||
- 'v[0-9]+.[0-9]+.[0-9]+-ALPHA-[0-9]+-kotlin-[0-9]+.[0-9]+.[0-9]+-idea-[0-9]+.[0-9]+-EAP-[0-9]+.[0-9]+' | ||
- 'v[0-9]+.[0-9]+.[0-9]+-ALPHA-[0-9]+-kotlin-[0-9]+.[0-9]+.[0-9]+-Beta' | ||
- 'v[0-9]+.[0-9]+.[0-9]+-ALPHA-[0-9]+-kotlin-[0-9]+.[0-9]+.[0-9]+-Beta-idea-[0-9]+.[0-9]+' | ||
- 'v[0-9]+.[0-9]+.[0-9]+-ALPHA-[0-9]+-kotlin-[0-9]+.[0-9]+.[0-9]+-Beta-idea-[0-9]+.[0-9]+-EAP-[0-9]+.[0-9]+' | ||
- 'v[0-9]+.[0-9]+.[0-9]+-ALPHA-[0-9]+-kotlin-[0-9]+.[0-9]+.[0-9]+-Beta[0-9]+' | ||
- 'v[0-9]+.[0-9]+.[0-9]+-ALPHA-[0-9]+-kotlin-[0-9]+.[0-9]+.[0-9]+-Beta[0-9]+-idea-[0-9]+.[0-9]+' | ||
- 'v[0-9]+.[0-9]+.[0-9]+-ALPHA-[0-9]+-kotlin-[0-9]+.[0-9]+.[0-9]+-Beta[0-9]+-idea-[0-9]+.[0-9]+-EAP-[0-9]+.[0-9]+' | ||
- 'v[0-9]+.[0-9]+.[0-9]+-ALPHA-[0-9]+-kotlin-[0-9]+.[0-9]+.[0-9]+-RC' | ||
- 'v[0-9]+.[0-9]+.[0-9]+-ALPHA-[0-9]+-kotlin-[0-9]+.[0-9]+.[0-9]+-RC-idea-[0-9]+.[0-9]+' | ||
- 'v[0-9]+.[0-9]+.[0-9]+-ALPHA-[0-9]+-kotlin-[0-9]+.[0-9]+.[0-9]+-RC-idea-[0-9]+.[0-9]+-EAP-[0-9]+.[0-9]+' | ||
- 'v[0-9]+.[0-9]+.[0-9]+-ALPHA-[0-9]+-kotlin-[0-9]+.[0-9]+.[0-9]+-RC[0-9]+' | ||
- 'v[0-9]+.[0-9]+.[0-9]+-ALPHA-[0-9]+-kotlin-[0-9]+.[0-9]+.[0-9]+-RC[0-9]+-idea-[0-9]+.[0-9]+' | ||
- 'v[0-9]+.[0-9]+.[0-9]+-ALPHA-[0-9]+-kotlin-[0-9]+.[0-9]+.[0-9]+-RC[0-9]+-idea-[0-9]+.[0-9]+-EAP-[0-9]+.[0-9]+' | ||
jobs: | ||
publish-idea-plugin: | ||
runs-on: macos-12 | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v4 | ||
- name: Gradle Wrapper Validation | ||
uses: gradle/wrapper-validation-action@v2 | ||
- name: Setup JDK | ||
uses: actions/setup-java@v4 | ||
with: | ||
distribution: 'zulu' | ||
java-version: '17' | ||
- name: Setup Gradle | ||
uses: gradle/actions/setup-gradle@v3 | ||
with: | ||
cache-encryption-key: ${{ secrets.GRADLE_ENCRYPTION_KEY }} | ||
- name: Publish IDEA plugin | ||
run: ./gradlew publishPlugin | ||
env: | ||
IDEA_CERTIFICATE_CHAIN: ${{ secrets.IDEA_CERTIFICATE_CHAIN }} | ||
IDEA_PRIVATE_KEY: ${{ secrets.IDEA_PRIVATE_KEY }} | ||
IDEA_PRIVATE_KEY_PASSWORD: ${{ secrets.IDEA_PRIVATE_KEY_PASSWORD }} | ||
IDEA_PUBLISH_TOKEN: ${{ secrets.IDEA_PUBLISH_TOKEN }} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,62 @@ | ||
name: Run IDEA Tests | ||
concurrency: | ||
group: run-idea-tests-${{ github.ref }} | ||
cancel-in-progress: true | ||
on: | ||
workflow_dispatch: | ||
workflow_call: | ||
env: | ||
GRADLE_OPTS: -Dorg.gradle.parallel=true -Dorg.gradle.caching=true | ||
JAVA_VERSION: '17' | ||
jobs: | ||
run-common-idea-tests: | ||
name: idea-plugin | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v4 | ||
- name: Gradle Wrapper Validation | ||
uses: gradle/wrapper-validation-action@v2 | ||
- name: Setup JDK | ||
uses: actions/setup-java@v4 | ||
with: | ||
distribution: zulu | ||
java-version: ${{ env.JAVA_VERSION }} | ||
- name: Setup Gradle | ||
uses: gradle/actions/setup-gradle@v3 | ||
with: | ||
cache-encryption-key: ${{ secrets.GRADLE_ENCRYPTION_KEY }} | ||
- name: Verify plugin project configuration | ||
run: ./gradlew :kmp-nativecoroutines-idea-plugin:verifyPluginProjectConfiguration | ||
- name: Verify plugin structure | ||
run: ./gradlew :kmp-nativecoroutines-idea-plugin:verifyPluginStructure | ||
- name: Run binary compatibility validator | ||
run: ./gradlew :kmp-nativecoroutines-idea-plugin:apiCheck | ||
run-idea-tests: | ||
needs: | ||
- run-common-idea-tests | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
ide: [ IC, IU, AI ] | ||
build: [ 241, 242 ] | ||
name: ${{ format('{0}-{1}', matrix.ide, matrix.build) }} | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v4 | ||
- name: Gradle Wrapper Validation | ||
uses: gradle/wrapper-validation-action@v2 | ||
- name: Setup JDK | ||
uses: actions/setup-java@v4 | ||
with: | ||
distribution: zulu | ||
java-version: ${{ env.JAVA_VERSION }} | ||
- name: Setup Gradle | ||
uses: gradle/actions/setup-gradle@v3 | ||
with: | ||
cache-encryption-key: ${{ secrets.GRADLE_ENCRYPTION_KEY }} | ||
- name: Verify plugin | ||
env: | ||
VERIFICATION_IDE: ${{ format('{0}-{1}', matrix.ide, matrix.build) }} | ||
run: ./gradlew :kmp-nativecoroutines-idea-plugin:verifyPlugin -PverificationIde=$VERIFICATION_IDE |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,67 @@ | ||
name: Run Integration Tests | ||
concurrency: | ||
group: run-integration-tests-${{ github.ref }} | ||
cancel-in-progress: true | ||
on: | ||
workflow_dispatch: | ||
workflow_call: | ||
env: | ||
GRADLE_OPTS: -Dorg.gradle.parallel=true -Dorg.gradle.caching=true | ||
JAVA_VERSION: '17' | ||
XCODE_VERSION: '15.2' | ||
XCODEBUILD_DESTINATION_iOS: platform=iOS Simulator,name=iPhone 14 Pro | ||
XCODEBUILD_DESTINATION_macOS: platform=OS X | ||
XCODEBUILD_DESTINATION_tvOS: platform=tvOS Simulator,name=Apple TV 4K (3rd generation) | ||
XCODEBUILD_DESTINATION_watchOS: platform=watchOS Simulator,name=Apple Watch Series 8 (45mm) | ||
jobs: | ||
run-integration-tests: | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
platform: [ iOS, macOS, tvOS, watchOS ] | ||
embeddable-compiler: [ true, false ] | ||
ksp-mode: [ true, false ] | ||
name: ${{ format('{0} (embeddable {1}, KSP {2})', matrix.platform, matrix.embeddable-compiler, matrix.ksp-mode) }} | ||
runs-on: macos-14 | ||
env: | ||
XCODEBUILD_SCHEME_iOS: iOS App | ||
XCODEBUILD_SCHEME_macOS: macOS App | ||
XCODEBUILD_SCHEME_tvOS: tvOS App | ||
XCODEBUILD_SCHEME_watchOS: watchOS Tests | ||
defaults: | ||
run: | ||
working-directory: sample | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v4 | ||
- name: Gradle Wrapper Validation | ||
uses: gradle/wrapper-validation-action@v2 | ||
- name: Setup Xcode | ||
uses: maxim-lobanov/setup-xcode@v1 | ||
with: | ||
xcode-version: ${{ env.XCODE_VERSION }} | ||
- name: Setup JDK | ||
uses: actions/setup-java@v4 | ||
with: | ||
distribution: zulu | ||
java-version: ${{ env.JAVA_VERSION }} | ||
- name: Setup Gradle | ||
uses: gradle/actions/setup-gradle@v3 | ||
with: | ||
cache-encryption-key: ${{ secrets.GRADLE_ENCRYPTION_KEY }} | ||
- name: Cache Konan | ||
uses: ./.github/actions/cache-konan | ||
- name: Set kotlin.native.useEmbeddableCompilerJar | ||
env: | ||
KOTLIN_NATIVE_EMBEDDABLE_COMPILER: ${{ matrix.embeddable-compiler }} | ||
run: echo "kotlin.native.useEmbeddableCompilerJar=$KOTLIN_NATIVE_EMBEDDABLE_COMPILER" >> gradle.properties | ||
- name: Run tests | ||
env: | ||
XCODEBUILD_SCHEME: ${{ env[format('XCODEBUILD_SCHEME_{0}', matrix.platform)] }} | ||
XCODEBUILD_DESTINATION: ${{ env[format('XCODEBUILD_DESTINATION_{0}', matrix.platform)] }} | ||
NATIVE_COROUTINES_KSP_MODE: ${{ matrix.ksp-mode }} | ||
run: >- | ||
xcodebuild test | ||
-project KMPNativeCoroutinesSample.xcodeproj | ||
-scheme "$XCODEBUILD_SCHEME" | ||
-destination "$XCODEBUILD_DESTINATION" |
Oops, something went wrong.