ci(nightly): upscale QuickCheck tests in nightly test suite#7758
ci(nightly): upscale QuickCheck tests in nightly test suite#7758knoal wants to merge 1 commit intoIntersectMBO:masterfrom
Conversation
…ntersectMBO#6322) Mirror the existing HEDGEHOG_TESTS upscaling for QuickCheck so nightly property runs also exercise QuickCheck-based generators with a larger sample count and size parameter. * Add QUICKCHECK_TESTS / QUICKCHECK_MAX_SIZE env vars (defaults 100000 / 500), plus matching workflow_dispatch inputs. * Pass --quickcheck-tests / --quickcheck-max-size to every test invocation that already passes --hedgehog-tests. These flags are recognised by tasty-quickcheck and only take effect in the nightly run.
There was a problem hiding this comment.
Pull request overview
Updates the nightly GitHub Actions test workflow to upscale QuickCheck property testing parameters (mirroring the existing Hedgehog upscaling), enabling more exhaustive generator testing in nightly runs and allowing manual overrides via workflow_dispatch inputs.
Changes:
- Adds
workflow_dispatchinputs forquickcheck-testsandquickcheck-max-sizewith high nightly defaults. - Introduces
QUICKCHECK_TESTSandQUICKCHECK_MAX_SIZEenvironment variables with fallback defaults. - Passes
--quickcheck-testsand--quickcheck-max-sizeto the nightlyplutus-core-testandplutus-ir-testinvocations.
| HEDGEHOG_TESTS: ${{ github.event.inputs.hedgehog-tests || 100000 }} | ||
| QUICKCHECK_TESTS: ${{ github.event.inputs.quickcheck-tests || 100000 }} | ||
| QUICKCHECK_MAX_SIZE: ${{ github.event.inputs.quickcheck-max-size || 500 }} |
Unisay
left a comment
There was a problem hiding this comment.
Style nit: the existing hedgehog-tests block uses unquoted scalar descriptions and double-quoted defaults. Suggestion below normalizes the new inputs to the same convention so the file stays internally consistent.
| quickcheck-tests: | ||
| description: 'Number of QuickCheck tests to run per property' | ||
| required: false | ||
| default: '100000' | ||
| quickcheck-max-size: | ||
| description: 'Max QuickCheck size parameter' | ||
| required: false | ||
| default: '500' |
There was a problem hiding this comment.
| quickcheck-tests: | |
| description: 'Number of QuickCheck tests to run per property' | |
| required: false | |
| default: '100000' | |
| quickcheck-max-size: | |
| description: 'Max QuickCheck size parameter' | |
| required: false | |
| default: '500' | |
| quickcheck-tests: | |
| description: Number of QuickCheck tests to run per property | |
| required: false | |
| default: "100000" | |
| quickcheck-max-size: | |
| description: Max QuickCheck size parameter | |
| required: false | |
| default: "500" |
|
Smoke-tested locally with the exact CI invocation (counts reduced to 1 to keep it fast): Both suites accept
So my earlier concern about tasty rejecting unknown ingredient flags is unfounded — both suites link |
What
Mirror the existing nightly
HEDGEHOG_TESTSupscaling for QuickCheck so nightly runs also exercise QuickCheck-based generators with a larger sample count and size parameter (per #6322).How
nightly-testsuite.yml:QUICKCHECK_TESTS(default100000)QUICKCHECK_MAX_SIZE(default500)workflow_dispatchinputs so they can be overridden manually.--quickcheck-tests $QUICKCHECK_TESTS --quickcheck-max-size $QUICKCHECK_MAX_SIZEto every test invocation that already passes--hedgehog-tests.tasty-quickcheckrecognises these flags out of the box, so no Haskell-side change is needed and the flags are inert in non-nightly runs.Closes #6322.