mirror of
https://github.com/FluxaMedia/fluxa.git
synced 2026-08-05 16:29:07 +00:00
87 lines
2.2 KiB
YAML
87 lines
2.2 KiB
YAML
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
|