Update dependency androidx.compose.runtime:runtime to v1.10.5 (#1104) #2654
This file contains hidden or 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
| name: build | |
| on: | |
| pull_request: {} | |
| workflow_dispatch: {} | |
| push: | |
| branches: | |
| - 'trunk' | |
| tags-ignore: | |
| - '**' | |
| env: | |
| GRADLE_OPTS: "-Dkotlin.incremental=false -Dorg.gradle.logging.stacktrace=full" | |
| jobs: | |
| tty-test-binaries: | |
| runs-on: macos-15 | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: actions/setup-java@v5 | |
| with: | |
| distribution: 'zulu' | |
| java-version-file: .github/workflows/.java-version | |
| - run: ./gradlew :mosaic-tty:installJvmTestDistribution :mosaic-tty:linkNativeDebugTests | |
| - uses: actions/upload-artifact@v7 | |
| with: | |
| name: mosaic-tty-jvm-tests | |
| path: mosaic-tty/build/install/jvmTest | |
| if-no-files-found: error | |
| - uses: actions/upload-artifact@v7 | |
| with: | |
| name: mosaic-tty-native-tests | |
| path: mosaic-tty/build/bin | |
| if-no-files-found: error | |
| tty-tests: | |
| needs: | |
| - tty-test-binaries | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| platform: | |
| - os: macos-14 | |
| target: macosArm64 | |
| - os: macos-15 | |
| target: macosArm64 | |
| - os: macos-15-intel | |
| target: macosX64 | |
| - os: macos-26 | |
| target: macosArm64 | |
| - os: macos-26-intel | |
| target: macosX64 | |
| - os: ubuntu-22.04 | |
| target: linuxX64 | |
| - os: ubuntu-22.04-arm | |
| target: linuxArm64 | |
| - os: ubuntu-24.04 | |
| target: linuxX64 | |
| - os: ubuntu-24.04-arm | |
| target: linuxArm64 | |
| - os: windows-2022 | |
| target: mingwX64 | |
| - os: windows-2025 | |
| target: mingwX64 | |
| - os: windows-11-arm | |
| target: skip | |
| tests: | |
| - type: native | |
| - type: java | |
| version: 11 | |
| - type: java | |
| version: 17 | |
| - type: java | |
| version: 21 | |
| - type: java | |
| version: latest | |
| exclude: | |
| # No Windows ARM Kotlin native target yet. | |
| - platform: | |
| os: windows-11-arm | |
| target: skip | |
| tests: | |
| type: native | |
| # No Windows ARM JDKs for these versions yet. | |
| - platform: | |
| os: windows-11-arm | |
| target: skip | |
| tests: | |
| type: java | |
| version: 8 | |
| - platform: | |
| os: windows-11-arm | |
| target: skip | |
| tests: | |
| type: java | |
| version: 11 | |
| - platform: | |
| os: windows-11-arm | |
| target: skip | |
| tests: | |
| type: java | |
| version: latest | |
| runs-on: ${{ matrix.platform.os }} | |
| timeout-minutes: 5 | |
| steps: | |
| ### NATIVE | |
| - uses: actions/download-artifact@v8 | |
| if: matrix.tests.type == 'native' | |
| with: | |
| name: mosaic-tty-native-tests | |
| - name: Set executable bit | |
| if: ${{ matrix.tests.type == 'native' && !startsWith(matrix.platform.os, 'windows-') }} | |
| run: chmod +x ${{ matrix.platform.target }}/debugTest/test.* | |
| - run: ${{ matrix.platform.target }}/debugTest/test.* | |
| if: matrix.tests.type == 'native' | |
| shell: bash | |
| ### JAVA | |
| - uses: actions/checkout@v6 | |
| if: ${{ matrix.tests.type == 'java' && matrix.tests.version == 'latest' }} | |
| with: | |
| sparse-checkout: .github/workflows/.java-version | |
| sparse-checkout-cone-mode: false | |
| - uses: actions/setup-java@v5 | |
| if: ${{ matrix.tests.type == 'java' && matrix.tests.version == 'latest' }} | |
| with: | |
| distribution: 'zulu' | |
| java-version-file: .github/workflows/.java-version | |
| - uses: actions/setup-java@v5 | |
| if: ${{ matrix.tests.type == 'java' && matrix.tests.version != 'latest' }} | |
| with: | |
| distribution: 'zulu' | |
| java-version: ${{ matrix.tests.version }} | |
| - uses: actions/download-artifact@v8 | |
| if: matrix.tests.type == 'java' | |
| with: | |
| name: mosaic-tty-jvm-tests | |
| - name: Set executable bit | |
| if: ${{ matrix.tests.type == 'java' && !startsWith(matrix.platform.os, 'windows-') }} | |
| run: chmod +x bin/mosaic-tty-test | |
| - run: bin/mosaic-tty-test | |
| if: matrix.tests.type == 'java' | |
| # Due to https://youtrack.jetbrains.com/issue/KT-74731, we don't have a good way of packaging | |
| # up the additional test runs for use in the above matrix-based runner. For now, run them through | |
| # Gradle on a single OS and single JDK just to get some coverage. | |
| tty-shrinker-tests: | |
| runs-on: macos-15 | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: actions/setup-java@v5 | |
| with: | |
| distribution: 'zulu' | |
| java-version-file: .github/workflows/.java-version | |
| - run: > | |
| ./gradlew | |
| --continue | |
| :mosaic-tty:jvmProGuardTest | |
| :mosaic-tty:jvmR8Test | |
| build: | |
| runs-on: macos-15 | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: actions/setup-java@v5 | |
| with: | |
| distribution: 'zulu' | |
| java-version-file: .github/workflows/.java-version | |
| - uses: gradle/actions/setup-gradle@v5 | |
| # Disabling allTests should be enough, but https://youtrack.jetbrains.com/issue/KT-74509 | |
| # mosaic-tty runs its tests above. We only run jvmTest otherwise as code is all common. | |
| - run: > | |
| ./gradlew | |
| --continue | |
| build | |
| -x allTests | |
| -x jvmProGuardTest | |
| -x jvmR8Test | |
| -x linuxX64Test | |
| -x macosArm64Test | |
| -x macosX64Test | |
| -x mingwX64Test | |
| jvmTest | |
| -x :mosaic-tty:jvmTest | |
| docs: | |
| runs-on: macos-15 | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: actions/setup-java@v5 | |
| with: | |
| distribution: 'zulu' | |
| java-version-file: .github/workflows/.java-version | |
| - uses: gradle/actions/setup-gradle@v5 | |
| - run: ./gradlew dokkaGenerate | |
| - uses: actions/upload-artifact@v7 | |
| with: | |
| name: html-docs | |
| path: build/dokka/html/ | |
| if-no-files-found: error | |
| samples: | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| platform: | |
| - os: macos-15 | |
| target: macosArm64 | |
| - os: ubuntu-24.04 | |
| target: linuxX64 | |
| - os: windows-2025 | |
| target: mingwX64 | |
| sample: | |
| - counter | |
| - jest | |
| runs-on: ${{ matrix.platform.os }} | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: actions/setup-java@v5 | |
| with: | |
| distribution: 'zulu' | |
| java-version-file: .github/workflows/.java-version | |
| - uses: gradle/actions/setup-gradle@v5 | |
| - run: | | |
| ./gradlew -p samples/${{ matrix.sample }} installJvmDist linkReleaseExecutable${{ matrix.platform.target }} | |
| ./samples/${{ matrix.sample }}/build/install/${{ matrix.sample }}-jvm/bin/${{ matrix.sample }} | |
| ./samples/${{ matrix.sample }}/build/bin/${{ matrix.platform.target }}/releaseExecutable/${{ matrix.sample }}.* | |
| shell: bash | |
| final-status: | |
| if: always() | |
| runs-on: ubuntu-slim | |
| needs: | |
| - docs | |
| - tty-tests | |
| - tty-shrinker-tests | |
| - build | |
| - samples | |
| steps: | |
| - name: Check | |
| run: | | |
| results=$(tr -d '\n' <<< '${{ toJSON(needs.*.result) }}') | |
| if ! grep -q -v -E '(failure|cancelled)' <<< "$results"; then | |
| echo "One or more required jobs failed" | |
| exit 1 | |
| fi | |
| publish: | |
| if: ${{ github.ref == 'refs/heads/trunk' && github.repository == 'JakeWharton/mosaic' }} | |
| runs-on: macos-15 | |
| needs: | |
| - final-status | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: actions/setup-java@v5 | |
| with: | |
| distribution: 'zulu' | |
| java-version-file: .github/workflows/.java-version | |
| - uses: gradle/actions/setup-gradle@v5 | |
| - run: ./gradlew publish | |
| env: | |
| ORG_GRADLE_PROJECT_mavenCentralUsername: ${{ secrets.SONATYPE_CENTRAL_USERNAME }} | |
| ORG_GRADLE_PROJECT_mavenCentralPassword: ${{ secrets.SONATYPE_CENTRAL_PASSWORD }} | |
| ORG_GRADLE_PROJECT_signingInMemoryKey: ${{ secrets.GPG_PRIVATE_KEY }} | |
| - uses: actions/download-artifact@v8 | |
| with: | |
| name: html-docs | |
| path: html-docs | |
| - uses: JamesIves/github-pages-deploy-action@releases/v3 | |
| with: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| BRANCH: site | |
| FOLDER: html-docs | |
| TARGET_FOLDER: docs/latest/ | |
| CLEAN: true |