Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
58 changes: 11 additions & 47 deletions RELEASE.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# ev-node Release Guide

This document covers the release process for ev-node components:

- **Docker Image Releases** - Automated via GitHub workflows (for deployable applications)
- **Go Module Releases** - Manual process for library packages and dependencies

Expand Down Expand Up @@ -32,6 +33,7 @@ docker pull ghcr.io/evstack/ev-node-evm-single:v0.2.0
Use the hierarchical tag format: `{app-path}/v{major}.{minor}.{patch}`

**Examples:**

- `evm/single/v0.2.0` → Releases `apps/evm/single/`
- `testapp/v1.0.0` → Releases `apps/testapp/`
- `grpc/single/v2.1.3` → Releases `apps/grpc/single/`
Expand Down Expand Up @@ -77,11 +79,6 @@ This section outlines the release process for all Go packages in the ev-node rep
│ │
▼ ▼
┌─────────────────┐ ┌─────────────────┐
│sequencers/based │ │sequencers/single│
└────────┬────────┘ └────────┬────────┘
│ │
▼ ▼
┌─────────────────┐ ┌─────────────────┐
│apps/evm/based │ │apps/evm/single │
└─────────────────┘ └─────────────────┘
```
Expand All @@ -105,14 +102,7 @@ These packages only depend on `core` and can be released in parallel after `core
2. **github.com/evstack/ev-node** - Path: `./` (root)
3. **github.com/evstack/ev-node/execution/evm** - Path: `./execution/evm`

#### Phase 3: Sequencer Packages

These packages depend on both `core` and the main `ev-node` package:

1. **github.com/evstack/ev-node/sequencers/based** - Path: `./sequencers/based`
2. **github.com/evstack/ev-node/sequencers/single** - Path: `./sequencers/single`

#### Phase 4: Application Packages
#### Phase 3: Application Packages

These packages have the most dependencies and should be released last:

Expand All @@ -124,6 +114,7 @@ These packages have the most dependencies and should be released last:
**IMPORTANT**: Each module must be fully released and available on the Go proxy before updating dependencies in dependent modules.

**Before Starting:**

- Create a protected version branch (e.g., `v0` for major versions, `v0.3` for minor breaking changes)
- Ensure CHANGELOG.md is up to date with all changes properly categorized
- Remove all `replace` directives from go.mod files
Expand Down Expand Up @@ -173,33 +164,7 @@ go list -m github.com/evstack/[email protected]
go list -m github.com/evstack/ev-node/execution/[email protected]
```

#### Phase 3: Release Sequencers

After core and ev-node are available:

```bash
# Update and release sequencers/based
cd sequencers/based
go get github.com/evstack/ev-node/[email protected]
go get github.com/evstack/[email protected]
go mod tidy
git tag sequencers/based/v0.3.0
git push origin sequencers/based/v0.3.0

# Update and release sequencers/single
cd ../single
go get github.com/evstack/ev-node/[email protected]
go get github.com/evstack/[email protected]
go mod tidy
git tag sequencers/single/v0.3.0
git push origin sequencers/single/v0.3.0

# Verify availability
go list -m github.com/evstack/ev-node/sequencers/[email protected]
go list -m github.com/evstack/ev-node/sequencers/[email protected]
```

#### Phase 4: Release Applications
#### Phase 3: Release Applications

After all dependencies are available:

Expand All @@ -210,7 +175,6 @@ go get github.com/evstack/ev-node/[email protected]
go get github.com/evstack/ev-node/[email protected]
go get github.com/evstack/ev-node/execution/[email protected]
go get github.com/evstack/[email protected]
go get github.com/evstack/ev-node/sequencers/[email protected]
go mod tidy
git tag apps/evm/based/v0.3.0
git push origin apps/evm/based/v0.3.0
Expand All @@ -221,7 +185,6 @@ go get github.com/evstack/ev-node/[email protected]
go get github.com/evstack/ev-node/[email protected]
go get github.com/evstack/ev-node/execution/[email protected]
go get github.com/evstack/[email protected]
go get github.com/evstack/ev-node/sequencers/[email protected]
go mod tidy
git tag apps/evm/single/v0.3.0
git push origin apps/evm/single/v0.3.0
Expand Down Expand Up @@ -265,11 +228,7 @@ git tag da/v0.3.0 && git push origin da/v0.3.0
git tag v0.3.0 && git push origin v0.3.0
git tag execution/evm/v0.3.0 && git push origin execution/evm/v0.3.0

# 3. Wait, update deps, then release sequencers
git tag sequencers/based/v0.3.0 && git push origin sequencers/based/v0.3.0
git tag sequencers/single/v0.3.0 && git push origin sequencers/single/v0.3.0

# 4. Wait, update deps, then release apps
# 3. Wait, update deps, then release apps
git tag apps/evm/based/v0.3.0 && git push origin apps/evm/based/v0.3.0
git tag apps/evm/single/v0.3.0 && git push origin apps/evm/single/v0.3.0
```
Expand Down Expand Up @@ -324,25 +283,30 @@ go get github.com/evstack/ev-node/[email protected]
### Docker Releases

**"App directory does not exist"**

- Ensure tag matches app path: `apps/evm/single/` → `evm/single/v0.2.0`
- Check spelling and case sensitivity

**"Dockerfile not found"**

- Verify Dockerfile exists at `apps/{app-path}/Dockerfile`
- Check filename is exactly `Dockerfile`

**"Image not found" in tests**

- Wait for Docker build workflow to complete
- Check workflow dependencies in Actions tab

### Go Module Releases

**Go proxy delay**

- Wait 5-30 minutes for propagation
- Use `go list -m` to verify availability
- Check https://proxy.golang.org/

**Dependency version conflicts**

- Ensure all dependencies are released before dependent modules
- Verify go.mod has correct versions
- Remove `replace` directives
Expand Down
1 change: 0 additions & 1 deletion apps/evm/single/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@ require (
github.com/evstack/ev-node/core v1.0.0-beta.4
github.com/evstack/ev-node/da v1.0.0-beta.5
github.com/evstack/ev-node/execution/evm v1.0.0-beta.3
github.com/evstack/ev-node/sequencers/single v1.0.0-beta.3
github.com/ipfs/go-datastore v0.9.0
github.com/spf13/cobra v1.10.1
)
Expand Down
2 changes: 0 additions & 2 deletions apps/evm/single/go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -105,8 +105,6 @@ github.com/ethereum/go-verkle v0.2.2 h1:I2W0WjnrFUIzzVPwm8ykY+7pL2d4VhlsePn4j7cn
github.com/ethereum/go-verkle v0.2.2/go.mod h1:M3b90YRnzqKyyzBEWJGqj8Qff4IDeXnzFw0P9bFw3uk=
github.com/evstack/ev-node/execution/evm v1.0.0-beta.3 h1:xo0mZz3CJtntP1RPLFDBubBKpNkqStImt9H9N0xysj8=
github.com/evstack/ev-node/execution/evm v1.0.0-beta.3/go.mod h1:yazCKZaVczYwizfHYSQ4KIYqW0d42M7q7e9AxuSXV3s=
github.com/evstack/ev-node/sequencers/single v1.0.0-beta.3 h1:BT/UeH7Tf8z0btzomCzTbbDDZGAT8/yHcd6xY6P/aaw=
github.com/evstack/ev-node/sequencers/single v1.0.0-beta.3/go.mod h1:eCkDecdJ3s7TB3R5nFdPDyz7jjRmwYen6lGe9D2sSH4=
github.com/ferranbt/fastssz v0.1.4 h1:OCDB+dYDEQDvAgtAGnTSidK1Pe2tW3nFV40XyMkTeDY=
github.com/ferranbt/fastssz v0.1.4/go.mod h1:Ea3+oeoRGGLGm5shYAeDgu6PGUlcvQhE2fILyD9+tGg=
github.com/filecoin-project/go-clock v0.1.0 h1:SFbYIM75M8NnFm1yMHhN9Ahy3W5bEZV9gd6MPfXbKVU=
Expand Down
1 change: 0 additions & 1 deletion apps/grpc/single/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ require (
github.com/evstack/ev-node/core v1.0.0-beta.4
github.com/evstack/ev-node/da v1.0.0-beta.5
github.com/evstack/ev-node/execution/grpc v0.0.0
github.com/evstack/ev-node/sequencers/single v1.0.0-beta.3
github.com/spf13/cobra v1.10.1
)

Expand Down
2 changes: 0 additions & 2 deletions apps/grpc/single/go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -60,8 +60,6 @@ github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymF
github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98=
github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
github.com/evstack/ev-node/sequencers/single v1.0.0-beta.3 h1:BT/UeH7Tf8z0btzomCzTbbDDZGAT8/yHcd6xY6P/aaw=
github.com/evstack/ev-node/sequencers/single v1.0.0-beta.3/go.mod h1:eCkDecdJ3s7TB3R5nFdPDyz7jjRmwYen6lGe9D2sSH4=
github.com/filecoin-project/go-clock v0.1.0 h1:SFbYIM75M8NnFm1yMHhN9Ahy3W5bEZV9gd6MPfXbKVU=
github.com/filecoin-project/go-clock v0.1.0/go.mod h1:4uB/O4PvOjlx1VCMdZ9MyDZXRm//gkj1ELEbxfI1AZs=
github.com/filecoin-project/go-jsonrpc v0.9.0 h1:G47qEF52w7GholpI21vPSTVBFvsrip6geIoqNiqyZtQ=
Expand Down
2 changes: 0 additions & 2 deletions apps/testapp/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,13 @@ replace (
github.com/evstack/ev-node => ../../.
github.com/evstack/ev-node/core => ../../core
github.com/evstack/ev-node/da => ../../da
github.com/evstack/ev-node/sequencers/single => ../../sequencers/single
)

require (
github.com/celestiaorg/go-header v0.7.3
github.com/evstack/ev-node v1.0.0-beta.9
github.com/evstack/ev-node/core v1.0.0-beta.4
github.com/evstack/ev-node/da v0.0.0-00010101000000-000000000000
github.com/evstack/ev-node/sequencers/single v0.0.0-00010101000000-000000000000
github.com/ipfs/go-datastore v0.9.0
github.com/spf13/cobra v1.10.1
github.com/stretchr/testify v1.11.1
Expand Down
1 change: 0 additions & 1 deletion go.work.example
Original file line number Diff line number Diff line change
Expand Up @@ -9,5 +9,4 @@ use (
./execution/evm
./execution/grpc
./da/
./sequencers/single
)
161 changes: 0 additions & 161 deletions sequencers/single/go.mod

This file was deleted.

Loading
Loading