Closed cmer closed 4 years ago
Not really. I have to test each version to make sure that the patches apply cleanly, and that no new patches are required for any added functionality. This makes blindly building from upstream a problem unless somebody's going to test it first, which isn't a trivial thing when there's so much functionality. Frankly, I keep discovering new things that need patching in 2.2.2 (like 422e76f0c2e), without yet seeing what 2.2.19 is gonna break or add to the picture.
At some point, though, I should have a way to manage that, but it will involve extracting and diffing upstream releases to find out what was changed and whether it impacts the patches. Even so, I can't see how that could be automatic, so it will still require human review.
Now, would it make sense to turn the upstream into an ARG
so you can custom build based on a specific upstream version? Absolutely. So I've just added that in b310e9b. Now you can just add something like:
image: dirtsimple/poste.io:dev
build:
context: https://github.com/dirtsimple.org/poste.io.git
args:
- UPSTREAM=2.2.19
to your service definition and docker-compose build servicename
. (But of course, you'll be using code that may or may not work, since I haven't tested against 2.2.19 yet.)
Update: As of 333667d, the unstable
tag tracks upstream 2.2.19. A lot of changes were required, so depending on an upstream of 2
would definitely not have worked. (In particular, most of the web UI would have broken, as well as the haraka rspamd plugin.)
This is awesome and makes a lot of sense. Thanks!
Would you consider changing
FROM analogic/poste.io:2.2.2
toFROM analogic/poste.io:2
in order to benefit from updates made to poste.io?