Skip to content

Conversation

@kishen-v
Copy link

@kishen-v kishen-v commented Nov 25, 2024

Description:
This change enables to install go on ppc64/ppc64le systems based on endianness.
The existing flow tends to pick ppc64 bundle for both big endian/little endian machines as os.arch() does not have the capability to determine the endianness, which leads to installing an unsupported bundle in the case of ppc64le.

Related issue:
Fixes #517

Check list:

  • Mark if documentation changes are required.
  • Mark if tests were added or updated to cover the changes.
 go-version-file
      ✓ reads version from go.mod (1 ms)
      ✓ reads version from go.work (1 ms)
      ✓ reads version from .go-version (1 ms)
      ✓ is overwritten by go-version
      ✓ reports a read failure
      ✓ acquires specified architecture of go (2 ms)
      ✓ acquires latest go version with stable go-version input
      ✓ acquires latest go version with oldstable go-version input
      ✓ should return ppc64 when architecture is ppc64 and system is Big Endian <-----
      ✓ should return ppc64le when architecture is ppc64 and system is Little Endian <-----

---------------------|---------|----------|---------|---------|---------------------------------------------------
File                 | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s                                 
---------------------|---------|----------|---------|---------|---------------------------------------------------
All files            |    87.5 |    82.35 |   91.83 |    87.4 |                                                   
 cache-restore.ts    |   81.57 |    57.14 |   66.66 |   81.08 | 54-65                                             
 cache-utils.ts      |     100 |      100 |     100 |     100 |                                                   
 constants.ts        |     100 |      100 |     100 |     100 |                                                   
 installer.ts        |   82.41 |    81.01 |      88 |   82.56 | 55-57,113,182,187-220,343,381-385,413,435-459,474 
 main.ts             |   92.94 |    78.26 |     100 |   92.94 | 56,68-77                                          
 package-managers.ts |     100 |      100 |     100 |     100 |                                                   
 system.ts           |   89.47 |    85.71 |     100 |   89.47 | 41-42                                             
 utils.ts            |     100 |      100 |     100 |     100 |                                                   
---------------------|---------|----------|---------|---------|---------------------------------------------------
Test Suites: 4 passed, 4 total
Tests:       72 passed, 72 total
Snapshots:   0 total
Time:        2.795 s
Ran all test suites.

@kishen-v kishen-v requested a review from a team as a code owner November 25, 2024 05:18
@kishen-v kishen-v force-pushed the ppc64le branch 3 times, most recently from 00beeea to 9474567 Compare November 26, 2024 02:12
@kishen-v
Copy link
Author

kishen-v commented Jan 8, 2025

Hi @priyagupta108,

A gentle reminder for your review on this PR when time permits.

Thanks!

@kishen-v
Copy link
Author

Hi @HarithaVattikuti, @priya-kinthali and @aparnajyothi-y,

Could you please take a look at the changes in this PR and let me know your thoughts?

Thanks!

@kishen-v
Copy link
Author

Hi @HarithaVattikuti, @priya-kinthali @aparnajyothi-y and @priyagupta108,

Could you please take a look at the changes in this PR and let me know your thoughts?

Thanks!

1 similar comment
@kishen-v
Copy link
Author

Hi @HarithaVattikuti, @priya-kinthali @aparnajyothi-y and @priyagupta108,

Could you please take a look at the changes in this PR and let me know your thoughts?

Thanks!

@kishen-v
Copy link
Author

Hey @HarithaVattikuti, @priya-kinthali @aparnajyothi-y and @priyagupta108,

Can you please help to review this PR when time permits? I'm really looking forward to having this support added to enable installation of Go through GH actions and would be happy to address comments if any.

Thanks!

@kishen-v
Copy link
Author

Hey @HarithaVattikuti, @aparnajyothi-y and @priyagupta108,

I'm really looking forward to having these changes added to main. Kindly help to review this PR when time permits. Please let me know if there are any concerns.

Thanks!

@kishen-v
Copy link
Author

Hey @HarithaVattikuti, @aparnajyothi-y and @priyagupta108,

I'm really looking forward to having these changes added to main. Kindly help to review this PR when time permits. Please let me know if there are any concerns. It's close to a year. Even a simple comment on what could be the next steps can help me do the needful to have the changes merged.

Thanks!

1 similar comment
@kishen-v
Copy link
Author

kishen-v commented Nov 6, 2025

Hey @HarithaVattikuti, @aparnajyothi-y and @priyagupta108,

I'm really looking forward to having these changes added to main. Kindly help to review this PR when time permits. Please let me know if there are any concerns. It's close to a year. Even a simple comment on what could be the next steps can help me do the needful to have the changes merged.

Thanks!

@gowridurgad
Copy link

Hi @kishen-v, Thank you for the contribution! just to clarify the practical impact of this change, GitHub-hosted runners currently do not support ppc64 or ppc64le architectures. Even if this PR is merged, it will not enable ppc64le on hosted runners, as the Go binary still cannot run without a matching runner. However, if you are using a self-hosted runner configured for ppc64le, the action should attempt to download the correct binaries.

Please try explicitly setting the architecture in your workflow as follows and verify that it is downloading the correct binaries:

- uses: actions/setup-go@v6
  with:
    go-version: '1.25.1'
    architecture: 'ppc64le'

@kishen-v
Copy link
Author

Hey @gowridurgad,

Thanks for taking a look at the PR. You’re absolutely right that GitHub hosted runners don’t currently support PowerPC.

That said, since the existing code comment already notes that it’s future-proofed, this change helps make the action usable on self-hosted runners. Without it, users would need to maintain an additional workflow file just for the ppc64le architecture.

With the recent announcement about GitHub Actions support for IBM Power, IBM Z, and IBM LinuxONE
, this change would also help us plug in compatible runners seamlessly as that support expands.

Please consider this change to help enable easier support for Power based runners going forward.

Thanks!!

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.

Enable installation of go on ppc64/ppc64le systems

2 participants