rust.yml 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. on: push
  2. name: CI Build
  3. jobs:
  4. ci:
  5. runs-on: ubuntu-latest
  6. strategy:
  7. matrix:
  8. rust:
  9. - stable
  10. - beta
  11. - nightly
  12. steps:
  13. - uses: actions/checkout@v1
  14. - uses: actions-rs/toolchain@v1
  15. with:
  16. profile: minimal
  17. toolchain: ${{ matrix.rust }}
  18. override: true
  19. components: rustfmt, clippy
  20. - uses: actions-rs/cargo@v1
  21. with:
  22. command: build
  23. args: --release
  24. - uses: actions-rs/cargo@v1
  25. with:
  26. command: test
  27. args: --release
  28. - uses: actions-rs/cargo@v1
  29. with:
  30. command: fmt
  31. args: --all -- --check
  32. - uses: actions-rs/cargo@v1
  33. with:
  34. command: clippy
  35. args: -- -D warnings
  36. - name: Run cargo-tarpaulin
  37. uses: actions-rs/tarpaulin@v0.1
  38. with:
  39. version: '0.15.0'
  40. out-type: Xml
  41. run-types: 'Tests'
  42. args: '-- --test-threads 1'
  43. - name: Upload to codecov.io
  44. uses: codecov/codecov-action@v1.0.2
  45. with:
  46. token: ${{ secrets.CODECOV_SECRET }}
  47. - name: Archive code coverage results
  48. uses: actions/upload-artifact@v1
  49. with:
  50. name: code-coverage-report
  51. path: cobertura.xml
  52. - name: Archive build
  53. uses: actions/upload-artifact@v2
  54. with:
  55. name: receqif
  56. path: target/release/receqif