diff --git a/.github/workflows/venom-halmos.yml b/.github/workflows/venom-halmos.yml index 0e4e2495..297ac3a7 100644 --- a/.github/workflows/venom-halmos.yml +++ b/.github/workflows/venom-halmos.yml @@ -69,24 +69,24 @@ jobs: - name: Show the Foundry Halmos config run: forge config env: - FOUNDRY_PROFILE: halmos + FOUNDRY_PROFILE: venom-halmos - name: Run Halmos ERC-20 symbolic tests run: halmos --contract ERC20TestHalmos ${{ matrix.halmos }} env: - FOUNDRY_PROFILE: halmos + FOUNDRY_PROFILE: venom-halmos - name: Run Halmos ERC-721 symbolic tests run: halmos --contract ERC721TestHalmos ${{ matrix.halmos }} env: - FOUNDRY_PROFILE: halmos + FOUNDRY_PROFILE: venom-halmos - name: Run Halmos ERC-1155 symbolic tests run: halmos --contract ERC1155TestHalmos ${{ matrix.halmos }} env: - FOUNDRY_PROFILE: halmos + FOUNDRY_PROFILE: venom-halmos - name: Run Halmos math symbolic tests run: halmos --contract MathTestHalmos ${{ matrix.halmos }} env: - FOUNDRY_PROFILE: halmos + FOUNDRY_PROFILE: venom-halmos diff --git a/.github/workflows/venom-test-contracts.yml b/.github/workflows/venom-test-contracts.yml index 543dacfd..d2ff9cb4 100644 --- a/.github/workflows/venom-test-contracts.yml +++ b/.github/workflows/venom-test-contracts.yml @@ -37,19 +37,8 @@ jobs: - name: Activate `venom` backend run: python scripts/insert_venom_pragma.py - - name: Setup Ape - uses: ApeWorX/github-action@v3 - with: - python-version: ${{ matrix.python_version }} - - - name: Check Ape compilation - run: ape compile - - - name: Remove Ape Vyper and install latest Vyper - run: pip install --force-reinstall vyper - - - name: Show the Vyper version - run: vyper --version + - name: Install Vyper + run: pip install vyper - name: Install pnpm uses: pnpm/action-setup@v3 @@ -85,22 +74,22 @@ jobs: - name: Show the Foundry CI config run: forge config env: - FOUNDRY_PROFILE: ci + FOUNDRY_PROFILE: venom - name: Foundry tests run: forge test env: - FOUNDRY_PROFILE: ci + FOUNDRY_PROFILE: venom - name: Show the Foundry default config run: forge config env: - FOUNDRY_PROFILE: default + FOUNDRY_PROFILE: default-venom - name: Run snapshot run: NO_COLOR=1 forge snapshot >> $GITHUB_STEP_SUMMARY env: - FOUNDRY_PROFILE: default + FOUNDRY_PROFILE: default-venom - name: Install Homebrew uses: Homebrew/actions/setup-homebrew@master @@ -114,19 +103,19 @@ jobs: - name: Show the Foundry Echidna config run: forge config env: - FOUNDRY_PROFILE: echidna + FOUNDRY_PROFILE: venom-echidna - name: Compile the Echidna test contracts run: forge build --build-info env: - FOUNDRY_PROFILE: echidna + FOUNDRY_PROFILE: venom-echidna - name: Run Echidna ERC-20 property tests run: echidna test/tokens/echidna/ERC20Properties.sol --contract CryticERC20ExternalHarness ${{ matrix.echidna }} env: - FOUNDRY_PROFILE: echidna + FOUNDRY_PROFILE: venom-echidna - name: Run Echidna ERC-721 property tests run: echidna test/tokens/echidna/ERC721Properties.sol --contract CryticERC721ExternalHarness ${{ matrix.echidna }} env: - FOUNDRY_PROFILE: echidna + FOUNDRY_PROFILE: venom-echidna diff --git a/foundry.toml b/foundry.toml index a5b067c3..ece5e67f 100644 --- a/foundry.toml +++ b/foundry.toml @@ -37,3 +37,29 @@ evm_version = "shanghai" # Set the EVM t [profile.halmos] force = true # Perform always a clean build. evm_version = "shanghai" # Set the EVM target version to `shanghai`. + +#### THE PROFILES BELOW ARE TEMPORARY - WILL DELETE BEFORE MERGING + +# Default overrides for the Venom-based tests. +[profile.default-venom] +skip = ["src/snekmate/**/*.vy", "src/snekmate/**/*.vyi"] # Skip the compilation of all Vyper files (to be removed before merging). + +# Default overrides for the Venom-based fuzz tests. +[profile.venom] +force = true # Perform always a clean build. +verbosity = 4 # Increase the verbosity level for the tests. +fuzz = { runs = 10_000, max_test_rejects = 350_000 } # Increase the number of fuzz runs and maximum number of combined inputs that may be rejected for the tests. +invariant = { runs = 375, depth = 500 } # Increase the number of runs (while preserving the default depth) for each invariant test group. +skip = ["src/snekmate/**/*.vy", "src/snekmate/**/*.vyi"] # Skip the compilation of all Vyper files (to be removed before merging). + +# Default overrides for the Halmos tests. +[profile.venom-halmos] +force = true # Perform always a clean build. +evm_version = "shanghai" # Set the EVM target version to `shanghai`. +skip = ["src/snekmate/**/*.vy", "src/snekmate/**/*.vyi"] # Skip the compilation of all Vyper files (to be removed before merging). + +# Default overrides for the Echidna tests. +[profile.venom-echidna] +force = true # Perform always a clean build. +evm_version = "shanghai" # Set the EVM target version to `shanghai`. +skip = ["src/snekmate/**/*.vy", "src/snekmate/**/*.vyi"] # Skip the compilation of all Vyper files (to be removed before merging).