Skip to content

Commit 7ed0f9c

Browse files
Standardize Golang version across all Dockerfiles (kptdev#455)
Signed-off-by: aravind.est <aravindhan.a@est.tech> Co-authored-by: Liam Fallon <35595825+liamfallon@users.noreply.github.com>
1 parent 3068b77 commit 7ed0f9c

15 files changed

Lines changed: 56 additions & 34 deletions

.github/workflows/image-build-push-dev.yaml

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -42,10 +42,12 @@ jobs:
4242
- name: Checkout repository
4343
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
4444

45-
- name: Extract ALPINE_VERSION from Makefile
46-
id: alpine
45+
- name: Extract image versions from Makefile
46+
id: versions
4747
run: |
48-
echo "version=$(make --eval='print: ; @echo $(ALPINE_VERSION)' print)" >> "$GITHUB_OUTPUT"
48+
echo "alpine=$(make --eval='print: ; @echo $(ALPINE_VERSION)' print)" >> "$GITHUB_OUTPUT"
49+
echo "golang_bookworm=$(make --eval='print: ; @echo $(GOLANG_BOOKWORM_VERSION)' print)" >> "$GITHUB_OUTPUT"
50+
echo "golang_alpine=$(make --eval='print: ; @echo $(GOLANG_ALPINE_VERSION)' print)" >> "$GITHUB_OUTPUT"
4951
5052
- name: Log in to the Container registry
5153
uses: docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567 # v3.3.0
@@ -77,4 +79,6 @@ jobs:
7779
no-cache: true
7880
sbom: true
7981
build-args: |
80-
ALPINE_VERSION=${{ steps.alpine.outputs.version }}
82+
ALPINE_VERSION=${{ steps.versions.outputs.alpine }}
83+
GOLANG_BOOKWORM_VERSION=${{ steps.versions.outputs.golang_bookworm }}
84+
GOLANG_ALPINE_VERSION=${{ steps.versions.outputs.golang_alpine }}

.github/workflows/image-build-push-release.yaml

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -42,10 +42,12 @@ jobs:
4242
- name: Checkout repository
4343
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
4444

45-
- name: Extract ALPINE_VERSION from Makefile
46-
id: alpine
45+
- name: Extract image versions from Makefile
46+
id: versions
4747
run: |
48-
echo "version=$(make --eval='print: ; @echo $(ALPINE_VERSION)' print)" >> "$GITHUB_OUTPUT"
48+
echo "alpine=$(make --eval='print: ; @echo $(ALPINE_VERSION)' print)" >> "$GITHUB_OUTPUT"
49+
echo "golang_bookworm=$(make --eval='print: ; @echo $(GOLANG_BOOKWORM_VERSION)' print)" >> "$GITHUB_OUTPUT"
50+
echo "golang_alpine=$(make --eval='print: ; @echo $(GOLANG_ALPINE_VERSION)' print)" >> "$GITHUB_OUTPUT"
4951
5052
- name: Log in to the Container registry
5153
uses: docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567 # v3.3.0
@@ -78,4 +80,6 @@ jobs:
7880
no-cache: true
7981
sbom: true
8082
build-args: |
81-
ALPINE_VERSION=${{ steps.alpine.outputs.version }}
83+
ALPINE_VERSION=${{ steps.versions.outputs.alpine }}
84+
GOLANG_BOOKWORM_VERSION=${{ steps.versions.outputs.golang_bookworm }}
85+
GOLANG_ALPINE_VERSION=${{ steps.versions.outputs.golang_alpine }}

.github/workflows/porch-e2e-ci-jobs.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,10 +67,14 @@ jobs:
6767
run: |
6868
echo "image-tag=${IMAGE_TAG:0:8}" >> $GITHUB_OUTPUT
6969
echo "alpine-version=$(make --eval='print: ; @echo $(ALPINE_VERSION)' print)" >> $GITHUB_OUTPUT
70+
echo "golang-bookworm=$(make --eval='print: ; @echo $(GOLANG_BOOKWORM_VERSION)' print)" >> $GITHUB_OUTPUT
71+
echo "golang-alpine=$(make --eval='print: ; @echo $(GOLANG_ALPINE_VERSION)' print)" >> $GITHUB_OUTPUT
7072
- name: Build images in parallel
7173
run: |
7274
export IMAGE_TAG=${IMAGE_TAG:0:8}
7375
export ALPINE_VERSION=${{ steps.vars.outputs.alpine-version }}
76+
export GOLANG_BOOKWORM_VERSION=${{ steps.vars.outputs.golang-bookworm }}
77+
export GOLANG_ALPINE_VERSION=${{ steps.vars.outputs.golang-alpine }}
7478
IMAGE_NAME=${PORCH_FUNCTION_RUNNER_IMAGE} WRAPPER_SERVER_IMAGE_NAME=${PORCH_WRAPPER_SERVER_IMAGE} make -C func/ build-image &
7579
IMAGE_NAME=${PORCH_SERVER_IMAGE} make -C build/ build-image &
7680
IMAGE_NAME=${PORCH_CONTROLLERS_IMAGE} make -C controllers/ build-image &

Makefile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@ export PORCHDIR=$(abspath $(CURDIR))
1919

2020
# Base image versions
2121
export ALPINE_VERSION ?= 3.23.3
22+
export GOLANG_BOOKWORM_VERSION ?= 1.25.7-bookworm
23+
export GOLANG_ALPINE_VERSION ?= 1.25.7-alpine
2224

2325
export DEPLOYPORCHCONFIGDIR ?= $(BUILDDIR)/deploy
2426
DEPLOYKPTCONFIGDIR=$(BUILDDIR)/kpt_pkgs

build/Dockerfile

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,9 @@
1414

1515

1616
ARG ALPINE_VERSION=latest
17+
ARG GOLANG_BOOKWORM_VERSION=latest
1718

18-
FROM golang:1.25.7-bookworm AS builder
19+
FROM golang:${GOLANG_BOOKWORM_VERSION} AS builder
1920

2021
WORKDIR /go/src
2122

build/Dockerfile.apiserver

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,9 @@
1313
# limitations under the License.
1414

1515
ARG ALPINE_VERSION=latest
16+
ARG GOLANG_BOOKWORM_VERSION=latest
1617

17-
FROM golang:1.25.7-bookworm AS builder
18+
FROM golang:${GOLANG_BOOKWORM_VERSION} AS builder
1819

1920
WORKDIR /workspace/src
2021
RUN git clone https://github.com/kubernetes/kubernetes --branch v1.30.3 --depth=1

build/Makefile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@ ALPINE_VERSION ?= 3.23.3
2020

2121
.PHONY: build-image docker-build
2222
build-image docker-build:
23-
docker buildx build --load --tag $(IMAGE_REPO)/$(IMAGE_NAME):$(IMAGE_TAG) --build-arg ALPINE_VERSION=$(ALPINE_VERSION) -f ./Dockerfile "$(PORCHDIR)"
23+
docker buildx build --load --tag $(IMAGE_REPO)/$(IMAGE_NAME):$(IMAGE_TAG) --build-arg ALPINE_VERSION=$(ALPINE_VERSION) --build-arg GOLANG_BOOKWORM_VERSION=$(GOLANG_BOOKWORM_VERSION) -f ./Dockerfile "$(PORCHDIR)"
2424

2525
.PHONY: push-image docker-push
2626
push-image docker-push:
27-
docker buildx build --push --tag $(IMAGE_REPO)/$(IMAGE_NAME):$(IMAGE_TAG) --build-arg ALPINE_VERSION=$(ALPINE_VERSION) -f ./Dockerfile "$(PORCHDIR)"
27+
docker buildx build --push --tag $(IMAGE_REPO)/$(IMAGE_NAME):$(IMAGE_TAG) --build-arg ALPINE_VERSION=$(ALPINE_VERSION) --build-arg GOLANG_BOOKWORM_VERSION=$(GOLANG_BOOKWORM_VERSION) -f ./Dockerfile "$(PORCHDIR)"

controllers/Dockerfile

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,9 @@
1313
# limitations under the License.
1414

1515
ARG ALPINE_VERSION=latest
16+
ARG GOLANG_BOOKWORM_VERSION=latest
1617

17-
FROM golang:1.25.7-bookworm AS builder
18+
FROM golang:${GOLANG_BOOKWORM_VERSION} AS builder
1819

1920
WORKDIR /go/src
2021

controllers/Makefile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@ IMAGE_NAME ?= porch-controllers
1818

1919
.PHONY: build-image docker-build
2020
build-image docker-build:
21-
docker buildx build --load --tag $(IMAGE_REPO)/$(IMAGE_NAME):$(IMAGE_TAG) --build-arg ALPINE_VERSION=$(ALPINE_VERSION) -f Dockerfile ..
21+
docker buildx build --load --tag $(IMAGE_REPO)/$(IMAGE_NAME):$(IMAGE_TAG) --build-arg ALPINE_VERSION=$(ALPINE_VERSION) --build-arg GOLANG_BOOKWORM_VERSION=$(GOLANG_BOOKWORM_VERSION) -f Dockerfile ..
2222

2323
.PHONY: push-image docker-push
2424
push-image docker-push:
25-
docker buildx build --push --tag $(IMAGE_REPO)/$(IMAGE_NAME):$(IMAGE_TAG) --build-arg ALPINE_VERSION=$(ALPINE_VERSION) -f Dockerfile ..
25+
docker buildx build --push --tag $(IMAGE_REPO)/$(IMAGE_NAME):$(IMAGE_TAG) --build-arg ALPINE_VERSION=$(ALPINE_VERSION) --build-arg GOLANG_BOOKWORM_VERSION=$(GOLANG_BOOKWORM_VERSION) -f Dockerfile ..

func/Dockerfile

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
# limitations under the License.
1414

1515
ARG ALPINE_VERSION=latest
16+
ARG GOLANG_ALPINE_VERSION=latest
1617

1718
FROM ghcr.io/kptdev/krm-functions-catalog/apply-setters:v0.2.0 AS apply-setters
1819
FROM ghcr.io/kptdev/krm-functions-catalog/apply-setters:v0.1.1 AS apply-setters-v1
@@ -27,7 +28,8 @@ FROM ghcr.io/kptdev/krm-functions-catalog/set-project-id:v0.2.0 AS set-project-i
2728
FROM ghcr.io/kptdev/krm-functions-catalog/starlark:v0.3.0 AS starlark
2829
FROM ghcr.io/kptdev/krm-functions-catalog/upsert-resource:v0.2.0 AS upsert-resource
2930

30-
FROM golang:1.25.7-alpine AS builder
31+
32+
FROM golang:${GOLANG_ALPINE_VERSION} AS builder
3133
WORKDIR /go/src
3234

3335
RUN go install github.com/grpc-ecosystem/grpc-health-probe@v0.4.11

0 commit comments

Comments
 (0)