-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathMakefile
More file actions
86 lines (69 loc) · 2.11 KB
/
Makefile
File metadata and controls
86 lines (69 loc) · 2.11 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
.PHONY: all build test clean docker deploy lint fmt ci-local live help
# Default target
all: build
# Build all components
build:
@echo "Building MEV Protocol..."
@cd fast && make
@cd core && cargo build --release
@cd network && go build -o ../bin/mev-node ./cmd/mev-node
@cd contracts && forge build
# Run tests
test:
@echo "Running tests..."
@cd fast && make test
@cd core && cargo test
@cd network && go test ./...
@cd contracts && forge test
# Format checks (Rust)
fmt:
@cd core && cargo fmt --all -- --check
# Lint checks (Rust + Go)
lint:
@cd core && cargo clippy --all-targets --all-features -- -D warnings
@cd network && go vet ./...
# Local CI parity
ci-local: build test lint
# Launch full stack live (Go node + Rust engine + Dashboard)
live:
@powershell -ExecutionPolicy Bypass -File scripts/live.ps1
live-testnet:
@powershell -ExecutionPolicy Bypass -File scripts/live.ps1 -Network testnet
live-build:
@powershell -ExecutionPolicy Bypass -File scripts/live.ps1 -BuildFirst
# Help
help:
@echo "Available targets:"
@echo " make build - Build all components"
@echo " make test - Run tests across stacks"
@echo " make fmt - Run format checks"
@echo " make lint - Run lint checks"
@echo " make ci-local - Run build + test + lint"
@echo " make live - Launch full stack (Go + Rust + Dashboard)"
@echo " make live-testnet- Launch on Arbitrum Sepolia"
@echo " make live-build - Build first, then launch"
@echo " make clean - Clean build artifacts"
@echo " make docker - Build Docker images"
# Clean build artifacts
clean:
@cd fast && make clean
@cd core && cargo clean
@cd network && rm -f ../bin/mev-node
@cd contracts && forge clean
# Build Docker images
docker:
docker-compose -f docker/docker-compose.yml build
# Run with Docker
docker-up:
docker-compose -f docker/docker-compose.yml up -d
docker-down:
docker-compose -f docker/docker-compose.yml down
# Deploy contracts
deploy-arb:
./scripts/deploy.sh arbitrum
deploy-base:
./scripts/deploy.sh base
deploy-all:
./scripts/deploy.sh ethereum
./scripts/deploy.sh arbitrum
./scripts/deploy.sh base