Skip to content

feat: build ARM64-based UBI starter image - #4474

Merged
leseb merged 1 commit into
ogx-ai:mainfrom
rhdedgar:arm_ubi_starter
Jan 9, 2026
Merged

leseb merged 1 commit into
ogx-ai:mainfrom
rhdedgar:arm_ubi_starter

Conversation

@rhdedgar

@rhdedgar rhdedgar commented Jan 9, 2026

Copy link
Copy Markdown
Contributor

What does this PR do?

Adds the new workflow build-starter-ubi9-arm64-container which validates building the starter distribution on UBI9 using ARM64 architecture.

Follows up on a comment in PR #4290, which added multi-arch ARM64 build support.

@leseb for awareness

Test Plan

Commit hooks pass and builds complete without error on a PR in my fork.

Signed-off-by: Doug Edgar <dedgar@redhat.com>
@meta-cla meta-cla Bot added the CLA Signed This label is managed by the Meta Open Source bot. label Jan 9, 2026
Comment on lines +232 to +280
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1

- name: Install dependencies
uses: ./.github/actions/setup-runner

- name: Set up QEMU for ARM64 emulation
uses: docker/setup-qemu-action@49b3bc8e6bdd4a60e6116a5414239cba5943d3cf

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@e468171a9de216ec08956ac3ada2f0791b6bd435

- name: Build starter distribution on UBI9 ARM64
run: |
BASE_IMAGE="registry.access.redhat.com/ubi9:latest"
BUILD_ARGS="--build-arg INSTALL_MODE=editable --build-arg DISTRO_NAME=starter"
BUILD_ARGS="$BUILD_ARGS --build-arg BASE_IMAGE=$BASE_IMAGE"
if [ -n "${UV_EXTRA_INDEX_URL:-}" ]; then
BUILD_ARGS="$BUILD_ARGS --build-arg UV_EXTRA_INDEX_URL=$UV_EXTRA_INDEX_URL"
fi
if [ -n "${UV_INDEX_STRATEGY:-}" ]; then
BUILD_ARGS="$BUILD_ARGS --build-arg UV_INDEX_STRATEGY=$UV_INDEX_STRATEGY"
fi
docker buildx build --platform linux/arm64 --load . \
-f containers/Containerfile \
$BUILD_ARGS \
--tag llama-stack:starter-ubi9-arm64

- name: Inspect starter UBI9 ARM64 image
run: |
IMAGE_ID=$(docker images --format "{{.Repository}}:{{.Tag}}" | head -n 1)
if [ -z "$IMAGE_ID" ]; then
echo "No image found"
exit 1
fi
entrypoint=$(docker inspect --format '{{ .Config.Entrypoint }}' $IMAGE_ID)
echo "Entrypoint: $entrypoint"
if [ "$entrypoint" != "[/usr/local/bin/llama-stack-entrypoint.sh]" ]; then
echo "Entrypoint is not correct"
exit 1
fi

echo "Checking /etc/os-release in $IMAGE_ID"
docker run --rm --platform linux/arm64 --entrypoint sh "$IMAGE_ID" -c \
'source /etc/os-release && echo "$ID"' \
| grep -qE '^(rhel|ubi)$' \
|| { echo "Base image is not UBI 9!"; exit 1; }

Check warning

Code scanning / CodeQL

Workflow does not contain permissions Medium

Actions job or workflow does not limit the permissions of the GITHUB_TOKEN. Consider setting an explicit permissions block, using the following as a minimal starting point: {contents: read}

@leseb leseb left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

All the arm builds take around 20min, this is drastically add CI running time. Prior the CI used to run within a few minutes.
Can we run these on a nightly instead?

Please open up a followup PR for that :)

@leseb
leseb merged commit 654360d into ogx-ai:main Jan 9, 2026
39 checks passed
leseb pushed a commit that referenced this pull request Jan 12, 2026
# What does this PR do?
Follows up on #4474 and #4290, making the ARM64 builds only run on a
nightly cadence, instead of on every PR. This was done because the ARM64
builds take significantly longer to complete than the others.

@leseb for awareness

<!-- If resolving an issue, uncomment and update the line below -->
<!-- Closes #[issue-number] -->

## Test Plan
Commit hooks pass and builds complete without error on a PR in my fork.

Signed-off-by: Doug Edgar <dedgar@redhat.com>
mergify Bot pushed a commit that referenced this pull request Jan 12, 2026
# What does this PR do?
Follows up on #4474 and #4290, making the ARM64 builds only run on a
nightly cadence, instead of on every PR. This was done because the ARM64
builds take significantly longer to complete than the others.

@leseb for awareness

<!-- If resolving an issue, uncomment and update the line below -->
<!-- Closes #[issue-number] -->

## Test Plan
Commit hooks pass and builds complete without error on a PR in my fork.

Signed-off-by: Doug Edgar <dedgar@redhat.com>
(cherry picked from commit a5c44a0)

# Conflicts:
#	.github/workflows/providers-build.yml
franciscojavierarceo pushed a commit to franciscojavierarceo/llama-stack that referenced this pull request Jan 16, 2026
# What does this PR do?
Adds the new workflow `build-starter-ubi9-arm64-container` which
validates building the starter distribution on UBI9 using ARM64
architecture.

Follows up on a comment in PR ogx-ai#4290, which added multi-arch ARM64 build
support.

<!-- If resolving an issue, uncomment and update the line below -->
<!-- Closes #[issue-number] -->

@leseb for awareness

## Test Plan
Commit hooks pass and builds complete without error on a PR in my fork.

Signed-off-by: Doug Edgar <dedgar@redhat.com>
franciscojavierarceo pushed a commit to franciscojavierarceo/llama-stack that referenced this pull request Jan 16, 2026
# What does this PR do?
Follows up on ogx-ai#4474 and ogx-ai#4290, making the ARM64 builds only run on a
nightly cadence, instead of on every PR. This was done because the ARM64
builds take significantly longer to complete than the others.

@leseb for awareness

<!-- If resolving an issue, uncomment and update the line below -->
<!-- Closes #[issue-number] -->

## Test Plan
Commit hooks pass and builds complete without error on a PR in my fork.

Signed-off-by: Doug Edgar <dedgar@redhat.com>
JayDi11a pushed a commit to JayDi11a/llama-stack that referenced this pull request Jan 23, 2026
# What does this PR do?
Adds the new workflow `build-starter-ubi9-arm64-container` which
validates building the starter distribution on UBI9 using ARM64
architecture.

Follows up on a comment in PR ogx-ai#4290, which added multi-arch ARM64 build
support.

<!-- If resolving an issue, uncomment and update the line below -->
<!-- Closes #[issue-number] -->

@leseb for awareness

## Test Plan
Commit hooks pass and builds complete without error on a PR in my fork.

Signed-off-by: Doug Edgar <dedgar@redhat.com>
JayDi11a pushed a commit to JayDi11a/llama-stack that referenced this pull request Jan 23, 2026
# What does this PR do?
Follows up on ogx-ai#4474 and ogx-ai#4290, making the ARM64 builds only run on a
nightly cadence, instead of on every PR. This was done because the ARM64
builds take significantly longer to complete than the others.

@leseb for awareness

<!-- If resolving an issue, uncomment and update the line below -->
<!-- Closes #[issue-number] -->

## Test Plan
Commit hooks pass and builds complete without error on a PR in my fork.

Signed-off-by: Doug Edgar <dedgar@redhat.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CLA Signed This label is managed by the Meta Open Source bot.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants