[dev] docker build with mod path trick

This commit is contained in:
Roy Crihfield 2024-12-01 20:23:08 +08:00
parent 9f9ea539a9
commit c48710ab82
3 changed files with 37 additions and 36 deletions

View File

@ -1,4 +1,4 @@
FROM golang:1.21-bullseye AS builder
FROM golang:1.23-bookworm AS builder
# Set working directory for the build
WORKDIR /go/src/git.vdb.to/cerc-io/laconicd
@ -14,12 +14,12 @@ COPY . .
RUN make build
# Final image
FROM ubuntu:22.04
FROM ubuntu:24.04
# Install ca-certificates, jq, curl, bash, and other necessary packages
RUN apt-get update && apt-get install -y --no-install-recommends \
ca-certificates \
jq curl netcat bash \
jq curl netcat-openbsd bash \
&& rm -rf /var/lib/apt/lists/*
# Copy over binary from the builder

View File

@ -60,7 +60,8 @@ all: install
protoVer=0.14.0
protoImageName=ghcr.io/cosmos/proto-builder:$(protoVer)
protoImage=$(DOCKER) run --rm -v $(CURDIR):/workspace --workdir /workspace $(protoImageName)
protoVolumes=-v $(shell readlink -f ..):/mod
protoImage=$(DOCKER) run --rm -v $(CURDIR):/workspace --workdir /workspace $(protoVolumes) $(protoImageName)
proto-all: proto-format proto-lint proto-gen

64
go.mod
View File

@ -4,7 +4,7 @@ go 1.23.3
replace (
// Remove fjl/memsize as a dependency: https://github.com/ethereum/go-ethereum/pull/30253
// github.com/ethereum/go-ethereum => ../go-ethereum
// github.com/ethereum/go-ethereum => ../mod/go-ethereum
github.com/ethereum/go-ethereum => github.com/ethereum/go-ethereum v1.14.6-0.20240802044403-e4675771eda5
// Fix upstream GHSA-h395-qcrw-5vmq vulnerability.
// TODO Remove it: https://github.com/cosmos/cosmos-sdk/issues/10409
@ -361,7 +361,7 @@ require (
)
// github.com/statechannels/go-nitro v0.1.2 => github.com/cerc-io/go-nitro v0.1.3-ts-port-0.1.10
replace github.com/statechannels/go-nitro => ../go-nitro
replace github.com/statechannels/go-nitro => ../mod/go-nitro
// replace (
// cosmossdk.io/core v0.7.6 => github.com/roysc/cosmos-sdk/core v0.0.0-20241001191620-a3729c1ad6ba
@ -379,42 +379,42 @@ replace github.com/statechannels/go-nitro => ../go-nitro
// dev
replace (
// cosmossdk.io/core => ../cosmos-sdk/core
cosmossdk.io/api => ../cosmos-sdk/api
cosmossdk.io/client/v2 => ../cosmos-sdk/client/v2
cosmossdk.io/core/testing => ../cosmos-sdk/core/testing
cosmossdk.io/depinject => ../cosmos-sdk/depinject
cosmossdk.io/runtime/v2 => ../cosmos-sdk/runtime/v2
cosmossdk.io/server/v2 => ../cosmos-sdk/server/v2
cosmossdk.io/server/v2/appmanager => ../cosmos-sdk/server/v2/appmanager
cosmossdk.io/server/v2/cometbft => ../cosmos-sdk/server/v2/cometbft
cosmossdk.io/server/v2/stf => ../cosmos-sdk/server/v2/stf
cosmossdk.io/store => ../cosmos-sdk/store
cosmossdk.io/store/v2 => ../cosmos-sdk/store/v2
cosmossdk.io/systemtests => ../cosmos-sdk/systemtests
// cosmossdk.io/core => ../mod/cosmos-sdk/core
cosmossdk.io/api => ../mod/cosmos-sdk/api
cosmossdk.io/client/v2 => ../mod/cosmos-sdk/client/v2
cosmossdk.io/core/testing => ../mod/cosmos-sdk/core/testing
cosmossdk.io/depinject => ../mod/cosmos-sdk/depinject
cosmossdk.io/runtime/v2 => ../mod/cosmos-sdk/runtime/v2
cosmossdk.io/server/v2 => ../mod/cosmos-sdk/server/v2
cosmossdk.io/server/v2/appmanager => ../mod/cosmos-sdk/server/v2/appmanager
cosmossdk.io/server/v2/cometbft => ../mod/cosmos-sdk/server/v2/cometbft
cosmossdk.io/server/v2/stf => ../mod/cosmos-sdk/server/v2/stf
cosmossdk.io/store => ../mod/cosmos-sdk/store
cosmossdk.io/store/v2 => ../mod/cosmos-sdk/store/v2
cosmossdk.io/systemtests => ../mod/cosmos-sdk/systemtests
)
replace (
cosmossdk.io/x/accounts => ../cosmos-sdk/x/accounts
cosmossdk.io/x/accounts/defaults/base => ../cosmos-sdk/x/accounts/defaults/base
cosmossdk.io/x/accounts/defaults/lockup => ../cosmos-sdk/x/accounts/defaults/lockup
cosmossdk.io/x/accounts/defaults/multisig => ../cosmos-sdk/x/accounts/defaults/multisig
cosmossdk.io/x/bank => ../cosmos-sdk/x/bank
cosmossdk.io/x/consensus => ../cosmos-sdk/x/consensus
cosmossdk.io/x/distribution => ../cosmos-sdk/x/distribution
cosmossdk.io/x/epochs => ../cosmos-sdk/x/epochs
cosmossdk.io/x/gov => ../cosmos-sdk/x/gov
cosmossdk.io/x/mint => ../cosmos-sdk/x/mint
cosmossdk.io/x/params => ../cosmos-sdk/x/params
cosmossdk.io/x/protocolpool => ../cosmos-sdk/x/protocolpool
cosmossdk.io/x/slashing => ../cosmos-sdk/x/slashing
cosmossdk.io/x/staking => ../cosmos-sdk/x/staking
cosmossdk.io/x/tx => ../cosmos-sdk/x/tx
cosmossdk.io/x/accounts => ../mod/cosmos-sdk/x/accounts
cosmossdk.io/x/accounts/defaults/base => ../mod/cosmos-sdk/x/accounts/defaults/base
cosmossdk.io/x/accounts/defaults/lockup => ../mod/cosmos-sdk/x/accounts/defaults/lockup
cosmossdk.io/x/accounts/defaults/multisig => ../mod/cosmos-sdk/x/accounts/defaults/multisig
cosmossdk.io/x/bank => ../mod/cosmos-sdk/x/bank
cosmossdk.io/x/consensus => ../mod/cosmos-sdk/x/consensus
cosmossdk.io/x/distribution => ../mod/cosmos-sdk/x/distribution
cosmossdk.io/x/epochs => ../mod/cosmos-sdk/x/epochs
cosmossdk.io/x/gov => ../mod/cosmos-sdk/x/gov
cosmossdk.io/x/mint => ../mod/cosmos-sdk/x/mint
cosmossdk.io/x/params => ../mod/cosmos-sdk/x/params
cosmossdk.io/x/protocolpool => ../mod/cosmos-sdk/x/protocolpool
cosmossdk.io/x/slashing => ../mod/cosmos-sdk/x/slashing
cosmossdk.io/x/staking => ../mod/cosmos-sdk/x/staking
cosmossdk.io/x/tx => ../mod/cosmos-sdk/x/tx
)
replace (
github.com/cometbft/cometbft => ../cometbft
github.com/cosmos/cosmos-sdk => ../cosmos-sdk
github.com/cometbft/cometbft => ../mod/cometbft
github.com/cosmos/cosmos-sdk => ../mod/cosmos-sdk
)
// replace google.golang.org/protobuf => /Users/roy/clone/protobuf-go