diff --git a/.github/workflows/build-and-install.yml b/.github/workflows/build-and-install.yml index 36093f8..95e8126 100644 --- a/.github/workflows/build-and-install.yml +++ b/.github/workflows/build-and-install.yml @@ -41,6 +41,10 @@ jobs: - name: Build and Push run: | + docker pull komodoofficial/gaiad:latest@sha256:3e322a09696f70aa1cc7966e3930223f34179a0c33371a4b78a62c4417c4beea + docker tag komodoofficial/gaiad:latest@sha256:3e322a09696f70aa1cc7966e3930223f34179a0c33371a4b78a62c4417c4beea komodoofficial/gaiad:kdf-ci + docker push komodoofficial/gaiad:kdf-ci + git clone https://github.com/cosmos/gaia cd gaia docker build -t komodoofficial/gaiad:latest -f ./Dockerfile . @@ -62,10 +66,15 @@ jobs: - name: Build and Push run: | + docker pull komodoofficial/ibc-relayer:latest@sha256:5a4f27d75afa8e4d516506d0043978fc775ae950a42358e2c345b060102a05f5 + docker tag komodoofficial/ibc-relayer:latest@sha256:5a4f27d75afa8e4d516506d0043978fc775ae950a42358e2c345b060102a05f5 komodoofficial/ibc-relayer:kdf-ci + docker push komodoofficial/ibc-relayer:kdf-ci + git clone https://github.com/cosmos/relayer cd relayer + git checkout 6ab7f6198f341b10f7514041c0122233d8d952c5 rm ./Dockerfile - cp ../Dockerfile.ibc ./Dockerfile + cp ../Dockerfile.rly ./Dockerfile docker build -t komodoofficial/ibc-relayer:latest -f ./Dockerfile . docker push komodoofficial/ibc-relayer:latest diff --git a/Dockerfile.gaia b/Dockerfile.gaia new file mode 100644 index 0000000..a93517f --- /dev/null +++ b/Dockerfile.gaia @@ -0,0 +1,32 @@ +ARG IMG_TAG=latest + +# Compile the gaiad binary +FROM golang:1.22-alpine AS gaiad-builder +WORKDIR /src/app/ +ENV PACKAGES="curl make git libc-dev bash file gcc linux-headers eudev-dev python3" +RUN apk add --no-cache $PACKAGES + +# See https://github.com/CosmWasm/wasmvm/releases +ARG WASMVM_VERSION=v1.5.0 +ADD https://github.com/CosmWasm/wasmvm/releases/download/${WASMVM_VERSION}/libwasmvm_muslc.aarch64.a /lib/libwasmvm_muslc.aarch64.a +ADD https://github.com/CosmWasm/wasmvm/releases/download/${WASMVM_VERSION}/libwasmvm_muslc.x86_64.a /lib/libwasmvm_muslc.x86_64.a +RUN sha256sum /lib/libwasmvm_muslc.aarch64.a | grep 2687afbdae1bc6c7c8b05ae20dfb8ffc7ddc5b4e056697d0f37853dfe294e913 +RUN sha256sum /lib/libwasmvm_muslc.x86_64.a | grep 465e3a088e96fd009a11bfd234c69fb8a0556967677e54511c084f815cf9ce63 +RUN cp "/lib/libwasmvm_muslc.$(uname -m).a" /lib/libwasmvm_muslc.a + +COPY go.mod go.sum* ./ +RUN go mod download + +COPY . . +RUN LEDGER_ENABLED=true LINK_STATICALLY=true BUILD_TAGS=muslc make build +RUN echo "Ensuring binary is statically linked ..." \ + && file /src/app/build/gaiad | grep "statically linked" + +FROM alpine:$IMG_TAG +RUN apk add --no-cache build-base +ARG IMG_TAG +COPY --from=gaiad-builder /src/app/build/gaiad /usr/local/bin/ +EXPOSE 26656 26657 1317 9090 +USER 0 + +ENTRYPOINT ["gaiad", "start"] diff --git a/Dockerfile.ibc b/Dockerfile.rly similarity index 90% rename from Dockerfile.ibc rename to Dockerfile.rly index 2f7561e..4d682a3 100644 --- a/Dockerfile.ibc +++ b/Dockerfile.rly @@ -24,7 +24,6 @@ RUN if [ -d "/go/bin/linux_${TARGETARCH}" ]; then mv /go/bin/linux_${TARGETARCH} # Use minimal busybox from infra-toolkit image for final scratch image FROM ghcr.io/strangelove-ventures/infra-toolkit:v0.0.6 AS busybox-min -RUN addgroup --gid 1000 -S relayer && adduser --uid 100 -S relayer -G relayer # Use ln and rm from full featured busybox for assembling final image FROM busybox:1.34.1-musl AS busybox-full @@ -62,10 +61,8 @@ COPY --from=build-env /bin/rly /bin # Install trusted CA certificates COPY --from=busybox-min /etc/ssl/cert.pem /etc/ssl/cert.pem -# Install relayer user -COPY --from=busybox-min /etc/passwd /etc/passwd -COPY --from=busybox-min --chown=100:1000 /home/relayer /home/relayer +WORKDIR /root -WORKDIR /home/relayer +USER 0 ENTRYPOINT ["rly", "start"]