main.yml 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. on: [push, pull_request]
  2. name: Rust CI
  3. jobs:
  4. check:
  5. name: Check
  6. runs-on: ubuntu-latest
  7. steps:
  8. - uses: actions/checkout@v2
  9. - uses: actions-rs/toolchain@v1
  10. with:
  11. profile: minimal
  12. toolchain: stable
  13. override: true
  14. - uses: Swatinem/rust-cache@v1
  15. - run: sudo apt install libwebkit2gtk-4.0-dev libappindicator3-dev libgtk-3-dev libappindicator3-dev
  16. - uses: actions-rs/cargo@v1
  17. with:
  18. command: check
  19. test:
  20. name: Test Suite
  21. runs-on: ubuntu-latest
  22. steps:
  23. - uses: actions/checkout@v2
  24. - uses: actions-rs/toolchain@v1
  25. with:
  26. profile: minimal
  27. toolchain: stable
  28. override: true
  29. - uses: Swatinem/rust-cache@v1
  30. - run: sudo apt install libwebkit2gtk-4.0-dev libappindicator3-dev libgtk-3-dev libappindicator3-dev
  31. - uses: actions-rs/cargo@v1
  32. with:
  33. command: test
  34. args: --features "desktop, ssr, router"
  35. fmt:
  36. name: Rustfmt
  37. runs-on: ubuntu-latest
  38. steps:
  39. - uses: actions/checkout@v2
  40. - uses: actions-rs/toolchain@v1
  41. with:
  42. profile: minimal
  43. toolchain: stable
  44. override: true
  45. - uses: Swatinem/rust-cache@v1
  46. - run: rustup component add rustfmt
  47. - uses: actions-rs/cargo@v1
  48. with:
  49. command: fmt
  50. args: --all -- --check
  51. # clippy:
  52. # name: Clippy
  53. # runs-on: ubuntu-latest
  54. # steps:
  55. # - uses: actions/checkout@v2
  56. # - uses: actions-rs/toolchain@v1
  57. # with:
  58. # profile: minimal
  59. # toolchain: stable
  60. # override: true
  61. # - uses: Swatinem/rust-cache@v1
  62. # - run: rustup component add clippy
  63. # - uses: actions-rs/cargo@v1
  64. # with:
  65. # command: clippy
  66. # args: -- -D warnings
  67. #
  68. # sudo apt install libwebkit2gtk-4.0-dev libappindicator3-dev libgtk-3-dev libappindicator3-dev