Files
AmazeFileManager/.github/workflows/android-feature.yml
TranceLove 7b7086934b Build improvements
- Pin Rust version to 1.98.1 at Github Actions
- Add rust-toolchain.toml to pin Rust version on local builds
- Github Action use JDK 21
- Bump NDK version to r30 LTS
- Bump Github Action versions and align arguments with reference from release/4.0 branch
2026-09-24 23:28:23 +08:00

89 lines
2.6 KiB
YAML
Executable File

name: Android Feature CI
on:
pull_request:
branches:
- 'master'
- 'release/*'
- 'hotfix/*'
concurrency:
group: build-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
check_spotless:
name: Check spotless
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- name: Set up JDK 21
uses: actions/setup-java@v5
with:
distribution: "temurin"
java-version: 21
- name: Set up NDK
id: setup-ndk
uses: nttld/setup-ndk@ed92fe6cadad69be94a966a7ee3271275e62f779
with:
ndk-version: r30
link-to-sdk: true
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v6
- name: Check formatting using spotless
env:
ANDROID_NDK_HOME: ${{ steps.setup-ndk.outputs.ndk-path }}
run: ./gradlew spotlessCheck
build:
name: Build debug and run Jacoco tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- name: Set up JDK 21
uses: actions/setup-java@v5
with:
distribution: "temurin"
java-version: 21
- name: Set up NDK
uses: nttld/setup-ndk@ed92fe6cadad69be94a966a7ee3271275e62f779
with:
ndk-version: r30
link-to-sdk: true
- name: Install Rust
uses: dtolnay/rust-toolchain@1.98.1
- name: Cache Rust dependencies
uses: actions/cache@v5
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
file_operations/target/
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
restore-keys: |
${{ runner.os }}-cargo-
- name: Setup Rust for Android
run: |
cd file_operations
chmod +x setup_rust_android.sh
./setup_rust_android.sh
- name: Verify Rust setup
run: |
cd file_operations
echo "🔍 Verifying Rust Android targets..."
rustup target list --installed | grep android || echo "No Android targets found"
echo "🔍 Verifying cargo configuration..."
if [ -f .cargo/config.toml ]; then
echo "✅ .cargo/config.toml exists"
else
echo "❌ .cargo/config.toml missing"
exit 1
fi
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v6
- name: Build with Gradle
run: ./gradlew assembleDebug --stacktrace
- name: Run test cases
run: ./gradlew jacocoTestPlayDebugUnitTestReport --stacktrace --info