AppFlowy/.github/workflows/dart_lint.yml
Swapnil Kumbhar 0bc0a72d8a
Code coverage for Rust (#1263)
* feat: Bumped Rust to stable-2022-04-07 (1.60.0)

* feat: Added coverage tests and report generation

* feat: Added workflow for Rust Coverage

* feat: Bumped Rust to 1.60.0 in Workflows

* test: Testing for CI

* ci: Added name and fixed path for Rust Coverage

* revert: "test: Testing for CI"

This reverts commit 049a7b1088.

* fix: Added .pub-cache to PATH, change incremental builds to zero

* test: Testing for CI

* ci: Installing protobuf compiler in CI

* revert: "test: Testing for CI"

This reverts commit 049a7b1088.

* ci: Added environment setup for dart

* test: Testing for CI

* feat: Added task to check if 'grcov' is installed

* ci: Added steps to install grcov

* test: Testing for CI

* ci: Fixed name for grcov installation step

* feat: Added cargo binaries to PATH in tests

* revert: "test: Testing for CI"

This reverts commit 24e425db66.

* revert: "test: Testing for CI"

This reverts commit a5de816bce.

* ci: Fixed a very silly failing case

* test: Created a test rust file for cov test
2022-10-11 19:54:31 +08:00

85 lines
2.3 KiB
YAML

# 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"
paths:
- "frontend/app_flowy/**"
pull_request:
branches:
- "main"
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 flowy_dev
- 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 flowy-sdk-dev
- name: 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