Skip to content

Commit 3fcd254

Browse files
authored
Merge branch 'main' into julien/catchup-base
2 parents 3552630 + c449847 commit 3fcd254

33 files changed

+442
-447
lines changed

.github/workflows/benchmark.yml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,10 @@ jobs:
2323
go-version-file: ./go.mod
2424
- name: Set up Docker Buildx
2525
uses: docker/setup-buildx-action@b5ca514318bd6ebac0fb2aedd5d36ec1b5c232a2 # v3.10.0
26+
- name: Install just
27+
uses: extractions/setup-just@v3
2628
- name: Build binaries
27-
run: make build-evm build-da
29+
run: just build-evm build-da
2830
- name: Run EVM benchmarks
2931
run: |
3032
cd test/e2e && go test -tags evm -bench=. -benchmem -run='^$' \
@@ -53,8 +55,10 @@ jobs:
5355
go-version-file: ./go.mod
5456
- name: Set up Docker Buildx
5557
uses: docker/setup-buildx-action@b5ca514318bd6ebac0fb2aedd5d36ec1b5c232a2 # v3.10.0
58+
- name: Install just
59+
uses: extractions/setup-just@v3
5660
- name: Build binaries
57-
run: make build-evm build-da
61+
run: just build-evm build-da
5862
- name: Run Spamoor smoke test
5963
run: |
6064
cd test/e2e && BENCH_JSON_OUTPUT=spamoor_bench.json go test -tags evm \

.github/workflows/dependabot-auto-fix.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,19 +22,19 @@ jobs:
2222
with:
2323
go-version-file: ./go.mod
2424

25-
- name: Install make (if missing)
26-
run: sudo apt-get update && sudo apt-get install -y make
25+
- name: Install just
26+
uses: extractions/setup-just@v3
2727

2828
- name: Run dependency update
29-
run: make deps
29+
run: just deps
3030

3131
- name: Commit and push changes
3232
run: |
3333
if [ -n "$(git status --porcelain)" ]; then
3434
git config user.name "github-actions[bot]"
3535
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
3636
git add -A
37-
git commit -m "chore: run make deps after Dependabot update"
37+
git commit -m "chore: run just deps after Dependabot update"
3838
git push
3939
else
4040
echo "No changes to commit."

.github/workflows/docker-tests.yml

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,10 @@ jobs:
2727
uses: actions/setup-go@v6.2.0
2828
with:
2929
go-version-file: ./test/docker-e2e/go.mod
30+
- name: Install just
31+
uses: extractions/setup-just@v3
3032
- name: Run Docker E2E Tests
31-
run: make test-docker-e2e
33+
run: just test-docker-e2e
3234
env:
3335
EV_NODE_IMAGE_REPO: ghcr.io/${{ github.repository_owner }}/ev-node-testapp
3436
EV_NODE_IMAGE_TAG: ${{ inputs.image-tag }}
@@ -44,8 +46,10 @@ jobs:
4446
uses: actions/setup-go@v6.2.0
4547
with:
4648
go-version-file: ./test/docker-e2e/go.mod
49+
- name: Install just
50+
uses: extractions/setup-just@v3
4751
- name: Run Docker Upgrade E2E Tests
48-
run: make test-docker-upgrade-e2e
52+
run: just test-docker-upgrade-e2e
4953
env:
5054
EVM_IMAGE_REPO: ghcr.io/${{ github.repository_owner }}/ev-node-evm
5155
EVM_NODE_IMAGE_TAG: ${{ inputs.image-tag }}
@@ -61,8 +65,10 @@ jobs:
6165
uses: actions/setup-go@v6.2.0
6266
with:
6367
go-version-file: ./test/docker-e2e/go.mod
68+
- name: Install just
69+
uses: extractions/setup-just@v3
6470
- name: Run Docker Compat E2E Tests
65-
run: make test-docker-compat
71+
run: just test-docker-compat
6672
env:
6773
SEQUENCER_EVM_IMAGE_REPO: ghcr.io/${{ github.repository_owner }}/ev-node-evm
6874
SEQUENCER_EVM_IMAGE_TAG: main # TODO: set this to the last released tag

.github/workflows/test.yml

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,10 @@ jobs:
1717
uses: actions/setup-go@v6.2.0
1818
with:
1919
go-version-file: ./go.mod
20+
- name: Install just
21+
uses: extractions/setup-just@v3
2022
- name: Build all ev-node binaries
21-
run: make build-all
23+
run: just build-all
2224

2325
go_mod_tidy_check:
2426
name: Go Mod Tidy Check
@@ -28,7 +30,8 @@ jobs:
2830
- uses: actions/setup-go@v6.2.0
2931
with:
3032
go-version-file: ./go.mod
31-
- run: make deps
33+
- uses: extractions/setup-just@v3
34+
- run: just deps
3235
- name: check for diff
3336
run: git diff --exit-code
3437

@@ -44,8 +47,10 @@ jobs:
4447
uses: actions/setup-go@v6.2.0
4548
with:
4649
go-version-file: ./go.mod
50+
- name: Install just
51+
uses: extractions/setup-just@v3
4752
- name: Run unit test
48-
run: make test-cover
53+
run: just test-cover
4954
- name: Upload unit test coverage report
5055
uses: actions/upload-artifact@v6
5156
with:
@@ -61,8 +66,10 @@ jobs:
6166
uses: actions/setup-go@v6.2.0
6267
with:
6368
go-version-file: ./go.mod
69+
- name: Install just
70+
uses: extractions/setup-just@v3
6471
- name: Run integration test
65-
run: make test-integration-cover
72+
run: just test-integration-cover
6673
- name: Upload integration test coverage report
6774
uses: actions/upload-artifact@v6
6875
with:
@@ -93,8 +100,10 @@ jobs:
93100
tags: evstack:local-dev
94101
cache-from: type=gha
95102
cache-to: type=gha,mode=max
103+
- name: Install just
104+
uses: extractions/setup-just@v3
96105
- name: E2E Tests
97-
run: make test-e2e
106+
run: just test-e2e
98107

99108
evm-tests:
100109
name: Run EVM Execution Tests
@@ -106,8 +115,10 @@ jobs:
106115
uses: actions/setup-go@v6.2.0
107116
with:
108117
go-version-file: ./go.mod
118+
- name: Install just
119+
uses: extractions/setup-just@v3
109120
- name: EVM Tests
110-
run: make test-evm
121+
run: just test-evm
111122

112123
combine_and_upload_coverage:
113124
name: Combine and Upload Coverage

.just/build.just

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
# Build Testapp CLI
2+
[group('build')]
3+
build:
4+
@echo "--> Building Testapp CLI"
5+
@mkdir -p {{ build_dir }}
6+
@cd apps/testapp && go build -ldflags "{{ ldflags }}" -o {{ build_dir }}/testapp .
7+
@echo "--> Testapp CLI Built!"
8+
@echo " Check the version with: build/testapp version"
9+
@echo " Check the binary with: {{ build_dir }}/testapp"
10+
11+
# Install Testapp CLI to Go bin directory
12+
[group('build')]
13+
install:
14+
@echo "--> Installing Testapp CLI"
15+
@cd apps/testapp && go install -ldflags "{{ ldflags }}" .
16+
@echo "--> Testapp CLI Installed!"
17+
@echo " Check the version with: testapp version"
18+
@echo " Check the binary with: which testapp"
19+
20+
# Build all ev-node binaries
21+
[group('build')]
22+
build-all:
23+
@echo "--> Building all ev-node binaries"
24+
@mkdir -p {{ build_dir }}
25+
@echo "--> Building testapp"
26+
@cd apps/testapp && go build -ldflags "{{ ldflags }}" -o {{ build_dir }}/testapp .
27+
@echo "--> Building evm"
28+
@cd apps/evm && go build -ldflags "{{ ldflags }}" -o {{ build_dir }}/evm .
29+
@echo "--> Building local-da"
30+
@cd tools/local-da && go build -ldflags "{{ ldflags }}" -o {{ build_dir }}/local-da .
31+
@echo "--> All ev-node binaries built!"
32+
33+
# Build Testapp Bench
34+
[group('build')]
35+
build-testapp-bench:
36+
@echo "--> Building Testapp Bench"
37+
@mkdir -p {{ build_dir }}
38+
@cd apps/testapp && go build -ldflags "{{ ldflags }}" -o {{ build_dir }}/testapp-bench ./kv/bench
39+
@echo " Check the binary with: {{ build_dir }}/testapp-bench"
40+
41+
# Build EVM binary
42+
[group('build')]
43+
build-evm:
44+
@echo "--> Building EVM"
45+
@mkdir -p {{ build_dir }}
46+
@cd apps/evm && go build -ldflags "{{ ldflags }}" -o {{ build_dir }}/evm .
47+
@echo " Check the binary with: {{ build_dir }}/evm"
48+
49+
# Build local-da binary
50+
[group('build')]
51+
build-da:
52+
@echo "--> Building local-da"
53+
@mkdir -p {{ build_dir }}
54+
@cd tools/local-da && go build -ldflags "{{ ldflags }}" -o {{ build_dir }}/local-da .
55+
@echo " Check the binary with: {{ build_dir }}/local-da"
56+
57+
# Build Docker image for local testing
58+
[group('build')]
59+
docker-build:
60+
@echo "--> Building Docker image for local testing"
61+
@docker build -t evstack:local-dev -f apps/testapp/Dockerfile .
62+
@echo "--> Docker image built: evstack:local-dev"
63+
@echo "--> Checking if image exists locally..."
64+
@docker images evstack:local-dev
65+
66+
# Clean build artifacts
67+
[group('build')]
68+
clean:
69+
@echo "--> Cleaning build directory"
70+
@rm -rf {{ build_dir }}
71+
@echo "--> Build directory cleaned!"

.just/codegen.just

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# Generate mocks
2+
[group('codegen')]
3+
mock-gen:
4+
@echo "-> Generating mocks"
5+
go run github.com/vektra/mockery/v3@latest
6+
7+
# Install dependencies and tidy all modules
8+
[group('codegen')]
9+
deps:
10+
@echo "--> Installing dependencies"
11+
@go mod download
12+
@go mod tidy
13+
@go run scripts/tidy.go
14+
15+
# Tidy all go.mod files
16+
[group('codegen')]
17+
tidy-all:
18+
@go run -tags=tidy scripts/tidy.go

.just/lint.just

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# Run all linters
2+
[group('lint')]
3+
lint: vet
4+
@echo "--> Running golangci-lint"
5+
@golangci-lint run
6+
@echo "--> Running markdownlint"
7+
@markdownlint --config .markdownlint.yaml '**/*.md'
8+
@echo "--> Running hadolint"
9+
@hadolint test/docker/mockserv.Dockerfile
10+
@echo "--> Running yamllint"
11+
@yamllint --no-warnings . -c .yamllint.yml
12+
@echo "--> Running goreleaser check"
13+
@goreleaser check
14+
@echo "--> Running actionlint"
15+
@actionlint
16+
17+
# Auto-fix linting issues
18+
[group('lint')]
19+
lint-fix:
20+
@echo "--> Formatting go"
21+
@golangci-lint run --fix
22+
@echo "--> Formatting markdownlint"
23+
@markdownlint --config .markdownlint.yaml --ignore './changelog.md' '**/*.md' -f
24+
25+
# Run go vet
26+
[group('lint')]
27+
vet:
28+
@echo "--> Running go vet"
29+
@go vet ./...

.just/proto.just

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
# Generate protobuf files
2+
[group('proto')]
3+
proto-gen:
4+
@echo "--> Generating Protobuf files"
5+
buf generate --path="./proto/evnode" --template="buf.gen.yaml" --config="buf.yaml"
6+
buf generate --path="./proto/execution/evm" --template="buf.gen.evm.yaml" --config="buf.yaml"
7+
8+
# Lint protobuf files (requires Docker)
9+
[group('proto')]
10+
proto-lint:
11+
@echo "--> Linting Protobuf files"
12+
@docker run --rm -v {{ justfile_directory() }}:/workspace --workdir /workspace bufbuild/buf:latest lint --error-format=json
13+
14+
# Generate Rust protobuf files
15+
[group('proto')]
16+
rust-proto-gen:
17+
@echo "--> Generating Rust protobuf files"
18+
@cd client/crates/types && EV_TYPES_FORCE_PROTO_GEN=1 cargo build
19+
20+
# Check if Rust protobuf files are up to date
21+
[group('proto')]
22+
rust-proto-check:
23+
@echo "--> Checking Rust protobuf files"
24+
@rm -rf client/crates/types/src/proto/*.rs
25+
@cd client/crates/types && cargo build
26+
@if ! git diff --exit-code client/crates/types/src/proto/; then \
27+
echo "Error: Generated Rust proto files are not up to date."; \
28+
echo "Run 'just rust-proto-gen' and commit the changes."; \
29+
exit 1; \
30+
fi

.just/run.just

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# Run 'n' nodes (default: 1). Usage: just run-n 3
2+
[group('run')]
3+
run-n nodes="1": build build-da
4+
@go run -tags=run scripts/run.go --nodes={{ nodes }}
5+
6+
# Run EVM nodes (one sequencer and one full node)
7+
[group('run')]
8+
run-evm-nodes nodes="1": build-da build-evm
9+
@echo "Starting EVM nodes..."
10+
@go run -tags=run_evm scripts/run-evm-nodes.go --nodes={{ nodes }}

0 commit comments

Comments
 (0)