Page MenuHomePhabricator

Figure out how buildpack versioning is supposed to work
Open, MediumPublic

Description

In most cases users can just use the default buildpack builder which uses detection of runtime based on the repo contents and builds an image. For more complex compositions (e.g. a PHP web tool with a Python worker) users will probably create a project.toml file with a list of buildpacks with their versions to use.

Right now we're only distributing the buildpacks through the builder image, so I'm not exactly sure how it's going to find old buildpacks. Do we need to publish them as artifacts somewhere? Or use git tags? Or ...

Also it would be good to verify that these versions are semver compatible and not fixed.

Event Timeline

It seems like the answer is that we need to set up a buildpack registry of sorts https://github.com/buildpacks/spec/blob/main/extensions/buildpack-registry.md

That would also require us packaging/distributing each buildpack as an OCI image. We'll probably need some wrapper script for that.

Andrew triaged this task as Medium priority.Dec 8 2020, 5:56 PM