-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Image Versioning & Deprecation Plan #36
Comments
This seems reasonable. Would the intention be that we'd use the S6 script to detect if someone is using an item that we're thinking of deprecating and warn in that case? At some point it would be great if we could get to where we don't have to include every version of certain toolsets (node I'm looking at you). In that case would you see the versions being something like build:2.0-php71-node8-...? |
For purposes of the s6 script, we could certainly issue deprecation warnings that way, but part of the idea is that if we associated the Docker tag I agree that we should get to the point of Actually, on second thought, I could see us going to that versioning scheme sooner, as we could conceivably create simple Dockerfiles that just override the NODE_VERSION default env. We'd still have nvm and 3 versions of node however. |
I don't think it's a critical thing to have the multiple versions, just curious if you had thoughts around the naming. If it doesn't save space on the images having a different version be the default I don't think warrants differential tagging at the moment. |
We can also investigate the use of ARG and parameter use the builds to get the variety we want. We would then transition off of automated builds and have something like Travis build for us. |
That dovetails nicely with testing all PRs. Let's take up build process and node support in a follow-up, unless its a prerequisite for v2? |
Node 4 and Bower are both hurtling rapidly towards deprecation, but we have existing projects that will depend on them for awhile yet.
EDIT: We also have the potential to drop Ruby as a default dependency, as a significant majority of projects do not use it and if utilities come up as necessary they could perhaps be implemented as customizations instead.
Deprecation Plan
Versioning Scheme
I propose a versioning scheme of ".-<lang.version>", with the result in projects of
outrigger/build:2.0-php71
. (Given this pattern, the version we recommend legacy projects switch to will beoutrigger/build:1.0-php70
or the like.)2.0-php71
.latest
but makes it easier to test merged changes ahead of a release.This is loosely the pattern I setup with outrigger/keel, without the language-specific extension.
Full Set of Tags
In this set of tags, I am demonstrating officially unsupporting PHP 5.5 and deprecating PHP 7.0.
EDIT: Added example tags, added a bullet to the bottom of Versioning Scheme about making the warnings disable-able, since warning output on build container operations is maddening and if a project legitimately needs to keep on Node 4 or Bower for a while we should have some mercy.
The text was updated successfully, but these errors were encountered: