Hi Francesco,
You should be able to use Go 1.23 or 1.24 by putting that version in
go.mod. [1]
Hm, is the build service perhaps using an old version of Heroku's Go buildpack? According to the logs [below], it looks like it's still on heroku/go 0.1.13, whereas the current release [1] would be 0.5.8 [2]? Assuming I'm looking at the repo that is the upstream for Toolforge Build Service; not sure if that's the case.
$ toolforge build start https://github.com/brawer/osmviews.git
[step-detect] 2025-04-23T16:19:39.378722944Z 2 of 4 buildpacks participating [step-detect] 2025-04-23T16:19:39.378824612Z heroku/go 0.1.13 [step-detect] 2025-04-23T16:19:39.378846748Z heroku/procfile 2.0.2 [step-restore] 2025-04-23T16:19:27.438843274Z 2025/04/23 16:19:27 warning: unsuccessful cred copy: ".docker" from "/tekton/creds" to "/tekton/home": unable to open destination: open /tekton/home/.docker/config.json: permission denied [step-build] 2025-04-23T16:19:39.927624509Z [step-build] 2025-04-23T16:19:39.927733310Z [Reading build configuration] [step-build] 2025-04-23T16:19:39.936762188Z Detected Go version requirement: =1.24.2 [step-build] 2025-04-23T16:19:39.938055432Z [step-build] 2025-04-23T16:19:39.938089303Z [Error: Heroku Go Buildpack version resolution error] [step-build] 2025-04-23T16:19:39.938099399Z Couldn't resolve go version for: =1.24.2 [step-build] 2025-04-23T16:19:39.940494876Z ERROR: failed to build: exit status 1
[1] https://github.com/heroku/buildpacks-go/releases [2] https://github.com/heroku/buildpacks-go/releases/tag/v0.5.8
Anyhow, thanks so much for your help! Best,
— Sascha
Am Mi., 23. Apr. 2025 um 15:55 Uhr schrieb Francesco Negri < fnegri@wikimedia.org>:
On Wed, Apr 23, 2025 at 3:08 PM Sascha Brawer via Cloud cloud@lists.wikimedia.org wrote:
Which version of golang does the toolforge build service currently
support? Could it be upgraded to a recent version, such as go 1.23 or 1.24?
Hi Sascha, we support the same versions supported by the upstream Heroku Go buildpack. [0] You should be able to use Go 1.23 or 1.24 by putting that version in go.mod. [1]
Somewhat related: Has it been considered to support building containers
from a regular Dockerfile/Containerfile? From my personal perspective, I'm not sure if Heroku buildpacks give much value for all their complexity; if I could, I'd rather run "podman build" from a gitlab runner. But that's just my personal opinion as a user;. Surely this has been discussed before?
Yes, this was discussed a few times, but at the moment we have decided not to support this. [2] Using buildpacks gives us more control on the way the container images are built.
We understand that some users would prefer using Dockerfiles, but we also believe that buildpacks should be able to cover most or all use cases. If you have something that you are struggling to deploy with buildpacks, we always welcome bug reports and feature requests. :)
Francesco
[0] https://github.com/heroku/buildpacks-go [1] https://devcenter.heroku.com/articles/go-modules [2] https://wikitech.wikimedia.org/wiki/Wikimedia_Cloud_Services_team/Enhancemen...
-- Francesco Negri (he/him) -- IRC: dhinus Site Reliability Engineer, Cloud Services team Wikimedia Foundation