fix: repair pull request ci#2148
Conversation
6607079 to
67072d7
Compare
e92e846 to
a49f757
Compare
a49f757 to
9fb4def
Compare
|
Status update on the split-out work from this PR. Merged extractions:
Still open as a scoped PR:
The remaining #2148 diff should now be smaller and more focused on the pieces that were not yet cleanly peeled into these scoped PRs. |
|
Leaving the audit-derived “better shape” notes here so they do not get lost while #2148 continues shrinking. Already split or addressed:
Better-shape candidates still worth considering before landing remaining pieces from #2148:
|
9fb4def to
68f1748
Compare
68f1748 to
1028d26
Compare
1028d26 to
a8f1c47
Compare
Summary
This PR repairs the fork-PR CI path and moves the default local development backend from Ganache to Anvil. The CI failures were not one single issue; after the initial fork-permission fixes, the Anvil migration exposed several Brownie assumptions that had been hidden by Ganache. I kept the fixes separated by commit so each failure mode is reviewable on its own.
CI workflow fixes
github-actions[bot]cannot push back to the contributor branch.actions/checkout@v6actions/cache@v5actions/setup-python@v6actions/download-artifact@v8evm-latestmatrix to cover the current hardfork set throughprague, then compact older lanes so CI still finishes in a reasonable time.Default development RPC
developmentnetwork from Ganache to Anvil.anvilandanvil-forknetwork entries.Web3, compiler, and version compatibility
semantic_version.Versioninternally, while passing string versions to py-solc-x 2.x APIs that no longer accept the old object directly.0.2.4, because CI now has bundledvyper==0.4.3and current active Vyper maps to newer defaults such asprague.Anvil trace, revert, and coverage fixes
// dev:comments, so a later function's comment is not selected accidentally.first_revertsteps when they already point at the real revert, instead of replacing them with an unsourced jump step.Why the revert fixes are in this PR
The remaining
evm-latestfailures reproduced on this CI branch without the versioning PR. They came from the new Anvil/default-dev setup plus newer bundled compiler tooling, not from release-version metadata.The final failures were all in
tests/network/transaction/test_revert_msg.py:// dev:comment (dev: foobarinstead ofdev: great job);require(...)had source on theREVERTinstruction, but Brownie's oldfirst_revertadjustment replaced it with an unsourced jump step, losing the// dev:comment and returning an empty revert message.Those are Brownie trace-decoding issues, so fixing them here keeps #2148 green on its own.
Validation
Local focused validation:
git diff --checkuv run black brownie/network/transaction.pyuv run --with flake8==7.0.0 flake8 brownie/network/transaction.pyuv run python -m py_compile brownie/network/transaction.pyHOME=/private/tmp/brownie-ci-home .tox/plugintest/bin/python pytest_patched.py tests/network/transaction/test_revert_msg.py::test_solidity_revert_msg --evm latest prague 0 -qHOME=/private/tmp/brownie-ci-home .tox/plugintest/bin/python pytest_patched.py tests/network/transaction/test_revert_msg.py::test_final_stmt_revert_no_input_no_msg --evm latest prague 0 -qHOME=/private/tmp/brownie-ci-home .tox/plugintest/bin/python pytest_patched.py tests/network/transaction/test_revert_msg.py::test_final_stmt_revert_input_no_msg --evm latest paris 0 -qHOME=/private/tmp/brownie-ci-home .tox/plugintest/bin/python pytest_patched.py tests/network/transaction/test_revert_msg.py::test_revert_msg_via_jump -qHOME=/private/tmp/brownie-ci-home .tox/plugintest/bin/python pytest_patched.py tests/test/plugin/test_coverage.py::test_coverage_tx --target plugin -vGitHub CI on the current head is green:
compilepip-compilelinting (docs-external, true)linting (docs-local, false)linting (lint, false)functionality (pmtest)functionality (plugintest)evm (evm-byzantium)evm (evm-petersburg)evm (evm-istanbul)evm (evm-latest)throughbyzantium,petersburg,istanbul,berlin,london,paris,shanghai,cancun,praguelint-all-the-thingsis skipped by design on fork PRs because it mutates/pushes formatting changes.