Skip to content

Commit b221036

Browse files
feat: Multi-arch publish for feast operator image
Signed-off-by: ntkathole <[email protected]> Co-authored-by: Cursor <[email protected]>
1 parent f843c63 commit b221036

3 files changed

Lines changed: 18 additions & 12 deletions

File tree

‎.github/workflows/master_only.yml‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -102,8 +102,8 @@ jobs:
102102
push_mode: all_tags
103103
- component: feast-operator
104104
target: feast-operator
105-
build_args: ""
106-
push_mode: all_tags
105+
build_args: DOCKER_PUSH=true DOCKER_PLATFORMS=linux/amd64,linux/arm64
106+
push_mode: imagetools
107107
env:
108108
REGISTRY: quay.io/feastdev-ci
109109
steps:
@@ -135,7 +135,7 @@ jobs:
135135
- name: Push image
136136
run: |
137137
if [[ "${{ matrix.push_mode }}" == "imagetools" ]]; then
138-
docker buildx imagetools create -t ${REGISTRY}/feature-server:develop ${REGISTRY}/feature-server:${GITHUB_SHA}
138+
docker buildx imagetools create -t ${REGISTRY}/${{ matrix.target }}:develop ${REGISTRY}/${{ matrix.target }}:${GITHUB_SHA}
139139
else
140140
docker tag ${REGISTRY}/${{ matrix.target }}:${GITHUB_SHA} ${REGISTRY}/${{ matrix.target }}:develop && docker push ${REGISTRY}/${{ matrix.target }} --all-tags
141141
fi

‎.github/workflows/publish_images.yml‎

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ jobs:
7474
env:
7575
VERSION_WITHOUT_PREFIX: ${{ steps.get-version.outputs.version_without_prefix }}
7676
run: |
77-
if [ "${{ matrix.component }}" = "feature-server" ]; then
77+
if [[ "${{ matrix.component }}" == "feature-server" || "${{ matrix.component }}" == "feast-operator" ]]; then
7878
make build-${{ matrix.component }}-docker REGISTRY=${REGISTRY} VERSION=${VERSION_WITHOUT_PREFIX} DOCKER_PUSH=true DOCKER_PLATFORMS=linux/amd64,linux/arm64
7979
else
8080
make build-${{ matrix.component }}-docker REGISTRY=${REGISTRY} VERSION=${VERSION_WITHOUT_PREFIX}
@@ -84,17 +84,17 @@ jobs:
8484
VERSION_WITHOUT_PREFIX: ${{ steps.get-version.outputs.version_without_prefix }}
8585
HIGHEST_SEMVER_TAG: ${{ steps.get-version.outputs.highest_semver_tag }}
8686
run: |
87-
if [ "${{ matrix.component }}" = "feature-server" ]; then
88-
echo "feature-server image pushed via buildx during build step"
87+
if [[ "${{ matrix.component }}" == "feature-server" || "${{ matrix.component }}" == "feast-operator" ]]; then
88+
echo "${{ matrix.component }} image pushed via buildx during build step"
8989
else
9090
make push-${{ matrix.component }}-docker REGISTRY=${REGISTRY} VERSION=${VERSION_WITHOUT_PREFIX}
9191
fi
9292
9393
echo "Only push to latest tag if tag is the highest semver version $HIGHEST_SEMVER_TAG"
9494
if [ "${VERSION_WITHOUT_PREFIX}" = "${HIGHEST_SEMVER_TAG:1}" ]
9595
then
96-
if [ "${{ matrix.component }}" = "feature-server" ]; then
97-
docker buildx imagetools create -t ${REGISTRY}/feature-server:latest ${REGISTRY}/feature-server:${VERSION_WITHOUT_PREFIX}
96+
if [[ "${{ matrix.component }}" == "feature-server" || "${{ matrix.component }}" == "feast-operator" ]]; then
97+
docker buildx imagetools create -t ${REGISTRY}/${{ matrix.component }}:latest ${REGISTRY}/${{ matrix.component }}:${VERSION_WITHOUT_PREFIX}
9898
else
9999
docker tag ${REGISTRY}/${{ matrix.component }}:${VERSION_WITHOUT_PREFIX} ${REGISTRY}/${{ matrix.component }}:latest
100100
docker push ${REGISTRY}/${{ matrix.component }}:latest

‎Makefile‎

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -730,10 +730,16 @@ push-feast-operator-docker: ## Push Feast Operator Docker image
730730
$(MAKE) docker-push
731731

732732
build-feast-operator-docker: ## Build Feast Operator Docker image
733-
cd infra/feast-operator && \
734-
IMAGE_TAG_BASE=$(REGISTRY)/feast-operator \
735-
VERSION=$(VERSION) \
736-
$(MAKE) docker-build
733+
@if [ -n "$(DOCKER_PLATFORMS)" ]; then \
734+
cd infra/feast-operator && \
735+
docker buildx build --push --platform=$(DOCKER_PLATFORMS) \
736+
--tag $(REGISTRY)/feast-operator:$(VERSION) -f Dockerfile .; \
737+
else \
738+
cd infra/feast-operator && \
739+
IMAGE_TAG_BASE=$(REGISTRY)/feast-operator \
740+
VERSION=$(VERSION) \
741+
$(MAKE) docker-build; \
742+
fi
737743

738744
build-feast-operator-docker-on-mac: ## Build Feast Operator Docker image on Mac
739745
cd infra/feast-operator && \

0 commit comments

Comments
 (0)