Skip to content

feat(ci/linux-packages): add arm64 linux packages - #4899

Open
linl33 wants to merge 4 commits into
apache:mainfrom
linl33:linux-pkg-arm
Open

linl33 wants to merge 4 commits into
apache:mainfrom
linl33:linux-pkg-arm

Conversation

@linl33

@linl33 linl33 commented Oct 15, 2026 •

Copy link
Copy Markdown

Add arm64 build to all current linux package targets.

Replaces #3004
Closes #4898

Comment on lines +50 to +58
ARG TARGETPLATFORM
RUN if [[ ${TARGETPLATFORM} == "linux/amd64" ]]; then \
ARCH="amd64"; \
elif [[ ${TARGETPLATFORM} == "linux/arm64" ]]; then \
ARCH="arm64"; \
else \
echo "Unsupported platform: ${TARGETPLATFORM}"; \
exit 1; \
fi && \

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.

Can we use arch or something instead of adding a new build argument?

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

I replaced it with arch. TARGETPLATFORM is just a build arg docker populates.

Comment thread .github/workflows/packaging.yml Outdated
Comment on lines +397 to +409
target:
- almalinux-8
- almalinux-9
- almalinux-10
- debian-trixie
- ubuntu-jammy
- ubuntu-noble
include:
- { target: almalinux-8, runner: ubuntu-latest }
- { target: almalinux-8-aarch64, runner: ubuntu-24.04-arm }
- { target: almalinux-9, runner: ubuntu-latest }
- { target: almalinux-9-aarch64, runner: ubuntu-24.04-arm }
- { target: almalinux-10, runner: ubuntu-latest }
- { target: almalinux-10-aarch64, runner: ubuntu-24.04-arm }
- { target: debian-trixie, runner: ubuntu-latest }
- { target: debian-trixie-arm64, runner: ubuntu-24.04-arm }
- { target: ubuntu-jammy, runner: ubuntu-latest }
- { target: ubuntu-jammy-arm64, runner: ubuntu-24.04-arm }
- { target: ubuntu-noble, runner: ubuntu-latest }
- { target: ubuntu-noble-arm64, runner: ubuntu-24.04-arm }

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.

Can we define only the distribution part such as almalinux-8 and the architecture part such as arm64 and compute target and runner from them? For example:

    linux:
      name: Linux ${{ matrix.distribution }} ${{ matrix.architecture }}
      runs-on: ${{ matrix.architecture == 'arm64' && 'ubuntu-24.04-arm' || 'ubuntu-latest' }}
      needs:
        - source
      strategy:
        fail-fast: false
        matrix:
          distribution:
            - almalinux-8
            - almalinux-9
            - almalinux-10
            - debian-trixie
            - ubuntu-jammy
            - ubuntu-noble
          architecture:
            - amd64
            - arm64
      env:
        # amd64: almalinux-10, debian-trixie, ...
        # arm64: almalinux-10-aarch64, debian-trixie-arm64, ...
        TARGET: >-
          ${{ matrix.distribution }}${{
            matrix.architecture == 'arm64' &&
              (startsWith(matrix.distribution, 'almalinux-') && '-aarch64' || '-arm64') ||
              ''
          }}

@linl33
linl33 requested a review from kou October 16, 2026 06:48

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Provide arm64 linux packages

2 participants