Skip to content

#768 unpacked klibs support #785

#768 unpacked klibs support

#768 unpacked klibs support #785

---
name: KMP library compilation check
on:
pull_request:
branches:
- master
- develop
push:
branches:
- master
- develop
jobs:
build-library:
runs-on: macOS-latest
steps:
- uses: actions/checkout@v4
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: 17
distribution: zulu
- name: Setup Gradle
uses: gradle/gradle-build-action@v3
with:
cache-read-only: ${{ github.ref != 'refs/heads/master' && github.ref !=
'refs/heads/develop' }}
- name: Cache .konan
uses: actions/cache@v4
with:
path: ~/.konan
key: ${{ matrix.os }}-konan-${{ hashFiles('**/*.gradle*', 'gradle/**/*') }}
- name: Check
run: ./local-check.sh
shell: bash
- name: Plugin local publish
run: ./gradlew -p resources-generator publishToMavenLocal
shell: bash
- name: Library local publish
run: ./gradlew publishToMavenLocal
shell: bash
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: maven
path: ~/.m2/repository/dev/icerock
- name: Publish Test Report
uses: mikepenz/action-junit-report@v4
if: ${{ always() }}
with:
report_paths: "**/build/test-results/**/TEST-*.xml"
github_token: ${{ secrets.GITHUB_TOKEN }}
- name: Archive reports
uses: actions/upload-artifact@v4
if: ${{ always() }}
with:
name: code-coverage-report-${{ github.job }}-${{ matrix.os }}
path: "**/build/reports/**/*"
check-sample-android-mpp-app:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os:
- macOS-latest
- windows-latest
- ubuntu-latest
needs: build-library
steps:
- uses: actions/checkout@v4
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: 17
distribution: zulu
- name: Setup Gradle
uses: gradle/gradle-build-action@v3
with:
cache-read-only: ${{ github.ref != 'refs/heads/master' && github.ref !=
'refs/heads/develop' }}
- name: Cache .konan
uses: actions/cache@v4
with:
path: ~/.konan
key: ${{ matrix.os }}-konan-${{ hashFiles('**/*.gradle*', 'gradle/**/*') }}
- name: Download maven artifacts
uses: actions/download-artifact@v4
with:
name: maven
path: ~/.m2/repository/dev/icerock
- name: Sample - android-mpp-app
run: cd samples/android-mpp-app && ./local-check.sh
shell: bash
- name: Publish Test Report
uses: mikepenz/action-junit-report@v4
if: ${{ always() }}
with:
report_paths: "**/build/test-results/**/TEST-*.xml"
github_token: ${{ secrets.GITHUB_TOKEN }}
- name: Archive reports
uses: actions/upload-artifact@v4
if: ${{ always() }}
with:
name: code-coverage-report-${{ github.job }}-${{ matrix.os }}
path: "**/build/reports/**/*"
check-sample-auto-manifest:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os:
- macOS-latest
- windows-latest
- ubuntu-latest
needs: build-library
steps:
- uses: actions/checkout@v4
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: 17
distribution: zulu
- name: Setup Gradle
uses: gradle/gradle-build-action@v3
with:
cache-read-only: ${{ github.ref != 'refs/heads/master' && github.ref !=
'refs/heads/develop' }}
- name: Cache .konan
uses: actions/cache@v4
with:
path: ~/.konan
key: ${{ matrix.os }}-konan-${{ hashFiles('**/*.gradle*', 'gradle/**/*') }}
- name: Download maven artifacts
uses: actions/download-artifact@v4
with:
name: maven
path: ~/.m2/repository/dev/icerock
- name: Sample - auto-manifest
run: cd samples/auto-manifest && ./local-check.sh
shell: bash
- name: Publish Test Report
uses: mikepenz/action-junit-report@v4
if: ${{ always() }}
with:
report_paths: "**/build/test-results/**/TEST-*.xml"
github_token: ${{ secrets.GITHUB_TOKEN }}
- name: Archive reports
uses: actions/upload-artifact@v4
if: ${{ always() }}
with:
name: code-coverage-report-${{ github.job }}-${{ matrix.os }}
path: "**/build/reports/**/*"
check-sample-compose-jvm-app:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os:
- macOS-latest
- windows-latest
- ubuntu-latest
needs: build-library
steps:
- uses: actions/checkout@v4
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: 17
distribution: zulu
- name: Setup Gradle
uses: gradle/gradle-build-action@v3
with:
cache-read-only: ${{ github.ref != 'refs/heads/master' && github.ref !=
'refs/heads/develop' }}
- name: Cache .konan
uses: actions/cache@v4
with:
path: ~/.konan
key: ${{ matrix.os }}-konan-${{ hashFiles('**/*.gradle*', 'gradle/**/*') }}
- name: Download maven artifacts
uses: actions/download-artifact@v4
with:
name: maven
path: ~/.m2/repository/dev/icerock
- name: Sample - compose-jvm-app
run: cd samples/compose-jvm-app && ./local-check.sh
shell: bash
- name: Publish Test Report
uses: mikepenz/action-junit-report@v4
if: ${{ always() }}
with:
report_paths: "**/build/test-results/**/TEST-*.xml"
github_token: ${{ secrets.GITHUB_TOKEN }}
- name: Archive reports
uses: actions/upload-artifact@v4
if: ${{ always() }}
with:
name: code-coverage-report-${{ github.job }}-${{ matrix.os }}
path: "**/build/reports/**/*"
check-sample-resources-gallery:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os:
- macOS-latest
- windows-latest
- ubuntu-latest
needs: build-library
steps:
- uses: actions/checkout@v4
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: 17
distribution: zulu
- name: Setup Gradle
uses: gradle/gradle-build-action@v3
with:
cache-read-only: ${{ github.ref != 'refs/heads/master' && github.ref !=
'refs/heads/develop' }}
- name: Cache .konan
uses: actions/cache@v4
with:
path: ~/.konan
key: ${{ matrix.os }}-konan-${{ hashFiles('**/*.gradle*', 'gradle/**/*') }}
- name: Download maven artifacts
uses: actions/download-artifact@v4
with:
name: maven
path: ~/.m2/repository/dev/icerock
- name: Sample - resources-gallery
run: cd samples/resources-gallery && ./local-check.sh
shell: bash
- name: Publish Test Report
uses: mikepenz/action-junit-report@v4
if: ${{ always() }}
with:
report_paths: "**/build/test-results/**/TEST-*.xml"
github_token: ${{ secrets.GITHUB_TOKEN }}
- name: Archive reports
uses: actions/upload-artifact@v4
if: ${{ always() }}
with:
name: code-coverage-report-${{ github.job }}-${{ matrix.os }}
path: "**/build/reports/**/*"
check-sample-default-hierarchy-resources-gallery-mobile:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os:
- macOS-latest
- windows-latest
- ubuntu-latest
needs: build-library
steps:
- uses: actions/checkout@v4
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: 17
distribution: zulu
- name: Setup Gradle
uses: gradle/gradle-build-action@v3
with:
cache-read-only: ${{ github.ref != 'refs/heads/master' && github.ref !=
'refs/heads/develop' }}
- name: Cache .konan
uses: actions/cache@v4
with:
path: ~/.konan
key: ${{ matrix.os }}-konan-${{ hashFiles('**/*.gradle*', 'gradle/**/*') }}
- name: Download maven artifacts
uses: actions/download-artifact@v4
with:
name: maven
path: ~/.m2/repository/dev/icerock
- name: Sample - default-hierarchy-gallery-mobile
run: cd samples/default-hierarchy-gallery-mobile && ./local-check.sh
shell: bash
- name: Publish Test Report
uses: mikepenz/action-junit-report@v4
if: ${{ always() }}
with:
report_paths: "**/build/test-results/**/TEST-*.xml"
github_token: ${{ secrets.GITHUB_TOKEN }}
- name: Archive reports
uses: actions/upload-artifact@v4
if: ${{ always() }}
with:
name: code-coverage-report-${{ github.job }}-${{ matrix.os }}
path: "**/build/reports/**/*"
check-sample-ios-static-xcframework:
runs-on: macOS-latest
needs: build-library
steps:
- uses: actions/checkout@v4
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: 17
distribution: zulu
- name: Setup Gradle
uses: gradle/gradle-build-action@v3
with:
cache-read-only: ${{ github.ref != 'refs/heads/master' && github.ref !=
'refs/heads/develop' }}
- name: Cache .konan
uses: actions/cache@v4
with:
path: ~/.konan
key: ${{ matrix.os }}-konan-${{ hashFiles('**/*.gradle*', 'gradle/**/*') }}
- name: Download maven artifacts
uses: actions/download-artifact@v4
with:
name: maven
path: ~/.m2/repository/dev/icerock
- name: Sample - ios-static-xcframework
run: cd samples/ios-static-xcframework && ./local-check.sh
shell: bash
- name: Publish Test Report
uses: mikepenz/action-junit-report@v4
if: ${{ always() }}
with:
report_paths: "**/build/test-results/**/TEST-*.xml"
github_token: ${{ secrets.GITHUB_TOKEN }}
- name: Archive reports
uses: actions/upload-artifact@v4
if: ${{ always() }}
with:
name: code-coverage-report-${{ github.job }}-${{ matrix.os }}
path: "**/build/reports/**/*"
check-sample-ios-cocoapods-static-framework:
runs-on: macOS-latest
needs: build-library
steps:
- uses: actions/checkout@v4
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: 17
distribution: zulu
- name: Setup Gradle
uses: gradle/gradle-build-action@v3
with:
cache-read-only: ${{ github.ref != 'refs/heads/master' && github.ref !=
'refs/heads/develop' }}
- name: Cache .konan
uses: actions/cache@v4
with:
path: ~/.konan
key: ${{ matrix.os }}-konan-${{ hashFiles('**/*.gradle*', 'gradle/**/*') }}
- name: Download maven artifacts
uses: actions/download-artifact@v4
with:
name: maven
path: ~/.m2/repository/dev/icerock
- name: Sample - ios-cocoapods-static-framework
run: cd samples/ios-cocoapods-static-framework && ./local-check.sh
shell: bash
- name: Publish Test Report
uses: mikepenz/action-junit-report@v4
if: ${{ always() }}
with:
report_paths: "**/build/test-results/**/TEST-*.xml"
github_token: ${{ secrets.GITHUB_TOKEN }}
- name: Archive reports
uses: actions/upload-artifact@v4
if: ${{ always() }}
with:
name: code-coverage-report-${{ github.job }}-${{ matrix.os }}
path: "**/build/reports/**/*"
check-sample-kotlin-ios-app:
runs-on: macOS-latest
needs: build-library
steps:
- uses: actions/checkout@v4
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: 17
distribution: zulu
- name: Setup Gradle
uses: gradle/gradle-build-action@v3
with:
cache-read-only: ${{ github.ref != 'refs/heads/master' && github.ref !=
'refs/heads/develop' }}
- name: Cache .konan
uses: actions/cache@v4
with:
path: ~/.konan
key: ${{ matrix.os }}-konan-${{ hashFiles('**/*.gradle*', 'gradle/**/*') }}
- name: Download maven artifacts
uses: actions/download-artifact@v4
with:
name: maven
path: ~/.m2/repository/dev/icerock
- name: Sample - kotlin-ios-app
run: cd samples/kotlin-ios-app && ./local-check.sh
shell: bash
- name: Publish Test Report
uses: mikepenz/action-junit-report@v4
if: ${{ always() }}
with:
report_paths: "**/build/test-results/**/TEST-*.xml"
github_token: ${{ secrets.GITHUB_TOKEN }}
- name: Archive reports
uses: actions/upload-artifact@v4
if: ${{ always() }}
with:
name: code-coverage-report-${{ github.job }}-${{ matrix.os }}
path: "**/build/reports/**/*"
check-sample-compose-resources-gallery:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os:
- macOS-latest
- windows-latest
- ubuntu-latest
needs: build-library
steps:
- uses: actions/checkout@v4
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: 17
distribution: zulu
- name: Setup Gradle
uses: gradle/gradle-build-action@v3
with:
cache-read-only: ${{ github.ref != 'refs/heads/master' && github.ref !=
'refs/heads/develop' }}
- name: Cache .konan
uses: actions/cache@v4
with:
path: ~/.konan
key: ${{ matrix.os }}-konan-${{ hashFiles('**/*.gradle*', 'gradle/**/*') }}
- name: Download maven artifacts
uses: actions/download-artifact@v4
with:
name: maven
path: ~/.m2/repository/dev/icerock
- name: Sample - compose-resources-gallery
run: cd samples/compose-resources-gallery && ./local-check.sh
shell: bash
- name: Publish Test Report
uses: mikepenz/action-junit-report@v4
if: ${{ always() }}
with:
report_paths: "**/build/test-results/**/TEST-*.xml"
github_token: ${{ secrets.GITHUB_TOKEN }}
- name: Archive reports
uses: actions/upload-artifact@v4
if: ${{ always() }}
with:
name: code-coverage-report-${{ github.job }}-${{ matrix.os }}
path: "**/build/reports/**/*"
check-kotlin-2-sample:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os:
- macOS-latest
- windows-latest
- ubuntu-latest
needs: build-library
steps:
- uses: actions/checkout@v4
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: 17
distribution: zulu
- name: Setup Gradle
uses: gradle/gradle-build-action@v3
with:
cache-read-only: ${{ github.ref != 'refs/heads/master' && github.ref !=
'refs/heads/develop' }}
- name: Cache .konan
uses: actions/cache@v4
with:
path: ~/.konan
key: ${{ matrix.os }}-konan-${{ hashFiles('**/*.gradle*', 'gradle/**/*') }}
- name: Download maven artifacts
uses: actions/download-artifact@v4
with:
name: maven
path: ~/.m2/repository/dev/icerock
- name: Sample - kotlin-2-sample
run: cd samples/kotlin-2-sample && ./local-check.sh
shell: bash
- name: Publish Test Report
uses: mikepenz/action-junit-report@v4
if: ${{ always() }}
with:
report_paths: "**/build/test-results/**/TEST-*.xml"
github_token: ${{ secrets.GITHUB_TOKEN }}
- name: Archive reports
uses: actions/upload-artifact@v4
if: ${{ always() }}
with:
name: code-coverage-report-${{ github.job }}-${{ matrix.os }}
path: "**/build/reports/**/*"
check-cm-resources-sample:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os:
- macOS-latest
- windows-latest
- ubuntu-latest
needs: build-library
steps:
- uses: actions/checkout@v4
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: 17
distribution: zulu
- name: Setup Gradle
uses: gradle/gradle-build-action@v3
with:
cache-read-only: ${{ github.ref != 'refs/heads/master' && github.ref !=
'refs/heads/develop' }}
- name: Cache .konan
uses: actions/cache@v4
with:
path: ~/.konan
key: ${{ matrix.os }}-konan-${{ hashFiles('**/*.gradle*', 'gradle/**/*') }}
- name: Download maven artifacts
uses: actions/download-artifact@v4
with:
name: maven
path: ~/.m2/repository/dev/icerock
- name: Sample - cm-resources-sample
run: cd samples/cm-resources-sample && ./local-check.sh
shell: bash
- name: Publish Test Report
uses: mikepenz/action-junit-report@v4
if: ${{ always() }}
with:
report_paths: "**/build/test-results/**/TEST-*.xml"
github_token: ${{ secrets.GITHUB_TOKEN }}
- name: Archive reports
uses: actions/upload-artifact@v4
if: ${{ always() }}
with:
name: code-coverage-report-${{ github.job }}-${{ matrix.os }}
path: "**/build/reports/**/*"