11# ev-node Release Guide
22
33This document covers the release process for ev-node components:
4+
45- ** Docker Image Releases** - Automated via GitHub workflows (for deployable applications)
56- ** Go Module Releases** - Manual process for library packages and dependencies
67
@@ -32,6 +33,7 @@ docker pull ghcr.io/evstack/ev-node-evm-single:v0.2.0
3233Use the hierarchical tag format: ` {app-path}/v{major}.{minor}.{patch} `
3334
3435** Examples:**
36+
3537- ` evm/single/v0.2.0 ` → Releases ` apps/evm/single/ `
3638- ` testapp/v1.0.0 ` → Releases ` apps/testapp/ `
3739- ` grpc/single/v2.1.3 ` → Releases ` apps/grpc/single/ `
@@ -77,11 +79,6 @@ This section outlines the release process for all Go packages in the ev-node rep
7779 │ │
7880 ▼ ▼
7981 ┌─────────────────┐ ┌─────────────────┐
80- │sequencers/based │ │sequencers/single│
81- └────────┬────────┘ └────────┬────────┘
82- │ │
83- ▼ ▼
84- ┌─────────────────┐ ┌─────────────────┐
8582 │apps/evm/based │ │apps/evm/single │
8683 └─────────────────┘ └─────────────────┘
8784```
@@ -105,14 +102,7 @@ These packages only depend on `core` and can be released in parallel after `core
1051022 . ** github.com/evstack/ev-node** - Path: ` ./ ` (root)
1061033 . ** github.com/evstack/ev-node/execution/evm** - Path: ` ./execution/evm `
107104
108- #### Phase 3: Sequencer Packages
109-
110- These packages depend on both ` core ` and the main ` ev-node ` package:
111-
112- 1 . ** github.com/evstack/ev-node/sequencers/based** - Path: ` ./sequencers/based `
113- 2 . ** github.com/evstack/ev-node/sequencers/single** - Path: ` ./sequencers/single `
114-
115- #### Phase 4: Application Packages
105+ #### Phase 3: Application Packages
116106
117107These packages have the most dependencies and should be released last:
118108
@@ -124,6 +114,7 @@ These packages have the most dependencies and should be released last:
124114** IMPORTANT** : Each module must be fully released and available on the Go proxy before updating dependencies in dependent modules.
125115
126116** Before Starting:**
117+
127118- Create a protected version branch (e.g., ` v0 ` for major versions, ` v0.3 ` for minor breaking changes)
128119- Ensure CHANGELOG.md is up to date with all changes properly categorized
129120- Remove all ` replace ` directives from go.mod files
@@ -173,33 +164,7 @@ go list -m github.com/evstack/
[email protected] 173164go list -m github.com/evstack/ev-node/execution/
[email protected] 174165```
175166
176- #### Phase 3: Release Sequencers
177-
178- After core and ev-node are available:
179-
180- ``` bash
181- # Update and release sequencers/based
182- cd sequencers/based
183- go get github.com/evstack/ev-node/
[email protected] 184- go get github.com/evstack/
[email protected] 185- go mod tidy
186- git tag sequencers/based/v0.3.0
187- git push origin sequencers/based/v0.3.0
188-
189- # Update and release sequencers/single
190- cd ../single
191- go get github.com/evstack/ev-node/
[email protected] 192- go get github.com/evstack/
[email protected] 193- go mod tidy
194- git tag sequencers/single/v0.3.0
195- git push origin sequencers/single/v0.3.0
196-
197- # Verify availability
198- go list -m github.com/evstack/ev-node/sequencers/
[email protected] 199- go list -m github.com/evstack/ev-node/sequencers/
[email protected] 200- ```
201-
202- #### Phase 4: Release Applications
167+ #### Phase 3: Release Applications
203168
204169After all dependencies are available:
205170
@@ -210,7 +175,6 @@ go get github.com/evstack/ev-node/
[email protected] 210175go get github.com/evstack/ev-node/
[email protected] 211176go get github.com/evstack/ev-node/execution/
[email protected] 212177go get github.com/evstack/
[email protected] 213- go get github.com/evstack/ev-node/sequencers/
[email protected] 214178go mod tidy
215179git tag apps/evm/based/v0.3.0
216180git push origin apps/evm/based/v0.3.0
@@ -221,7 +185,6 @@ go get github.com/evstack/ev-node/
[email protected] 221185go get github.com/evstack/ev-node/
[email protected] 222186go get github.com/evstack/ev-node/execution/
[email protected] 223187go get github.com/evstack/
[email protected] 224- go get github.com/evstack/ev-node/sequencers/
[email protected] 225188go mod tidy
226189git tag apps/evm/single/v0.3.0
227190git push origin apps/evm/single/v0.3.0
@@ -265,11 +228,7 @@ git tag da/v0.3.0 && git push origin da/v0.3.0
265228git tag v0.3.0 && git push origin v0.3.0
266229git tag execution/evm/v0.3.0 && git push origin execution/evm/v0.3.0
267230
268- # 3. Wait, update deps, then release sequencers
269- git tag sequencers/based/v0.3.0 && git push origin sequencers/based/v0.3.0
270- git tag sequencers/single/v0.3.0 && git push origin sequencers/single/v0.3.0
271-
272- # 4. Wait, update deps, then release apps
231+ # 3. Wait, update deps, then release apps
273232git tag apps/evm/based/v0.3.0 && git push origin apps/evm/based/v0.3.0
274233git tag apps/evm/single/v0.3.0 && git push origin apps/evm/single/v0.3.0
275234```
@@ -324,25 +283,30 @@ go get github.com/evstack/ev-node/
[email protected] 324283### Docker Releases
325284
326285** "App directory does not exist"**
286+
327287- Ensure tag matches app path: ` apps/evm/single/ ` → ` evm/single/v0.2.0 `
328288- Check spelling and case sensitivity
329289
330290** "Dockerfile not found"**
291+
331292- Verify Dockerfile exists at ` apps/{app-path}/Dockerfile `
332293- Check filename is exactly ` Dockerfile `
333294
334295** "Image not found" in tests**
296+
335297- Wait for Docker build workflow to complete
336298- Check workflow dependencies in Actions tab
337299
338300### Go Module Releases
339301
340302** Go proxy delay**
303+
341304- Wait 5-30 minutes for propagation
342305- Use ` go list -m ` to verify availability
343306- Check https://proxy.golang.org/
344307
345308** Dependency version conflicts**
309+
346310- Ensure all dependencies are released before dependent modules
347311- Verify go.mod has correct versions
348312- Remove ` replace ` directives
0 commit comments