-
Notifications
You must be signed in to change notification settings - Fork 115
Allow for proposed updates to be published in an isolated, staged manner #1373
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
Comments
[Triage] Keeping the single branch and just using distinct Dockerfiles/tags for staged updates is probably the simplest solution for now. It requires no new features/infra to support that. It's basically just a policy with documentation. Key actions that should be taken with this approach:
This should all be outlined in the README for contributors to reference. |
What is the proposed naming convention for the temporary staging images? Here's an idea. What if each image always had two floating tags. For example:
During normal operations both tags point to the "stable" image. If we need changes that might be destabilizing, then the
Repos can choose to always use the stable or staging version of the tag, or they could even have one leg per each tag. Swap |
One thing I think we should allow for is for multiple staged Dockerfiles for a given "base" image. We're in that situation today with #1371 and dotnet/runtime#112885 (comment). So I'd like to allow for flexibility and not be limited to a single Dockerfile for staging changes. |
As pointed out in #1371 (comment), it's important to be able to validate updates before they become "live" and used by release builds. But this requires that the proposed changes be applied in an isolated Dockerfile and still published to the registry so the resulting image can be referenced by a test build.
This kind of isolation can be done either with multiple branches (e.g. main and staging) or a single branch with distinct tags that separate out the staging Dockerfile from the production one.
The text was updated successfully, but these errors were encountered: