Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Updating monorepo dependency causes compiler errors blocking development of new tasks #424

Open
geoknee opened this issue Dec 18, 2024 · 0 comments

Comments

@geoknee
Copy link
Contributor

geoknee commented Dec 18, 2024

As a playbook writer, if I want to reference interfaces or code from the optimism submodule, it is currently pegged to op-contracts/v1.4.0. This is pretty old and doesn't have represent what I am actually testing (op-contracts/v1.8.0-rc.4). For example, the SystemConfig does not have the gasPayingToken() getter back then.

But if I update the submodule to the commit I want, it breaks many existing tasks. Moreover develop has already moved on quite a lot due to recent refactors, and is different again.

I think we need to:

  1. be able to shelve old tasks so they don't get compiled when developing new tasks
  2. tag superchain-ops with a task ID on a commit when it was known to work (with the submodule pegged at whatever it was). h/t to
    @seb
    for this idea.
  3. keep updating the submodule so it doesn't get so far behind

To reproduce:

git fetch
git checkout gk/025-holocene-sys-cfg
cd lib/optimism
git fetch
git checkout op-contracts/v1.8.0-rc.4
cd ../../tasks/sep/027-holocene-system-config-upgrade-and-init-multi-chain 
SIMULATE_WITHOUT_LEDGER=true just \
   --dotenv-path $(pwd)/.env \
   --justfile ../../../nested.just \
   simulate foundation 1

giving

Running script with assertions
Using script /Users/georgeknee/code/ethereum-optimism/superchain-ops/tasks/sep/027-holocene-system-config-upgrade-and-init-multi-chain/NestedSignFromJson.s.sol
getting signer address for foundation...
safe: 0xDEe57160aAfCF04c34C887B5962D0a69676d3C8B
Simulating call to foundation at 0xDEe57160aAfCF04c34C887B5962D0a69676d3C8B
Simulating without ledger using the first owner account: 0xA03DaFadE71F1544f4b0120145eEC9b89105951f

[⠃] Compiling...2024-12-18T16:40:44.390828Z ERROR foundry_compilers_artifacts_solc::sources: error="/Users/georgeknee/code/ethereum-optimism/superchain-ops/lib/optimism/packages/contracts-bedrock/scripts/Deployer.sol": No such file or directory (os error 2)
[⠊] Compiling...
Error: 
failed to resolve file: "/Users/georgeknee/code/ethereum-optimism/superchain-ops/lib/optimism/packages/contracts-bedrock/scripts/Deployer.sol": No such file or directory (os error 2); check configured remappings
        --> /Users/georgeknee/code/ethereum-optimism/superchain-ops/script/DeployRehearsal4.s.sol
        @eth-optimism-bedrock/scripts/Deployer.sol
[⠃] Compiling...2024-12-18T16:40:44.915605Z ERROR foundry_compilers_artifacts_solc::sources: error="/Users/georgeknee/code/ethereum-optimism/superchain-ops/lib/optimism/packages/contracts-bedrock/src/universal/ISemver.sol": No such file or directory (os error 2)
[⠊] Compiling...
Error: 
failed to resolve file: "/Users/georgeknee/code/ethereum-optimism/superchain-ops/lib/optimism/packages/contracts-bedrock/src/universal/ISemver.sol": No such file or directory (os error 2); check configured remappings
        --> /Users/georgeknee/code/ethereum-optimism/superchain-ops/script/verification/DisputeGameUpgrade.s.sol
        @eth-optimism-bedrock/src/universal/ISemver.sol
error: Recipe `simulate` failed with exit code 1
@geoknee geoknee changed the title Optimism monorepo is out of date and updating it causes compiler errors blocking development of new tasks Updating monorepo dependency causes compiler errors blocking development of new tasks Dec 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant