Skip to content

feat: Support arm docker build#6061

Open
Anarion-zuo wants to merge 6 commits intofeast-dev:masterfrom
Anarion-zuo:aaronzuo/arm_docker
Open

feat: Support arm docker build#6061
Anarion-zuo wants to merge 6 commits intofeast-dev:masterfrom
Anarion-zuo:aaronzuo/arm_docker

Conversation

@Anarion-zuo
Copy link
Contributor

@Anarion-zuo Anarion-zuo commented Mar 4, 2026

What this PR does / why we need it:

  • Support feature server docker image in ARM.
  • Setup CI test for docker images under amd64 & arm64.

Which issue(s) this PR fixes:

#4813

Misc


Open with Devin

Copy link
Contributor

@devin-ai-integration devin-ai-integration bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Devin Review: No Issues Found

Devin Review analyzed this PR and found no potential bugs to report.

View in Devin Review to see 4 additional findings.

Open in Devin Review

@Anarion-zuo Anarion-zuo requested a review from a team as a code owner March 4, 2026 14:33
@Anarion-zuo Anarion-zuo changed the title wip: support arm docker build feat: support arm docker build Mar 4, 2026
@Anarion-zuo Anarion-zuo force-pushed the aaronzuo/arm_docker branch from 75cba67 to 40705fb Compare March 4, 2026 14:49
@Anarion-zuo Anarion-zuo changed the title feat: support arm docker build feat: Support arm docker build Mar 4, 2026
@Anarion-zuo Anarion-zuo force-pushed the aaronzuo/arm_docker branch from 5a041f6 to 645ffc0 Compare March 4, 2026 15:20
- "sdk/python/feast/feature_server.py"
- "infra/scripts/feature_server_docker_smoke.py"
- "Makefile"
- ".github/workflows/publish_images.yml"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

also .github/workflows/docker_smoke_tests.yml

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

@ntkathole
Copy link
Member

@Anarion-zuo This looks good, can we also please get support of arm for dev image ?
build-feature-server-dev-docker, quay.io/feastdev-ci/feature-server
https://github.com/feast-dev/feast/blob/master/.github/workflows/master_only.yml#L124

@Anarion-zuo
Copy link
Contributor Author

@Anarion-zuo This looks good, can we also please get support of arm for dev image ? build-feature-server-dev-docker, quay.io/feastdev-ci/feature-server https://github.com/feast-dev/feast/blob/master/.github/workflows/master_only.yml#L124

Done

@ntkathole
Copy link
Member

@Anarion-zuo This looks good, can we also please get support of arm for dev image ? build-feature-server-dev-docker, quay.io/feastdev-ci/feature-server https://github.com/feast-dev/feast/blob/master/.github/workflows/master_only.yml#L124

Done

@Anarion-zuo I don't see master_only workflow modified to build and push dev images with arm arch

@Anarion-zuo
Copy link
Contributor Author

It would seem that https://github.com/feast-dev/feast/blob/master/.github/workflows/master_only.yml can only be triggered upon merge or push into the master branch. I made changes in the master_only.yml file to publish the image to quay.io, but cannot test it unless I trigger the action manually. Should I do this? I believe this would cause a build not from the master branch.

- name: Build image
run: |
make build-${{ matrix.component }}-docker REGISTRY=${REGISTRY} VERSION=${GITHUB_SHA}
if [[ "${{ matrix.component }}" == "feature-server-dev" ]]; then
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we should keep using make target, this avoids little maintenance for future

- name: Build image
     run: |
       if [[ "${{ matrix.component }}" == "feature-server-dev" ]]; then
         make build-feature-server-dev-docker REGISTRY=${REGISTRY} VERSION=${GITHUB_SHA} DOCKER_PUSH=true DOCKER_PLATFORMS=linux/amd64,linux/arm64
       else
         make build-${{ matrix.component }}-docker REGISTRY=${REGISTRY} VERSION=${GITHUB_SHA}
       fi
   - name: Push image
     run: |
       if [[ "${{ matrix.component }}" == "feature-server-dev" ]]; then
         docker buildx imagetools create -t ${REGISTRY}/feature-server:develop ${REGISTRY}/feature-server:${GITHUB_SHA}
       else
         docker tag ${REGISTRY}/${{ matrix.component }}:${GITHUB_SHA} ${REGISTRY}/${{ matrix.component }}:develop
         docker push ${REGISTRY}/${{ matrix.component }} --all-tags
       fi

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I modified the 'Build image' part to make one-liners.

@Anarion-zuo Anarion-zuo force-pushed the aaronzuo/arm_docker branch from 5724fab to 22f840e Compare March 6, 2026 13:58
Signed-off-by: aaronzuo <anarionzuo@outlook.com>
Signed-off-by: aaronzuo <anarionzuo@outlook.com>
Signed-off-by: aaronzuo <anarionzuo@outlook.com>
Signed-off-by: aaronzuo <anarionzuo@outlook.com>
Signed-off-by: aaronzuo <anarionzuo@outlook.com>
Signed-off-by: aaronzuo <anarionzuo@outlook.com>
@ntkathole ntkathole force-pushed the aaronzuo/arm_docker branch from 1dcc097 to 5cba559 Compare March 6, 2026 14:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants