Build artifacts for riscv64 by ffgan · Pull Request #2159 · google/go-containerregistry (original) (raw)

Hi there

Recently, riscv64(rv64) has gained widespread adoption, and we might consider adding rv64 support to the current repository. Go has excellent support for rv64, so we only need minor modifications to achieve rv64 artifact builds.

I tried the CI in my fork by tagging my commit and running it, and the results show everything works normally.

For details, see https://github.com/ffgan/go-containerregistry/actions/runs/19417813913

One thing that needs special mention: the setup-go step in .github/workflows/release.yml needs to be upgraded to 1.24, otherwise it will report the following error:

⨯ release failed after 0s error=failed to get module path: exit status 1: go: go.mod requires go >= 1.24 (running go 1.21.13; GOTOOLCHAIN=local)

Since I haven't seen tests for architectures other than x86, such as s390x, I haven't added or run tests for rv64. However, I believe this should work normally. If the maintainers think testing on specific architectures is necessary, we can use docker+qemu to implement it. I'd be happy to implement that part, but that should be a matter for another PR.

So, if there are any questions about the above, feel free to @ me directly anytime. I'm happy to answer all questions.


Otehr Info
Co-authored by: nijincheng@iscas.ac.cn;