diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 46df373824..515b3af226 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -3,11 +3,11 @@ name: CI on: push: branches: - - 'main' - + - "main" + pull_request: branches: - - 'main' + - "main" jobs: build: @@ -23,36 +23,37 @@ jobs: steps: - uses: actions/checkout@v2 - + - id: rust_toolchain uses: actions-rs/toolchain@v1 with: - toolchain: 'stable-2022-01-20' - + toolchain: "stable-2022-01-20" + - id: flutter uses: subosito/flutter-action@v2 with: - channel: 'stable' + channel: "stable" cache: true - flutter-version: '3.0.5' + flutter-version: "3.0.5" - name: Cache Cargo + id: cache-cargo uses: actions/cache@v2 - with: + with: path: | ~/.cargo key: ${{ runner.os }}-cargo-${{ steps.rust_toolchain.outputs.rustc_hash }}-${{ hashFiles('./frontend/rust-lib/Cargo.toml') }} - name: Cache Rust uses: actions/cache@v2 - with: + 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') }} + key: ${{ runner.os }}-rust-rust-lib-share-lib-${{ steps.rust_toolchain.outputs.rustc_hash }}-${{ hashFiles('./frontend/rust-lib/Cargo.toml') }} - name: Setup Environment - run: | + run: | if [ "$RUNNER_OS" == "Linux" ]; then sudo wget -qO /etc/apt/trusted.gpg.d/dart_linux_signing_key.asc https://dl-ssl.google.com/linux/linux_signing_key.pub sudo wget -qO /etc/apt/sources.list.d/dart_stable.list https://storage.googleapis.com/download.dartlang.org/linux/debian/dart_stable.list @@ -63,11 +64,16 @@ jobs: fi shell: bash - - name: Deps + - if: steps.cache-cargo.outputs.cache-hit != 'true' + name: Deps working-directory: frontend run: | cargo install cargo-make cargo install duckscript_cli + + - name: Cargo make flowy_dev + working-directory: frontend + run: | cargo make flowy_dev - name: Config Flutter diff --git a/.github/workflows/dart_lint.yml b/.github/workflows/dart_lint.yml index 3ff87dc680..251848fb31 100644 --- a/.github/workflows/dart_lint.yml +++ b/.github/workflows/dart_lint.yml @@ -7,14 +7,14 @@ name: Flutter lint on: push: - branches: [ main ] + branches: [main] pull_request: - branches: [ main ] + branches: [main] env: CARGO_TERM_COLOR: always -jobs: +jobs: flutter-analyze: name: flutter analyze runs-on: ubuntu-latest @@ -23,16 +23,38 @@ jobs: uses: actions/checkout@v2 - uses: subosito/flutter-action@v1 with: - flutter-version: '3.0.5' + flutter-version: "3.0.5" channel: "stable" - uses: actions-rs/toolchain@v1 with: - toolchain: 'stable-2022-01-20' + toolchain: "stable-2022-01-20" - - name: Rust Deps + - 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 @@ -53,4 +75,3 @@ jobs: - name: Run Flutter Analyzer working-directory: frontend/app_flowy run: flutter analyze - diff --git a/.github/workflows/dart_test.yml b/.github/workflows/dart_test.yml index e2a858999c..3ff581c2a3 100644 --- a/.github/workflows/dart_test.yml +++ b/.github/workflows/dart_test.yml @@ -3,12 +3,12 @@ name: Unit test(Flutter) on: push: branches: - - 'main' - + - "main" + pull_request: branches: - - 'main' - - 'feat/flowy_editor' + - "main" + - "feat/flowy_editor" env: CARGO_TERM_COLOR: always @@ -18,42 +18,49 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - + - uses: actions-rs/toolchain@v1 with: - toolchain: 'stable-2022-01-20' - + toolchain: "stable-2022-01-20" + - uses: subosito/flutter-action@v2 with: - channel: 'stable' - flutter-version: '3.0.5' + channel: "stable" + flutter-version: "3.0.5" cache: true - name: Cache Cargo uses: actions/cache@v2 - with: + 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: + 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') }} + 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 working-directory: frontend/app_flowy run: | flutter config --enable-linux-desktop - - - name: Rust Deps - working-directory: frontend - run: | - cargo install cargo-make - cargo make flowy_dev + - name: Build FlowySDK working-directory: frontend run: | @@ -65,7 +72,7 @@ jobs: flutter packages pub get 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 bloc tests working-directory: frontend/app_flowy run: | @@ -76,4 +83,4 @@ jobs: working-directory: frontend/app_flowy/packages/flowy_editor run: | flutter pub get - flutter test \ No newline at end of file + flutter test