# This workflow uses actions that are not certified by GitHub. # They are provided by a third-party and are governed by # separate terms of service, privacy policy, and support # documentation. name: Flutter lint on: push: branches: - "main" - "release/*" paths: - "frontend/app_flowy/**" pull_request: branches: - "main" - "release/*" paths: - "frontend/app_flowy/**" env: CARGO_TERM_COLOR: always jobs: flutter-analyze: name: flutter analyze runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v2 - uses: subosito/flutter-action@v1 with: flutter-version: "3.0.5" channel: "stable" - uses: actions-rs/toolchain@v1 with: toolchain: "stable-2022-04-07" - name: Cache Cargo id: cache-cargo uses: actions/cache@v2 with: path: | ~/.cargo key: ${{ runner.os }}-cargo-${{ steps.rust_toolchain.outputs.rustc_hash }}-${{ hashFiles('./frontend/rust-lib/Cargo.toml') }} - name: Cache Rust id: cache-rust-target uses: actions/cache@v2 with: path: | frontend/rust-lib/target shared-lib/target key: ${{ runner.os }}-rust-rust-lib-share-lib-${{ steps.rust_toolchain.outputs.rustc_hash }}-${{ hashFiles('./frontend/rust-lib/Cargo.toml') }} - if: steps.cache-cargo.outputs.cache-hit != 'true' name: Rust Deps working-directory: frontend run: | cargo install cargo-make - name: Cargo make flowy dev working-directory: frontend run: | cargo make appflowy-deps-tools - name: Flutter Deps run: flutter packages pub get working-directory: frontend/app_flowy - name: Build FlowySDK working-directory: frontend run: | cargo make --profile development-linux-x86_64 appflowy-sdk-dev - name: Flutter Code Generation working-directory: frontend/app_flowy run: | flutter packages pub run easy_localization:generate -f keys -o locale_keys.g.dart -S assets/translations -s en.json flutter packages pub run build_runner build --delete-conflicting-outputs - name: Run Flutter Analyzer working-directory: frontend/app_flowy run: flutter analyze