diff --git a/.github/workflows/docker-publish-opr-node-images.yaml b/.github/workflows/docker-publish-opr-node-images.yaml index 0d64c596d8..7156ab892c 100644 --- a/.github/workflows/docker-publish-opr-node-images.yaml +++ b/.github/workflows/docker-publish-opr-node-images.yaml @@ -9,6 +9,12 @@ on: version: description: 'Version (Required)' required: true + gitCommit: + description: 'GitCommit (Required)' + required: true + gitDate: + description: 'GitDate (Required)' + required: true release_tag: description: 'Release Tag (Optional)' required: false @@ -67,7 +73,7 @@ jobs: tags: ${{ env.REGISTRY }}/layr-labs/eigenda/opr-node:${{ steps.set_tag.outputs.tag }} cache-from: type=local,src=/tmp/.buildx-cache cache-to: type=local,dest=/tmp/.buildx-cache-new - build-args: SEMVER=${{ github.event.inputs.version }} + build-args: SEMVER=${{ github.event.inputs.version }},GITCOMMIT=${{ github.event.inputs.gitcommit }},DATE=${{ github.event.inputs.GitDate }} if: ${{ success() }} - name: Build and Push NodePlugin Image diff --git a/node/cmd/Dockerfile b/node/cmd/Dockerfile index 5b42410d0e..e47e1a8035 100644 --- a/node/cmd/Dockerfile +++ b/node/cmd/Dockerfile @@ -1,6 +1,8 @@ FROM golang:1.21.1-alpine3.18 as builder ARG SEMVER +ARG GITCOMMIT +ARG GITDATE RUN apk add --no-cache make musl-dev linux-headers gcc git jq bash @@ -18,7 +20,7 @@ COPY go.sum /app WORKDIR /app/node -RUN go build -ldflags="-X 'node.SemVer=${SEMVER}'" -o ./bin/node ./cmd +RUN go build -ldflags="-X 'node.SemVer=${SEMVER}' -X 'node.GitCommit=${GITCOMMIT}' -X 'node.GitDate=${GITDATE}'" -o ./bin/node ./cmd FROM alpine:3.18 diff --git a/node/config.go b/node/config.go index 1244c971cf..ca5999de13 100644 --- a/node/config.go +++ b/node/config.go @@ -23,8 +23,6 @@ const ( // Min number of seconds for the ExpirationPollIntervalSecFlag. minExpirationPollIntervalSec = 3 AppName = "da-node" - GitCommit = "" - GitDate = "" ) var ( @@ -34,7 +32,9 @@ var ( 0: "eth_quorum", 1: "permissioned_quorum", } - SemVer = "v0.0.0" + SemVer = "v0.0.0" + GitCommit = "" + GitDate = "" ) // Config contains all of the configuration information for a DA node.