Skip to content

Bug: linux/arm64 image is never builtΒ #5429

Closed

Description

@mifengwei

πŸ› Bug: linux/arm64 image is never built

Description

The matrix exclude condition in .github/workflows/docker-build.yml contains a logic error that causes linux/arm64 to be excluded on every trigger β€” tag pushes and branch pushes alike. As a result, no ARM image has ever been built or pushed.

Root Cause

exclude:
  - platform: ${{ github.ref != 'tag' && 'linux/arm64' }}

github.ref holds the full Git ref path (e.g. refs/heads/main, refs/tags/v1.0.0). It will never equal the bare string 'tag', so the expression is always true and linux/arm64 is permanently excluded from the matrix.

Impact

  • Every published multi-arch manifest actually contains only linux/amd64
  • ARM devices (Raspberry Pi, Apple Silicon hosts, AWS Graviton, etc.) silently fall back to the amd64 layer, causing degraded performance or outright failure
  • All historical releases are affected

Steps to Reproduce

  1. Push any v* tag
  2. Check the Actions run β€” the linux/arm64 matrix entry is absent from make-upload-docker
  3. Run docker buildx imagetools inspect ghcr.io/hiddify/hiddify-manager:<tag> and confirm only amd64 appears in the manifest

Proposed Fix

Remove the broken exclude block and raise timeout-minutes from 10 to 60 (ARM cross-compilation via QEMU typically takes 5–10Γ— longer than amd64):

strategy:
  fail-fast: true
  matrix:
    platform:
      - linux/amd64
      - linux/arm64
      # exclude block removed

Optional: If you want to build arm64 only on tag pushes to save CI minutes, the reliable approach is a step-level condition rather than a matrix exclude expression (matrix excludes have incomplete support for context variables in GitHub Actions):

- name: Build and push by digest
  if: matrix.platform != 'linux/arm64' || github.ref_type == 'tag'

Expected Behavior

After pushing a v* tag, the manifest for ghcr.io/hiddify/hiddify-manager should list both linux/amd64 and linux/arm64 platforms.

Activity

  1. added
    usefulTriaged: real bug or improvement worth keeping
    on Oct 25, 2026
  2. moved this from Todo to In Progress in Hiddify Panelon Oct 26, 2026
  3. hiddify-com commented on Oct 27, 2026

    @hiddify-com
    Collaborator

    Fixed in 05a8dd7 (dev branch, after v14.1.0b1; not in a stable or beta release yet): the docker workflow now builds linux/arm64 images. If it still happens on the latest version once this ships, please reopen this issue.

  4. moved this from In Progress to Done in Hiddify Panelon Oct 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    usefulTriaged: real bug or improvement worth keeping

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions