ci.yaml 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. name: CI
  2. on:
  3. push:
  4. branches: [main]
  5. pull_request:
  6. branches: [main]
  7. jobs:
  8. build-macos:
  9. runs-on: macOS-latest
  10. steps:
  11. - name: Checkout
  12. uses: actions/checkout@v2
  13. - name: Env install
  14. run: cd frontend && make install_rust && make install_cargo_make && cargo make install_targets
  15. - name: Run frontend tests
  16. run: cd frontend/rust-lib && cargo test
  17. - name: Run shared-lib tests
  18. run: cd shared-lib && cargo test
  19. build-linux:
  20. runs-on: ubuntu-latest
  21. steps:
  22. - name: Checkout
  23. uses: actions/checkout@v2
  24. - name: Packages
  25. 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
  26. - name: Rust
  27. run: |
  28. curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
  29. source $HOME/.cargo/env
  30. rustup toolchain install nightly
  31. rustup default nightly
  32. - name: Dart
  33. run: |
  34. sudo wget -qO /etc/apt/trusted.gpg.d/dart_linux_signing_key.asc https://dl-ssl.google.com/linux/linux_signing_key.pub
  35. sudo wget -qO /etc/apt/sources.list.d/dart_stable.list https://storage.googleapis.com/download.dartlang.org/linux/debian/dart_stable.list
  36. sudo apt update
  37. sudo apt install -y dart
  38. - name: Flutter
  39. run: |
  40. git clone https://github.com/flutter/flutter.git
  41. cd flutter
  42. echo "export PATH=\$PATH:"`pwd`"/bin" >> ~/.profile
  43. export PATH="$PATH:`pwd`/bin"
  44. flutter channel dev
  45. flutter config --enable-linux-desktop
  46. flutter doctor
  47. - name: Deps
  48. run: |
  49. cargo install --force cargo-make
  50. cargo install --force duckscript_cli
  51. cd frontend
  52. cargo make flowy_dev
  53. cargo make -p development-linux-x86 pb
  54. cargo make -p development-linux-x86 appflowy-linux-dev