rust.yml 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. # CI for the whole Cargo workspace. Although having two relatively independent
  2. # crates in this workspace (as they do not get released together, as for example
  3. # tokio with its sub crates), a PR for a certain CI may report errors in the
  4. # other workspace members. I think this is unfortunate. I've experimented with
  5. # CI runs per workspace member but the complexity in the end was not worth it.
  6. # Instead, it is the right thing that the CI always covers the whole repository
  7. # and that it is as stable as possible.
  8. name: "Cargo workspace"
  9. # Run on every push (tag, branch) and pull_request
  10. on: [pull_request, push, workflow_dispatch]
  11. env:
  12. CARGO_TERM_COLOR: always
  13. jobs:
  14. ### Regular Build #########################
  15. build_msrv:
  16. name: build (msrv)
  17. uses: ./.github/workflows/_build-rust.yml
  18. with:
  19. rust-version: 1.56.1
  20. do-style-check: false
  21. build_stable:
  22. name: build (stable)
  23. uses: ./.github/workflows/_build-rust.yml
  24. with:
  25. rust-version: stable
  26. do-style-check: false
  27. build_nightly:
  28. name: build (nightly)
  29. uses: ./.github/workflows/_build-rust.yml
  30. with:
  31. rust-version: nightly
  32. do-style-check: false
  33. features: unstable
  34. ### no-std Build #########################
  35. build_nostd_msrv:
  36. name: build no_std (msrv)
  37. needs: build_msrv
  38. uses: ./.github/workflows/_build-rust.yml
  39. with:
  40. rust-version: 1.56.1
  41. do-style-check: false
  42. rust-target: thumbv7em-none-eabihf
  43. build_nostd_stable:
  44. name: build no_std (stable)
  45. needs: build_stable
  46. uses: ./.github/workflows/_build-rust.yml
  47. with:
  48. rust-version: stable
  49. do-style-check: false
  50. rust-target: thumbv7em-none-eabihf
  51. build_nostd_nightly:
  52. name: build no_std (nightly)
  53. needs: build_nightly
  54. uses: ./.github/workflows/_build-rust.yml
  55. with:
  56. rust-version: nightly
  57. do-style-check: false
  58. rust-target: thumbv7em-none-eabihf
  59. features: unstable
  60. ### Style Checks + Doc #####################
  61. style_msrv:
  62. name: style (msrv)
  63. needs: build_msrv
  64. uses: ./.github/workflows/_build-rust.yml
  65. with:
  66. rust-version: 1.56.1
  67. do-style-check: true
  68. do-test: false
  69. style_stable:
  70. name: style (stable)
  71. needs: build_stable
  72. uses: ./.github/workflows/_build-rust.yml
  73. with:
  74. rust-version: stable
  75. do-style-check: true
  76. do-test: false
  77. style_nightly:
  78. name: style (nightly)
  79. needs: build_nightly
  80. uses: ./.github/workflows/_build-rust.yml
  81. with:
  82. rust-version: nightly
  83. do-style-check: true
  84. do-test: false
  85. features: unstable