ci.yaml 2.9 KB

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