| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125 |
- name: CI
- on:
- push:
- branches: [main]
- pull_request:
- branches: [main]
- jobs:
- rust-lint:
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v2
- - id: component
- uses: actions-rs/components-nightly@v1
- with:
- component: clippy
- - uses: actions-rs/toolchain@v1
- with:
- toolchain: ${{ steps.component.outputs.toolchain }}
- override: true
- - run: rustup component add clippy
- working-directory: frontend/rust-lib
- - run: cargo clippy
- working-directory: frontend/rust-lib
- flutter-lint:
- name: flutter analyze
- runs-on: ubuntu-latest
- steps:
- - name: Checkout
- uses: actions/checkout@v2
- - uses: subosito/flutter-action@v1
- with:
- channel: "dev"
- - name: flutter pub get
- working-directory: frontend/app_flowy
- run: flutter pub get
- - name: flutter analyze
- working-directory: frontend/app_flowy
- run: flutter analyze
- sdk-tests:
- runs-on: ubuntu-latest
- steps:
- - name: Checkout
- uses: actions/checkout@v2
- - name: Install Rust
- run: |
- curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
- source $HOME/.cargo/env
- rustup toolchain install nightly
- rustup default nightly
- - name: Frontend tests
- working-directory: frontend/rust-lib
- run: cargo test
- - name: Shared-lib tests
- working-directory: shared-lib
- run: cargo test
-
- build-macos:
- runs-on: macOS-latest
- steps:
- - name: Checkout
- uses: actions/checkout@v2
- - name: Env install
- working-directory: frontend
- run: make install_rust
- - name: Checkou Flutter
- uses: actions/checkout@v2
- with:
- repository: flutter/flutter
- path: flutter
- - name: Flutter
- working-directory: flutter
- run: |
- echo "$(pwd)/bin" >> $GITHUB_PATH
- export PATH="$PATH:$(pwd)/bin"
- flutter channel dev
- flutter config --enable-macos-desktop
- flutter doctor
- - name: Deps
- working-directory: frontend
- run: |
- cargo install --force cargo-make
- cargo install --force duckscript_cli
- cargo make flowy_dev
- - name: Build
- working-directory: frontend
- run: cargo make --profile production-mac-x86 appflowy
- build-ubuntu:
- runs-on: ubuntu-latest
- steps:
- - name: Checkout
- uses: actions/checkout@v2
- - name: Packages
- run: |
- 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
- sudo apt-get update
- sudo apt-get install -y dart curl build-essential libsqlite3-dev libssl-dev clang cmake ninja-build pkg-config libgtk-3-dev
- - name: Rust
- run: |
- curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
- source $HOME/.cargo/env
- rustup toolchain install nightly
- rustup default nightly
- - name: Flutter
- run: |
- git clone --depth 1 -b dev https://github.com/flutter/flutter.git
- cd flutter
- echo `pwd`"/bin" >> $GITHUB_PATH
- export PATH="$PATH:`pwd`/bin"
- flutter channel dev
- flutter config --enable-linux-desktop
- flutter doctor
- - name: Deps
- working-directory: frontend
- run: |
- cargo install --force cargo-make
- cargo install --force duckscript_cli
- cargo make flowy_dev
- - name: Build
- run: |
- cd frontend
- cargo make --profile production-linux-x86 appflowy
|