-
Notifications
You must be signed in to change notification settings - Fork 6
Description
tl;dr: forge test --gas-report outputs empty report for MockHyperdrive.sol, causing the benchmark action on new PRs to fail.
For the benchmark actions on new PRs, we run the gas_benchmarks.py script, which in turn the following command:
FOUNDRY_FUZZ_RUNS=100 forge test --no-match-path 'test/instances/*' --no-match-test '{'|'.join(SKIP_TESTS)}' --no-match-contract '{'|'.join(SKIP_CONTRACTS)}' --gas-report
We then capture the output corresponding to the contracts/test/MockHyperdrive.sol contract's gas report, and write it into a benchmarks.json file, which the next GitHub workflow action should read from.
However, the benchmarks.json file is turning out empty, and upon further inspection, the gas report for the MockHyperdrive contract appears to be empty as well:
https://github.com/delvtech/hyperdrive/actions/runs/12590054083/job/35090965777#step:6:3345
The command works when run locally (the gas report looks normal), but it fails to produce the gas report correctly in the GitHub workflow.
It ran successfully in #1215 when @sentilesdal implemented some fixes for CI, but it has been failing afterwards (for reasons that at least seem different from what was fixed then).