AppFlowy/.github/workflows/ci.yaml
2021-11-20 19:31:37 -08:00

49 lines
1.6 KiB
YAML

name: CI
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
build-macos:
runs-on: macOS-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Env install
run: cd frontend && make install_rust && make install_cargo_make && cargo make install_targets
- name: Run frontend tests
run: cd frontend/rust-lib && cargo test
- name: Run shared-lib tests
run: cd shared-lib && cargo test
build-linux:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Packages
run: sudo apt-get update && sudo apt-get install -y 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 https://github.com/flutter/flutter.git
cd flutter
echo "export PATH=\$PATH:"`pwd`"/bin" >> ~/.profile
export PATH="$PATH:`pwd`/bin"
flutter channel dev
flutter config --enable-linux-desktop
flutter doctor
- name: Deps
run: |
cargo install --force cargo-make
cargo install --force duckscript_cli
cd frontend
cargo make flowy_dev
cargo make -p development-linux-x86 pb
cargo make -p development-linux-x86 appflowy-linux-dev