Skip to content

Commit 5c187bc

Browse files
authored
ci: Fix the version reported by op-challenger and op-dispute-mon (#10684)
Fix op-program to use a fixed version and version meta for all client builds (correct version is reported by the host) since these builds should be reproducible. Note the make reproducible-build target never set a version so was indeed reproducible.
1 parent 7479482 commit 5c187bc

File tree

3 files changed

+8
-5
lines changed

3 files changed

+8
-5
lines changed

op-challenger/Makefile

+2-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@ VERSION ?= v0.0.0
44

55
LDFLAGSSTRING +=-X main.GitCommit=$(GITCOMMIT)
66
LDFLAGSSTRING +=-X main.GitDate=$(GITDATE)
7-
LDFLAGSSTRING +=-X main.Version=$(VERSION)
7+
LDFLAGSSTRING +=-X github.com/ethereum-optimism/optimism/op-challenger/version.Version=$(VERSION)
8+
LDFLAGSSTRING +=-X github.com/ethereum-optimism/optimism/op-challenger/version.Meta=$(VERSION_META)
89
LDFLAGS := -ldflags "$(LDFLAGSSTRING)"
910

1011
# Use the old Apple linker to workaround broken xcode - https://github.com/golang/go/issues/65169

op-dispute-mon/Makefile

+2-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@ VERSION ?= v0.0.0
44

55
LDFLAGSSTRING +=-X main.GitCommit=$(GITCOMMIT)
66
LDFLAGSSTRING +=-X main.GitDate=$(GITDATE)
7-
LDFLAGSSTRING +=-X main.Version=$(VERSION)
7+
LDFLAGSSTRING +=-X github.com/ethereum-optimism/optimism/op-dispute-mon/version.Version=$(VERSION)
8+
LDFLAGSSTRING +=-X github.com/ethereum-optimism/optimism/op-dispute-mon/version.Meta=$(VERSION_META)
89
LDFLAGS := -ldflags "$(LDFLAGSSTRING)"
910

1011
op-dispute-mon:

op-program/Makefile

+4-3
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,14 @@ VERSION ?= v0.0.0
44

55
LDFLAGSSTRING +=-X main.GitCommit=$(GITCOMMIT)
66
LDFLAGSSTRING +=-X main.GitDate=$(GITDATE)
7-
LDFLAGSSTRING +=-X github.com/ethereum-optimism/optimism/op-program/version.Meta=$(VERSION_META)
87

98
# op-program-client version must ALWAYS be set to the same value (v0.0.0) to ensure exact build is reproducible
109
PC_LDFLAGSSTRING := $(LDFLAGSSTRING)
1110
PC_LDFLAGSSTRING +=-X github.com/ethereum-optimism/optimism/op-program/version.Version=v0.0.0
11+
PC_LDFLAGSSTRING +=-X github.com/ethereum-optimism/optimism/op-program/version.Meta=
1212

1313
LDFLAGSSTRING +=-X github.com/ethereum-optimism/optimism/op-program/version.Version=$(VERSION)
14+
LDFLAGSSTRING +=-X github.com/ethereum-optimism/optimism/op-program/version.Meta=$(VERSION_META)
1415

1516
COMPAT_DIR := temp/compat
1617

@@ -26,12 +27,12 @@ op-program-client:
2627
env GO111MODULE=on GOOS=$(TARGETOS) GOARCH=$(TARGETARCH) go build -v -ldflags "$(PC_LDFLAGSSTRING)" -o ./bin/op-program-client ./client/cmd/main.go
2728

2829
op-program-client-mips:
29-
env GO111MODULE=on GOOS=linux GOARCH=mips GOMIPS=softfloat go build -v -ldflags "$(LDFLAGSSTRING)" -o ./bin/op-program-client.elf ./client/cmd/main.go
30+
env GO111MODULE=on GOOS=linux GOARCH=mips GOMIPS=softfloat go build -v -ldflags "$(PC_LDFLAGSSTRING)" -o ./bin/op-program-client.elf ./client/cmd/main.go
3031
# verify output with: readelf -h bin/op-program-client.elf
3132
# result is mips32, big endian, R3000
3233

3334
op-program-client-riscv:
34-
env GO111MODULE=on GOOS=linux GOARCH=riscv64 go build -v -gcflags="all=-d=softfloat" -ldflags "$(LDFLAGSSTRING)" -o ./bin/op-program-client-riscv.elf ./client/cmd/main.go
35+
env GO111MODULE=on GOOS=linux GOARCH=riscv64 go build -v -gcflags="all=-d=softfloat" -ldflags "$(PC_LDFLAGSSTRING)" -o ./bin/op-program-client-riscv.elf ./client/cmd/main.go
3536

3637
reproducible-prestate:
3738
@docker build --output ./bin/ --progress plain -f Dockerfile.repro ../

0 commit comments

Comments
 (0)