ci.yaml 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. name: CI
  2. on:
  3. push:
  4. branches: [main]
  5. pull_request:
  6. branches: [main]
  7. jobs:
  8. sdk-tests:
  9. runs-on: ubuntu-latest
  10. steps:
  11. - name: Checkout
  12. uses: actions/checkout@v2
  13. - name: Install Rust
  14. run: |
  15. curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
  16. source $HOME/.cargo/env
  17. rustup toolchain install nightly
  18. rustup default nightly
  19. - name: Frontend tests
  20. run: cd frontend/rust-lib && cargo test
  21. - name: Shared-lib tests
  22. run: cd shared-lib && cargo test
  23. build-macos:
  24. runs-on: macOS-latest
  25. steps:
  26. - name: Checkout
  27. uses: actions/checkout@v2
  28. - name: Env install
  29. run: cd frontend && make install_rust
  30. - name: Flutter
  31. run: |
  32. git clone --depth 1 -b dev https://github.com/flutter/flutter.git
  33. cd flutter
  34. echo `pwd`"/bin" >> $GITHUB_PATH
  35. export PATH="$PATH:`pwd`/bin"
  36. flutter channel dev
  37. flutter config --enable-macos-desktop
  38. flutter doctor
  39. - name: Deps
  40. run: |
  41. cd frontend
  42. cargo install --force cargo-make
  43. cargo install --force duckscript_cli
  44. cargo make flowy_dev
  45. - name: Build
  46. run: |
  47. cd frontend
  48. cargo make --profile production-mac-x86 appflowy
  49. build-ubuntu:
  50. runs-on: ubuntu-latest
  51. steps:
  52. - name: Checkout
  53. uses: actions/checkout@v2
  54. - name: Packages
  55. run: |
  56. sudo wget -qO /etc/apt/trusted.gpg.d/dart_linux_signing_key.asc https://dl-ssl.google.com/linux/linux_signing_key.pub
  57. sudo wget -qO /etc/apt/sources.list.d/dart_stable.list https://storage.googleapis.com/download.dartlang.org/linux/debian/dart_stable.list
  58. sudo apt-get update
  59. sudo apt-get install -y dart curl build-essential libsqlite3-dev libssl-dev clang cmake ninja-build pkg-config libgtk-3-dev
  60. - name: Rust
  61. run: |
  62. curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
  63. source $HOME/.cargo/env
  64. rustup toolchain install nightly
  65. rustup default nightly
  66. - name: Flutter
  67. run: |
  68. git clone --depth 1 -b dev https://github.com/flutter/flutter.git
  69. cd flutter
  70. echo `pwd`"/bin" >> $GITHUB_PATH
  71. export PATH="$PATH:`pwd`/bin"
  72. flutter channel dev
  73. flutter config --enable-linux-desktop
  74. flutter doctor
  75. - name: Deps
  76. run: |
  77. cd frontend
  78. cargo install --force cargo-make
  79. cargo install --force duckscript_cli
  80. cargo make flowy_dev
  81. - name: Build
  82. run: |
  83. cd frontend
  84. cargo make --profile production-linux-x86 appflowy