lucet icon indicating copy to clipboard operation
lucet copied to clipboard

Automate pushing fastly/lucet docker image

Open tyler opened this issue 5 years ago • 5 comments

The fastly/lucet image on Docker Hub is currently manually pushed by @jedisct1. We should automate and document its existence.

tyler avatar Apr 10 '19 21:04 tyler

The Docker Hub can automatically rebuild an image after a git commit in a specific branch.

It also supports dependencies, so that if the base image is updated, dependent images can automatically be updated.

So, one way to achieve that can be to create a stable branch that we merge code from the master branch when we feel comfortable having a new image built.

This needs to be monitored, though. I've been using these features for quite some time, and the Docker Hub hasn't always been very reliable.

jedisct1 avatar Apr 10 '19 22:04 jedisct1

Think it would be worth doing two images? One for bleeding edge master commits, and another for stable once we start doing more regular releases?

tyler avatar Apr 10 '19 22:04 tyler

I'm not convinced that this is necessary.

master is development code. It can have breaking changes. It can introduce code that's still in very early stage. Documentation will not be present or up to date. Tools that haven't been updated can stop being compatible with the rest of the code.

And people will open tickets about why their code doesn't compile any more. Why the paths changed. How to use that library whose first bits were committed 5 minutes ago.

Handling these tickets is time consuming. It also prevents authors and contributors from iterating quickly. People who need the bleeding edge are people who want to hack on Lucet code itself, and they don't need a pre-built image.

stable is the branch virtually everybody should use. And it can be updated frequently. It doesn't track point releases, it's a rolling release. Major bug fixes will be immediately merged. Everything else will be merged every time the repository is in a consistent state (documentation is up to date, all the tools work together).

jedisct1 avatar Apr 10 '19 23:04 jedisct1

master can also be the stable branch and dev a branch we hack on.

But my point is that if we publish a Docker image updated after every single commit, a lot of people will use it because it only because it's fresher, so it has to be "better". Whereas it may not be the case.

We want people to always have a good experience with Lucet. And the best way to do it is to provide only something that's in a consistent state and works as documented. If the bleeding edge image doesn't work as expected, newcomers may not even try the stable one.

Just my 2 cents.

jedisct1 avatar Apr 10 '19 23:04 jedisct1

That works. Let's do it. :)

tyler avatar Apr 11 '19 20:04 tyler