name: Platform Verification on: pull_request: paths: - ".github/workflows/platform.yml" - "app/**" - "build-logic/**" - "core/**" - "data/**" - "player/**" - "shared/**" - "gradle/**" - "gradle.properties" - "settings.gradle.kts" - "build.gradle.kts" push: branches: [master] paths: - ".github/workflows/platform.yml" - "app/**" - "build-logic/**" - "core/**" - "data/**" - "player/**" - "shared/**" - "gradle/**" - "gradle.properties" - "settings.gradle.kts" - "build.gradle.kts" workflow_dispatch: inputs: fluxa_core_ref: description: Fluxa Rust core ref to build required: false default: master type: string permissions: contents: read jobs: android-shared: name: Android shared modules runs-on: ubuntu-latest timeout-minutes: 30 steps: - uses: actions/checkout@v7 - uses: actions/checkout@v7 with: repository: FluxaMedia/fluxa-core path: fluxa-core ref: ${{ inputs.fluxa_core_ref || 'master' }} - name: Link sibling Rust core run: ln -sfn "$GITHUB_WORKSPACE/fluxa-core" "$(dirname "$GITHUB_WORKSPACE")/fluxa-core" - uses: actions/setup-java@v5 with: distribution: temurin java-version: "17" - uses: android-actions/setup-android@v3 - name: Set up Rust uses: dtolnay/rust-toolchain@master with: toolchain: stable targets: aarch64-linux-android,armv7-linux-androideabi,i686-linux-android - name: Install Android NDK run: | "$ANDROID_SDK_ROOT/cmdline-tools/latest/bin/sdkmanager" --install "ndk;28.2.13676358" echo "ANDROID_NDK_HOME=$ANDROID_SDK_ROOT/ndk/28.2.13676358" >> "$GITHUB_ENV" - name: Compile Android shared modules run: >- ./gradlew --no-daemon checkSharedUiBoundary checkKmpCommonBoundary checkSharedPlayerBoundary :core:compileDebugKotlinAndroid :data:compileDebugKotlinAndroid :player:compileDebugKotlinAndroid :shared:compileDebugKotlinAndroid :app:compileTvDebugKotlin