Skip to content

chore(deps): update dependency org.jetbrains.kotlinx.kover to v0.9.9 … #184

chore(deps): update dependency org.jetbrains.kotlinx.kover to v0.9.9 …

chore(deps): update dependency org.jetbrains.kotlinx.kover to v0.9.9 … #184

Workflow file for this run

name: CI
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
concurrency:
group: ci-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
permissions:
contents: read
env:
GRADLE_CACHE_URL: ${{ secrets.GRADLE_CACHE_URL }}
GRADLE_CACHE_USERNAME: ${{ secrets.GRADLE_CACHE_USERNAME }}
GRADLE_CACHE_PASSWORD: ${{ secrets.GRADLE_CACHE_PASSWORD }}
jobs:
test-jvm:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
java-version: [ 17, 21 ]
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
submodules: recursive
- name: Determine cache mode
id: cache_config
shell: bash
run: |
if [[ "${{ github.ref }}" == "refs/heads/main" ]]; then
echo "cache_read_only=false" >> "$GITHUB_OUTPUT"
else
echo "cache_read_only=true" >> "$GITHUB_OUTPUT"
fi
- uses: ./.github/actions/gradle-setup
with:
java_version: ${{ matrix.java-version }}
cache_read_only: ${{ steps.cache_config.outputs.cache_read_only }}
gradle_encryption_key: ${{ secrets.GRADLE_ENCRYPTION_KEY }}
- name: Build and test (JVM)
run: ./gradlew jvmTest
- name: Lint (Spotless, detekt)
run: ./gradlew spotlessCheck detekt
test-android:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
submodules: recursive
- name: Determine cache mode
id: cache_config
shell: bash
run: |
if [[ "${{ github.ref }}" == "refs/heads/main" ]]; then
echo "cache_read_only=false" >> "$GITHUB_OUTPUT"
else
echo "cache_read_only=true" >> "$GITHUB_OUTPUT"
fi
- uses: ./.github/actions/gradle-setup
with:
cache_read_only: ${{ steps.cache_config.outputs.cache_read_only }}
gradle_encryption_key: ${{ secrets.GRADLE_ENCRYPTION_KEY }}
- name: Build Android
run: ./gradlew :core:compileAndroidMain :core:assembleAndroidMain
test-ios:
runs-on: macos-latest
strategy:
fail-fast: false
matrix:
ios-target: [ iosSimulatorArm64 ]
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
submodules: recursive
- name: Determine cache mode
id: cache_config
shell: bash
run: |
if [[ "${{ github.ref }}" == "refs/heads/main" ]]; then
echo "cache_read_only=false" >> "$GITHUB_OUTPUT"
else
echo "cache_read_only=true" >> "$GITHUB_OUTPUT"
fi
- name: Cache Konan
uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
with:
path: ~/.konan
key: konan-${{ runner.os }}-${{ hashFiles('gradle/libs.versions.toml','gradle/wrapper/gradle-wrapper.properties') }}
restore-keys: |
konan-${{ runner.os }}-
- uses: ./.github/actions/gradle-setup
with:
cache_read_only: ${{ steps.cache_config.outputs.cache_read_only }}
gradle_encryption_key: ${{ secrets.GRADLE_ENCRYPTION_KEY }}
- name: Build & test iOS (${{ matrix.ios-target }})
run: ./gradlew :core:${{ matrix.ios-target }}Test
- name: Assemble Compose-app iOS framework
run: ./gradlew :samples:parity-app:linkReleaseFrameworkIosSimulatorArm64
- name: Compile SwiftUI iosApp shell (SKIE export gate)
run: |
xcodebuild \
-project samples/parity-app/iosApp/iosApp.xcodeproj \
-scheme iosApp \
-sdk iphonesimulator \
-destination 'generic/platform=iOS Simulator' \
-configuration Debug \
CODE_SIGNING_ALLOWED=NO \
build
api-check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
submodules: recursive
- uses: ./.github/actions/gradle-setup
with:
gradle_encryption_key: ${{ secrets.GRADLE_ENCRYPTION_KEY }}
- name: Check public API compatibility
run: ./gradlew checkKotlinAbi
arch-consistency:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
submodules: recursive
- uses: ./.github/actions/gradle-setup
with:
gradle_encryption_key: ${{ secrets.GRADLE_ENCRYPTION_KEY }}
- name: Verify architecture rules (ADR-008)
run: ./gradlew :core:verifyModuleBoundary detekt
full-check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
submodules: recursive
- name: Determine cache mode
id: cache_config
shell: bash
run: |
if [[ "${{ github.ref }}" == "refs/heads/main" ]]; then
echo "cache_read_only=false" >> "$GITHUB_OUTPUT"
else
echo "cache_read_only=true" >> "$GITHUB_OUTPUT"
fi
- uses: ./.github/actions/gradle-setup
with:
cache_read_only: ${{ steps.cache_config.outputs.cache_read_only }}
gradle_encryption_key: ${{ secrets.GRADLE_ENCRYPTION_KEY }}
- name: Run full check (gate)
run: ./gradlew check
publish-snapshot:
name: Publish snapshot to Sonatype Central
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
needs: [test-jvm, test-android, test-ios, api-check, arch-consistency, full-check]
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
submodules: recursive
fetch-depth: 0
- uses: ./.github/actions/gradle-setup
with:
cache_read_only: 'true'
gradle_encryption_key: ${{ secrets.GRADLE_ENCRYPTION_KEY }}
- name: Check publishing secrets
id: secrets
env:
MAVEN_CENTRAL_USERNAME: ${{ secrets.MAVEN_CENTRAL_USERNAME }}
run: |
if [ -z "${MAVEN_CENTRAL_USERNAME}" ]; then
echo "::warning::MAVEN_CENTRAL_USERNAME not configured; skipping snapshot publish."
echo "skip=true" >> "$GITHUB_OUTPUT"
else
echo "skip=false" >> "$GITHUB_OUTPUT"
fi
- name: Publish snapshot
if: steps.secrets.outputs.skip != 'true'
env:
ORG_GRADLE_PROJECT_mavenCentralUsername: ${{ secrets.MAVEN_CENTRAL_USERNAME }}
ORG_GRADLE_PROJECT_mavenCentralPassword: ${{ secrets.MAVEN_CENTRAL_PASSWORD }}
ORG_GRADLE_PROJECT_signingInMemoryKey: ${{ secrets.SIGNING_IN_MEMORY_KEY }}
ORG_GRADLE_PROJECT_signingInMemoryKeyPassword: ${{ secrets.SIGNING_IN_MEMORY_KEY_PASSWORD }}
run: |
./gradlew \
-Prelease.forceSnapshot \
publishAllPublicationsToMavenCentralRepository \
--no-configuration-cache