ci.yaml 2.6 KB

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