diff --git a/.github/workflows/hardhat-core-ci.yml b/.github/workflows/hardhat-core-ci.yml index ec018487a7..7a645344e3 100644 --- a/.github/workflows/hardhat-core-ci.yml +++ b/.github/workflows/hardhat-core-ci.yml @@ -18,6 +18,11 @@ on: - "packages/hardhat-core/**" - "packages/hardhat-common/**" workflow_dispatch: + inputs: + test-all-solc-versions: + description: Test all solc versions + required: false + default: "false" defaults: run: @@ -63,6 +68,7 @@ jobs: DO_NOT_SET_THIS_ENV_VAR____IS_HARDHAT_CI: true FORCE_COLOR: 3 NODE_OPTIONS: --max-old-space-size=4096 + HARDHAT_TESTS_ALL_SOLC_VERSIONS: ${{ github.event.inputs.test-all-solc-versions}} run: pnpm test:except-provider test-provider: diff --git a/packages/hardhat-core/test/internal/hardhat-network/stack-traces/README.md b/packages/hardhat-core/test/internal/hardhat-network/stack-traces/README.md index fcb92d12ec..fa72f9b05a 100644 --- a/packages/hardhat-core/test/internal/hardhat-network/stack-traces/README.md +++ b/packages/hardhat-core/test/internal/hardhat-network/stack-traces/README.md @@ -56,7 +56,7 @@ There are two other directories under `test-files`. One is `version-independent` ## How tests are executed -The `compilers-list.ts` module has a list of solc versions that can be used by these tests. By default, only the ones that have `latestSolcVersion: true` are run, but we have a [CI workflow](https://github.com/NomicFoundation/hardhat/actions/workflows/hardhat-network-tracing-all-solc-versions.yml) that runs once per day and executes these tests using all the available compilers. +The `compilers-list.ts` module has a list of solc versions that can be used by these tests. By default, only the ones that have `latestSolcVersion: true` are run, but we have a [CI workflow](https://github.com/NomicFoundation/hardhat/actions/workflows/hardhat-core-ci.yml) that you can trigger manually with the `test-all-solc-versions` input set to `true` to executes the tests using all the available compilers. These compilers are grouped by minor version (that is, a group with all the 0.5.x compilers, a group all the 0.6.x compilers and so on) and each group is used to run the tests in the corresponding directory (`test-files/0_5`, `test-files/0_6`, and so on). diff --git a/packages/hardhat-core/test/internal/hardhat-network/stack-traces/test.ts b/packages/hardhat-core/test/internal/hardhat-network/stack-traces/test.ts index 268205c6cc..16c1ea137b 100644 --- a/packages/hardhat-core/test/internal/hardhat-network/stack-traces/test.ts +++ b/packages/hardhat-core/test/internal/hardhat-network/stack-traces/test.ts @@ -722,7 +722,7 @@ async function runCallTransactionTest( } const onlyLatestSolcVersions = - process.env.HARDHAT_TESTS_ALL_SOLC_VERSIONS === undefined; + process.env.HARDHAT_TESTS_ALL_SOLC_VERSIONS !== "true"; const filterSolcVersionBy = (versionRange: string) =>