cloud_provider installs the amd64 cloud-provider-kind binary on arm64 runners

Closed Beginner friendly
#173 0 comments 0 reactions 0 assignees View on GitHub

A pull request for this has already been merged.

  • #174 by @RaphaelFakhri — merged

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
78/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Active
Tech stack
github-actions, kubernetes, linux, shell

Research direction

Start by reading kind.sh, where cloud-provider-kind is downloaded and installed; check how the runner architecture is detected and how release archive names are formed. Reproduce on an arm64 Linux runner and inspect the installed binary with file. Done when the action selects the matching release archive for arm64 and the binary runs there.

Written by the indexing model from the issue text.

Description

With cloud_provider: true, kind.sh always downloads cloud-provider-kind_<version>_linux_amd64.tar.gz. On arm64 Linux runners such as ubuntu-24.04-arm, the action installs an x86_64 binary to /usr/local/bin/cloud-provider-kind. The binary cannot run there, so LoadBalancer services never receive an external IP. The action step itself passes because cloud-provider-kind starts in the background and its error only goes to /tmp/cloud-provider.log.

Steps to reproduce

jobs:
  test:
    runs-on: ubuntu-24.04-arm
    steps:
      - uses: helm/kind-action@main
        with:
          cloud_provider: true
      - run: |
          file /usr/local/bin/cloud-provider-kind
          cat /tmp/cloud-provider.log

Expected behavior

The action installs cloud-provider-kind_<version>_linux_arm64.tar.gz, which the cloud-provider-kind release already publishes, and the binary matches the runner architecture.

Actual behavior

file reports ELF 64-bit LSB executable, x86-64, and cloud-provider-kind does not run.

Dominant language
Shell
Stars
383
Forks
98
Avg merge
1d 18h
Merged PRs (30d)
3

Getting set up

This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from helm/kind-action

All issues in helm/kind-action

Similar issues

More Shell/Bash issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.