diff --git a/.github/workflows/docker-build.yaml b/.github/workflows/docker-build.yaml new file mode 100644 index 0000000000000..5779c418782b8 --- /dev/null +++ b/.github/workflows/docker-build.yaml @@ -0,0 +1,39 @@ +name: docker-build +on: + pull_request: {} + push: + branches: + - "elx-vault-main" + +env: + IMAGE_NAME: elx-vault + +jobs: + push: + runs-on: self-hosted + permissions: + packages: write + contents: read + + steps: + - uses: actions/checkout@v5 + - name: Build image + run: docker build . --file Dockerfile.release --tag $IMAGE_NAME --label "runnumber=${GITHUB_RUN_ID}" + - name: Log in to registry + run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.actor }} --password-stdin + + - name: Push image + run: | + IMAGE_ID=ghcr.io/${{ github.repository_owner }}/$IMAGE_NAME + + IMAGE_ID=$(echo $IMAGE_ID | tr '[A-Z]' '[a-z]') + + VERSION=$(echo "${{ github.ref }}" | sed -e 's,.*/\(.*\),\1,') + + [[ "${{ github.ref }}" == "refs/tags/"* ]] && VERSION=$(echo $VERSION | sed -e 's/^v//') + + [ "$VERSION" == "main" ] && VERSION=latest + echo IMAGE_ID=$IMAGE_ID + echo VERSION=$VERSION + docker tag $IMAGE_NAME $IMAGE_ID:$VERSION + docker push $IMAGE_ID:$VERSION diff --git a/Dockerfile.release b/Dockerfile.release index b2d05283850f8..af1fe63cff450 100644 --- a/Dockerfile.release +++ b/Dockerfile.release @@ -1,8 +1,6 @@ FROM golang:1.24-alpine AS build -ARG TARGETARCH -ARG RELEASE - +ENV TARGETARCH=amd64 ENV GOPATH=/go ENV CGO_ENABLED=0 @@ -14,7 +12,6 @@ RUN apk add -U --no-cache ca-certificates && \ apk add -U --no-cache bash && \ go install aead.dev/minisign/cmd/minisign@v0.2.1 -# Download minio binary and signature files RUN curl -s -q https://dl.min.io/server/minio/release/linux-${TARGETARCH}/archive/minio.${RELEASE} -o /go/bin/minio && \ curl -s -q https://dl.min.io/server/minio/release/linux-${TARGETARCH}/archive/minio.${RELEASE}.minisig -o /go/bin/minio.minisig && \ curl -s -q https://dl.min.io/server/minio/release/linux-${TARGETARCH}/archive/minio.${RELEASE}.sha256sum -o /go/bin/minio.sha256sum && \ @@ -26,10 +23,6 @@ RUN curl -s -q https://dl.min.io/client/mc/release/linux-${TARGETARCH}/mc -o /go curl -s -q https://dl.min.io/client/mc/release/linux-${TARGETARCH}/mc.sha256sum -o /go/bin/mc.sha256sum && \ chmod +x /go/bin/mc -# Verify binary signature using public key "RWTx5Zr1tiHQLwG9keckT0c45M3AGeHD6IvimQHpyRywVWGbP1aVSGavRUN" -RUN minisign -Vqm /go/bin/minio -x /go/bin/minio.minisig -P RWTx5Zr1tiHQLwG9keckT0c45M3AGeHD6IvimQHpyRywVWGbP1aVSGav && \ - minisign -Vqm /go/bin/mc -x /go/bin/mc.minisig -P RWTx5Zr1tiHQLwG9keckT0c45M3AGeHD6IvimQHpyRywVWGbP1aVSGav - COPY dockerscripts/download-static-curl.sh /build/download-static-curl RUN chmod +x /build/download-static-curl && \ /build/download-static-curl