|
13 | 13 | Run the test run under NoThunks conditions instead of the default variant
|
14 | 14 | type: boolean
|
15 | 15 | default: false
|
| 16 | + nothunks-safe-only: |
| 17 | + description: |
| 18 | + Run only the test suites which are known to pass under NoThunks conditions |
| 19 | + type: boolean |
| 20 | + default: false |
16 | 21 | pull_request:
|
17 | 22 | merge_group:
|
18 | 23 | push:
|
19 | 24 | branches:
|
20 | 25 | - main
|
21 | 26 | schedule:
|
| 27 | + |
22 | 28 | # every night, at midnight
|
23 | 29 | - cron: "0 0 * * *"
|
24 | 30 |
|
| 31 | + # on the first day of each month, at midnight |
| 32 | + - cron: "0 0 1 * *" |
| 33 | + |
25 | 34 | jobs:
|
26 | 35 | build-test-bench-haddocks:
|
27 | 36 | name: Build and test
|
|
31 | 40 | matrix:
|
32 | 41 | ghc: ["8.10.7", "9.6.5", "9.8.2"]
|
33 | 42 | variant: [default, no-thunks]
|
| 43 | + test-set: [all, no-thunks-safe] |
34 | 44 | exclude:
|
35 | 45 | - variant:
|
36 |
| - ${{ (github.event_name == 'schedule' || inputs.nothunks) && 'default' || 'no-thunks' }} |
| 46 | + ${{ ((github.event_name == 'schedule' && github.event.schedule == '0 0 1 * *') || inputs.nothunks) && 'default' || 'no-thunks' }} |
| 47 | + - test-set: |
| 48 | + ${{ ((github.event_name == 'schedule' && github.event.schedule == '0 0 * * *') || inputs.nothunks-safe-only) && 'all' || 'no-thunks-safe' }} |
37 | 49 | env:
|
38 | 50 | # Modify this value to "invalidate" the Cabal cache.
|
39 | 51 | CABAL_CACHE_VERSION: "2024-01-29"
|
@@ -127,8 +139,13 @@ jobs:
|
127 | 139 | run: cabal build all -j
|
128 | 140 |
|
129 | 141 | - name: Test
|
| 142 | + if: matrix.test-set == 'all' |
130 | 143 | run: cabal test all -j --test-show-details=streaming
|
131 | 144 |
|
| 145 | + - name: Test (NoThunks-safe tests only) |
| 146 | + if: matrix.test-set == 'no-thunks-safe' |
| 147 | + run: cabal test ouroboros-consensus:consensus-test ouroboros-consensus:doctest ouroboros-consensus:infra-test ouroboros-consensus:storage-test ouroboros-consensus-cardano:byron-test ouroboros-consensus-cardano:shelley-test ouroboros-consensus-diffusion:infra-test ouroboros-consensus-diffusion:mock-test ouroboros-consensus-protocol:protocol-test -j --test-show-details=streaming |
| 148 | + |
132 | 149 | - name: Create baseline-benchmark
|
133 | 150 | if: github.event_name == 'push' && github.ref == 'refs/heads/main'
|
134 | 151 | run: |
|
|
0 commit comments