Enable installation of go on ppc64/ppc64le systems
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 1.8k
- Forks
- 673
- Avg merge
- 6d 28m
- Merged PRs (30d)
- 4
Description
Description:
Enable setup-go on ppc64le systems. I do see there is a block of code to related to this, which is commented.
https://github.com/actions/setup-go/blob/41dfa10bad2bb2ae585af6ee5bb4d7d973ad74ed/src/system.ts#L27-L29
However, with NodeJS not having the capability to determine the endianness of the host using the generic os.arch() call, it is imperative to have os.endianness() differentiate and pick bundles for installation on ppc64/ppc64le systems.
I am using a self-hosted ppc64le system, on which the issue was observed.
Run actions/setup-go@41dfa10bad2bb2ae585af6ee5bb4d7d973ad74ed
with:
go-version: 1.[2](https://github.com/kishen-v/cri-o/actions/runs/11957574849/job/33337601992#step:3:2)3
check-latest: false
token: ***
cache: true
env:
GO_VERSION: 1.2[3](https://github.com/kishen-v/cri-o/actions/runs/11957574849/job/33337601992#step:3:3)
CONMON_BINARY: /usr/local/bin/conmon
Setup go version spec 1.23
Found in cache @ /home/ghrunner/runner/_layout/_work/_tool/go/1.23.3/ppc6[4](https://github.com/kishen-v/cri-o/actions/runs/11957574849/job/33337601992#step:3:4)
Added go to the path
Successfully set up Go version 1.23
/bin/sh: line 1: /home/ghrunner/runner/_layout/_work/_tool/go/1.23.3/ppc[6](https://github.com/kishen-v/cri-o/actions/runs/11957574849/job/33337601992#step:3:6)4/bin/go: cannot execute binary file: Exec format error
Error: Command failed: go env GOPATH
/bin/sh: line 1: /home/ghrunner/runner/_layout/_work/_tool/go/1.23.3/ppc64/bin/go: cannot execute binary file: Exec format error
Justification:
This change can help to install go on ppc64/ppc64le systems using setup-go, which are added as self-hosted runners.
Are you willing to submit a PR?
Yes.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start in src/system.ts at lines 27-29 and inspect the existing commented architecture handling, including Node.js os.arch() and os.endianness(). Reproduce setup-go on a self-hosted ppc64/ppc64le runner and verify that the selected Go bundle executes successfully and go env GOPATH completes.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go, node.js, typescript
- Domain
- ci-cd, operating-systems, tooling
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100