Skip to content

fix(android): replace Kt Android ext with Java equivalent for compatibility #27

fix(android): replace Kt Android ext with Java equivalent for compatibility

fix(android): replace Kt Android ext with Java equivalent for compatibility #27

Workflow file for this run

name: 🧪 Run Tests
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
tests:
name: Check lints and tests
runs-on: ubuntu-latest
steps:
- name: 📦 Checkout repository
uses: actions/checkout@v4
- name: 🛠️ Set up Flutter
uses: subosito/flutter-action@v2
with:
channel: 'stable'
cache: true
- name: 🔍 Verify Flutter installation
run: flutter --version
# TODO: Might use https://pub.dev/packages/melos and move the packages (e.g., `quill_native_brdige`) into the 'packages' directory
- name: 📦 Install quill_native_bridge dependencies
run: flutter pub get -C quill_native_bridge
- name: 📦 Install quill_native_bridge_android dependencies
run: flutter pub get -C quill_native_bridge_android
- name: 📦 Install quill_native_bridge_ios dependencies
run: flutter pub get -C quill_native_bridge_ios
- name: 📦 Install quill_native_bridge_linux dependencies
run: flutter pub get -C quill_native_bridge_linux
- name: 📦 Install quill_native_bridge_macos dependencies
run: flutter pub get -C quill_native_bridge_macos
- name: 📦 Install quill_native_bridge_platform_interface dependencies
run: flutter pub get -C quill_native_bridge_platform_interface
- name: 📦 Install quill_native_bridge_web dependencies
run: flutter pub get -C quill_native_bridge_web
- name: 📦 Install quill_native_bridge_windows dependencies
run: flutter pub get -C quill_native_bridge_windows
- name: 📦 Install the example's dependencies
run: flutter pub get -C quill_native_bridge/example --enforce-lockfile
- name: 🔍 Run Flutter analysis
run: flutter analyze
- name: 🧹 Check Dart code formatting
run: dart format --set-exit-if-changed .
- name: 🔍 Preview Dart proposed changes
run: dart fix --dry-run
# TODO: Run the check (flutter pub publish --dry-run) for all packages (e.g., quill_native_bridge_platform_interface)
- name: 🧪 Run Flutter tests
run: |
for package in quill_native_bridge quill_native_bridge_platform_interface quill_native_bridge_android quill_native_bridge_ios quill_native_bridge_macos quill_native_bridge_windows quill_native_bridge_linux quill_native_bridge_web; do
if [ -d "$package/test" ]; then
(cd "$package" && flutter test)
else
echo "No test directory found for $package. Skipping."
fi
done
# TODO: Run integration tests in CI in a seperate workflow for tests with support for all platforms
# # From https://docs.flutter.dev/get-started/install/linux/desktop#development-tools
# - name: 🐧 Install required Linux packages to run integration tests
# run: sudo apt-get update -y && sudo apt-get upgrade -y && sudo apt-get install -y curl git unzip xz-utils zip libglu1-mesa && sudo apt-get install clang cmake git ninja-build pkg-config libgtk-3-dev liblzma-dev libstdc++-12-dev
# # See https://docs.flutter.dev/get-started/install/linux/desktop#development-tools
# - name: 🐧 Checking the package versions compatibility with Flutter
# run: flutter doctor
# - name: 🧪 Run Flutter integration tests
# run: cd quill_native_bridge/example && flutter test integration_test -d linux
# timeout-minutes: 5