Merge pull request #279 from weblate/weblate-ouisync-android-strings #1587
This file contains 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: CI | |
on: | |
push: | |
#branches: [master] | |
paths-ignore: | |
- '**/README.md' | |
pull_request: | |
branches: [master] | |
workflow_dispatch: | |
jobs: | |
build_and_test: | |
name: OuiSync Flutter App - Android | |
runs-on: ubuntu-latest | |
steps: | |
- name: Installing llvm | |
run: sudo apt-get install libclang-dev | |
- uses: actions/checkout@v2 | |
with: | |
submodules: recursive | |
- uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: stable | |
- name: Adding Android Platform target | |
run: rustup target add x86_64-linux-android # armv7-linux-androideabi aarch64-linux-android i686-linux-android | |
- name: Install dependencies | |
run: sudo apt-get install libfuse-dev | |
- name: Generate ./ouisync-plugin/ouisync/target/bindings.h | |
run: | | |
cd ouisync-plugin/ouisync | |
cargo run --bin bindgen | |
- name: Setting up the Android NDK environment | |
uses: nttld/setup-ndk@v1 | |
with: | |
ndk-version: r25c | |
- name: Set the ABI filter for x86_64 | |
run: echo "ndk.abiFilters=x86_64" >> android/local.properties | |
- uses: subosito/flutter-action@v2 | |
with: | |
channel: 'stable' | |
flutter-version: '3.10.1' | |
- name: Flutter doctor | |
run: flutter doctor -v | |
- name: Getting Flutter packages (App) | |
run: flutter pub get | |
- name: Get Flutter packages (Plugin) | |
run: | | |
cd ouisync-plugin | |
flutter pub get | |
- name: Generate the Dart bindings for the OuiSync plugin (from the Rust FFI bindings for OuiSync library) | |
run: | | |
cd ouisync-plugin | |
flutter pub run ffigen | |
- name: Analyze | |
run: flutter analyze | |
- name: Build OuiSync library for tests | |
run: | | |
cd ouisync-plugin/ouisync | |
cargo build --release -p ouisync-ffi | |
- name: Run tests | |
run: OUISYNC_LIB=`pwd`/ouisync-plugin/ouisync/target/release/libouisync_ffi.so flutter test | |
- name: Building APK (android-x64) | |
run: flutter build apk --flavor vanilla -t lib/main_vanilla.dart --target-platform android-x64 |