Page MenuHomePhabricator

Document how to update heroku-builder:22 container image
Closed, ResolvedPublic

Description

I tried to figure out how our build service setup picks up heroku buildpacks so I could update the nodejs buildpack to its latest version. (T353557#9410507).

However, the admin docs mostly focus on how to check if the various software we deployed is alive. It should have information on how the build process works, what third-party projects we use for it and how to update them, etc.

Event Timeline

It seems like the buildpack versions are embedded in the stack image so we need to update that.

There is a bunch of stuff in https://wikitech.wikimedia.org/wiki/Portal:Toolforge/Previous_Efforts/Toolforge_Build_Service and subpages, but I'm not sure if what Taavi is looking for is buried in there or not. There is also https://wikitech.wikimedia.org/wiki/Portal:Toolforge/Ongoing_Efforts/Toolforge_Workgroup and subpages which is apparently related.

taavi renamed this task from Build service admin documentation is lacking on how build process works to Document how build service build process pulls in buildpacks and how to update them.Dec 15 2023, 11:05 PM

https://wikitech.wikimedia.org/wiki/Wikimedia_Cloud_Services_team/EnhancementProposals/Decision_record_T330102_What_buildpacks_to_allow_and_include_for_toolforge_build_service_beta is likely the relevant decision request here, although that says that the option chosen was to "Use our own builder [image] [...]" but as far as I can tell we're just using the upstream Heroku builder image?

Ok, as far as I can tell that was never implemented. (Left a comment on that task asking if we still want to do that.) So now the question is how to safely update the upstream image. It's at least not included in the cookbook that some of the buildservice-related images use.

taavi renamed this task from Document how build service build process pulls in buildpacks and how to update them to Document how to update heroku-builder:22 container image.Dec 15 2023, 11:35 PM

I added some hints in the other task, all you need to do is:

podman pull heroku/builder:22
podman login tools-harbor.wmcloud.org (or tools beta)
podman tag heroku/builder:22 tools-harbor.wmcloud.org/toolforge/heroku-builder:22
podman push tools-harbor.wmcloud.org/toolforge/heroku-builder:22

And on the builds-builder side, in the inject_buildpacks.sh script, replace the nodejs version string with the new version (6.1.4 iirc).