Commit c8df1d01 authored by Matthew Slipper's avatar Matthew Slipper Committed by GitHub

ops: Remove the legacy Python devnet, clean up ops (#13558)

parent 90435d07
...@@ -2,7 +2,6 @@ ...@@ -2,7 +2,6 @@
* @ethereum-optimism/go-reviewers * @ethereum-optimism/go-reviewers
# OP Stack general # OP Stack general
/bedrock-devnet @ethereum-optimism/op-stack @ethereum-optimism/go-reviewers
/op-alt-da @ethereum-optimism/op-stack @ethereum-optimism/go-reviewers /op-alt-da @ethereum-optimism/op-stack @ethereum-optimism/go-reviewers
/op-batcher @ethereum-optimism/op-stack @ethereum-optimism/go-reviewers /op-batcher @ethereum-optimism/op-stack @ethereum-optimism/go-reviewers
/op-chain-ops @ethereum-optimism/op-stack @ethereum-optimism/go-reviewers /op-chain-ops @ethereum-optimism/op-stack @ethereum-optimism/go-reviewers
......
version: 2 version: 2
updates: updates:
- package-ecosystem: "docker"
directory: "/ops-bedrock"
schedule:
interval: "daily"
day: "tuesday"
time: "14:30"
timezone: "America/New_York"
open-pull-requests-limit: 10
commit-message:
prefix: "dependabot(docker): "
labels:
- "M-dependabot"
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"
day: "tuesday"
time: "14:30"
timezone: "America/New_York"
open-pull-requests-limit: 10
commit-message:
prefix: "dependabot(actions): "
labels:
- "M-dependabot"
- package-ecosystem: "npm"
directory: "/"
schedule:
interval: "weekly"
day: "tuesday"
time: "14:30"
timezone: "America/New_York"
open-pull-requests-limit: 10
versioning-strategy: "auto"
commit-message:
prefix: "dependabot(npm): "
labels:
- "M-dependabot"
- package-ecosystem: "gomod" - package-ecosystem: "gomod"
directory: "/" directory: "/"
schedule: schedule:
......
# provide JUSTFLAGS for just-backed targets # provide JUSTFLAGS for just-backed targets
include ./just/flags.mk include ./just/flags.mk
COMPOSEFLAGS=-d
ITESTS_L2_HOST=http://localhost:9545
BEDROCK_TAGS_REMOTE?=origin BEDROCK_TAGS_REMOTE?=origin
OP_STACK_GO_BUILDER?=us-docker.pkg.dev/oplabs-tools-artifacts/images/op-stack-go:latest OP_STACK_GO_BUILDER?=us-docker.pkg.dev/oplabs-tools-artifacts/images/op-stack-go:latest
...@@ -170,56 +168,10 @@ clean: ## Removes all generated files under bin/ ...@@ -170,56 +168,10 @@ clean: ## Removes all generated files under bin/
cd packages/contracts-bedrock/ && forge clean cd packages/contracts-bedrock/ && forge clean
.PHONY: clean .PHONY: clean
nuke: clean devnet-clean ## Completely clean the project directory nuke: clean ## Completely clean the project directory
git clean -Xdf git clean -Xdf
.PHONY: nuke .PHONY: nuke
## Prepares for running a local devnet
pre-devnet: submodules $(DEVNET_CANNON_PRESTATE_FILES)
@if ! [ -x "$$(command -v eth2-testnet-genesis)" ]; then \
make install-eth2-testnet-genesis; \
fi
.PHONY: pre-devnet
devnet-up: pre-devnet ## Starts the local devnet
./ops/scripts/newer-file.sh .devnet/allocs-l1.json ./packages/contracts-bedrock \
|| make devnet-allocs-single
PYTHONPATH=./bedrock-devnet $(PYTHON) ./bedrock-devnet/main.py --monorepo-dir=.
.PHONY: devnet-up
devnet-down: ## Stops the local devnet
@(cd ./ops-bedrock && GENESIS_TIMESTAMP=$(shell date +%s) docker compose stop)
.PHONY: devnet-down
devnet-clean: ## Cleans up local devnet environment
rm -rf ./packages/contracts-bedrock/deployments/devnetL1
rm -rf ./.devnet
cd ./ops-bedrock && docker compose down
docker image ls 'ops-bedrock*' --format='{{.Repository}}' | xargs -r docker rmi
docker volume ls --filter name=ops-bedrock --format='{{.Name}}' | xargs -r docker volume rm
.PHONY: devnet-clean
devnet-allocs-single: pre-devnet ## Generates allocations for the local devnet
PYTHONPATH=./bedrock-devnet $(PYTHON) ./bedrock-devnet/main.py --monorepo-dir=. --allocs
.PHONY: devnet-allocs-single
devnet-allocs:
DEVNET_L2OO=true make devnet-allocs-single
cp -r .devnet/ .devnet-l2oo/
DEVNET_ALTDA=true make devnet-allocs-single
cp -r .devnet/ .devnet-alt-da/
DEVNET_ALTDA=false GENERIC_ALTDA=true make devnet-allocs-single
cp -r .devnet/ .devnet-alt-da-generic/
USE_MT_CANNON=true make devnet-allocs-single
cp -r .devnet/ .devnet-mt-cannon
make devnet-allocs-single
cp -r .devnet/ .devnet-standard/
.PHONY: devnet-allocs
devnet-logs: ## Displays logs for the local devnet
@(cd ./ops-bedrock && docker compose logs -f)
.PHONY: devnet-logs
test-unit: ## Runs unit tests for all components test-unit: ## Runs unit tests for all components
make -C ./op-node test make -C ./op-node test
make -C ./op-proposer test make -C ./op-proposer test
...@@ -234,19 +186,6 @@ semgrep: ## Runs Semgrep checks ...@@ -234,19 +186,6 @@ semgrep: ## Runs Semgrep checks
SEMGREP_REPO_NAME=ethereum-optimism/optimism semgrep ci --baseline-commit=$(DEV_REF) SEMGREP_REPO_NAME=ethereum-optimism/optimism semgrep ci --baseline-commit=$(DEV_REF)
.PHONY: semgrep .PHONY: semgrep
clean-node-modules: ## Cleans up node_modules directories
rm -rf node_modules
rm -rf packages/**/node_modules
.PHONY: clean-node-modules
tag-bedrock-go-modules: ## Tags Go modules for Bedrock
./ops/scripts/tag-bedrock-go-modules.sh $(BEDROCK_TAGS_REMOTE) $(VERSION)
.PHONY: tag-bedrock-go-modules
update-op-geth: ## Updates the Geth version used in the project update-op-geth: ## Updates the Geth version used in the project
./ops/scripts/update-op-geth.py ./ops/scripts/update-op-geth.py
.PHONY: update-op-geth .PHONY: update-op-geth
install-eth2-testnet-genesis:
go install -v github.com/protolambda/eth2-testnet-genesis@v$(shell yq '.tools."go:github.com/protolambda/eth2-testnet-genesis"' mise.toml)
.PHONY: install-eth2-testnet-genesis
# bedrock-devnet
This is a utility for running a local Bedrock devnet. It is designed to replace the legacy Bash-based devnet runner as part of a progressive migration away from Bash automation.
The easiest way to invoke this script is to run `make devnet-up` from the root of this repository. Otherwise, to use this script run `python3 main.py --monorepo-dir=<path to the monorepo>`. You may need to set `PYTHONPATH` to this directory if you invoke the script from somewhere other than the `bedrock-devnet` directory.
This diff is collapsed.
import os
from logging.config import dictConfig
log_level = os.getenv('LOG_LEVEL')
log_config = {
'version': 1,
'loggers': {
'': {
'handlers': ['console'],
'level': log_level if log_level is not None else 'INFO'
},
},
'handlers': {
'console': {
'formatter': 'stderr',
'class': 'logging.StreamHandler',
'stream': 'ext://sys.stdout'
}
},
'formatters': {
'stderr': {
'format': '[%(levelname)s|%(asctime)s] %(message)s',
'datefmt': '%m-%d-%Y %I:%M:%S'
}
},
}
dictConfig(log_config)
import devnet
def main():
devnet.main()
if __name__ == '__main__':
main()
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment