loom.yml 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167
  1. on:
  2. push:
  3. branches:
  4. - main
  5. paths:
  6. - '**.rs'
  7. - '**/Cargo.toml'
  8. - '.github/workflows/loom.yml'
  9. workflow_dispatch:
  10. pull_request:
  11. paths:
  12. - '**.rs'
  13. - '**/Cargo.toml'
  14. - '.github/workflows/loom.yml'
  15. name: Loom Models
  16. env:
  17. LOOM_MAX_PREEMPTIONS: 2
  18. LOOM_LOG: loom=trace
  19. RUSTFLAGS: "--cfg loom"
  20. jobs:
  21. loom_mpsc_send_recv_wrap:
  22. name: "mpsc_send_recv_wrap"
  23. runs-on: ubuntu-latest
  24. steps:
  25. - uses: actions/checkout@v2
  26. - name: Install stable toolchain
  27. uses: actions-rs/toolchain@v1
  28. with:
  29. profile: minimal
  30. toolchain: stable
  31. override: true
  32. components: rustfmt
  33. - name: Run cargo test
  34. uses: actions-rs/cargo@v1
  35. with:
  36. command: test
  37. args: --profile loom --lib -- mpsc_send_recv_wrap
  38. loom_mpsc_try_send_recv:
  39. name: "mpsc_try_send_recv"
  40. runs-on: ubuntu-latest
  41. steps:
  42. - uses: actions/checkout@v2
  43. - name: Install stable toolchain
  44. uses: actions-rs/toolchain@v1
  45. with:
  46. profile: minimal
  47. toolchain: stable
  48. override: true
  49. components: rustfmt
  50. - name: Run cargo test
  51. uses: actions-rs/cargo@v1
  52. with:
  53. command: test
  54. args: --profile loom --lib -- mpsc_try_send_recv
  55. async_rx_close_unconsumed:
  56. name: "mpsc::rx_close_unconsumed"
  57. runs-on: ubuntu-latest
  58. steps:
  59. - uses: actions/checkout@v2
  60. - name: Install stable toolchain
  61. uses: actions-rs/toolchain@v1
  62. with:
  63. profile: minimal
  64. toolchain: stable
  65. override: true
  66. components: rustfmt
  67. - name: Run cargo test
  68. uses: actions-rs/cargo@v1
  69. with:
  70. command: test
  71. args: --profile loom --lib -- mpsc::rx_close_unconsumed
  72. sync_rx_close_unconsumed:
  73. name: "sync::rx_close_unconsumed"
  74. runs-on: ubuntu-latest
  75. steps:
  76. - uses: actions/checkout@v2
  77. - name: Install stable toolchain
  78. uses: actions-rs/toolchain@v1
  79. with:
  80. profile: minimal
  81. toolchain: stable
  82. override: true
  83. components: rustfmt
  84. - name: Run cargo test
  85. uses: actions-rs/cargo@v1
  86. with:
  87. command: test
  88. args: --profile loom --lib -- mpsc_sync::rx_close_unconsumed
  89. loom_mpsc_async:
  90. name: "mpsc"
  91. runs-on: ubuntu-latest
  92. steps:
  93. - uses: actions/checkout@v2
  94. - name: Install stable toolchain
  95. uses: actions-rs/toolchain@v1
  96. with:
  97. profile: minimal
  98. toolchain: stable
  99. override: true
  100. components: rustfmt
  101. - name: Run cargo test
  102. uses: actions-rs/cargo@v1
  103. with:
  104. command: test
  105. args: --profile loom --lib -- mpsc_async
  106. RUSTFLAGS: "--cfg loom --cfg ci_skip_slow_models"
  107. loom_mpsc_sync:
  108. name: "mpsc::sync"
  109. runs-on: ubuntu-latest
  110. steps:
  111. - uses: actions/checkout@v2
  112. - name: Install stable toolchain
  113. uses: actions-rs/toolchain@v1
  114. with:
  115. profile: minimal
  116. toolchain: stable
  117. override: true
  118. components: rustfmt
  119. - name: Run cargo test
  120. uses: actions-rs/cargo@v1
  121. with:
  122. command: test
  123. args: --profile loom --lib -- mpsc_sync
  124. loom_thingbuf:
  125. name: "ThingBuf"
  126. runs-on: ubuntu-latest
  127. steps:
  128. - uses: actions/checkout@v2
  129. - name: Install stable toolchain
  130. uses: actions-rs/toolchain@v1
  131. with:
  132. profile: minimal
  133. toolchain: stable
  134. override: true
  135. components: rustfmt
  136. - name: Run cargo test
  137. uses: actions-rs/cargo@v1
  138. with:
  139. command: test
  140. args: --profile loom --lib -- thingbuf
  141. loom_util:
  142. name: "util"
  143. runs-on: ubuntu-latest
  144. steps:
  145. - uses: actions/checkout@v2
  146. - name: Install stable toolchain
  147. uses: actions-rs/toolchain@v1
  148. with:
  149. profile: minimal
  150. toolchain: stable
  151. override: true
  152. components: rustfmt
  153. - name: Run cargo test
  154. uses: actions-rs/cargo@v1
  155. with:
  156. command: test
  157. args: --profile loom --lib -- util