-
Notifications
You must be signed in to change notification settings - Fork 2k
Description
The staged builds for pre-release versions of .NET can be a mix of both public and internal builds amongst the .NET components. For example, the SDK and ASP.NET Core builds may be available only in the internal blob container while the associated runtime build may be available in the public container. This is problematic because the current infrastructure for being able to target internal builds of .NET requires that everything be in the internal blob container.
This is made apparent when looking at these variables:
dotnet-docker/manifest.versions.json
Lines 57 to 62 in b946b52
| "base-url|3.1|main": "$(base-url|public|maintenance-legacy|main)", | |
| "base-url|3.1|nightly": "$(base-url|public|maintenance-legacy|nightly)", | |
| "base-url|6.0|main": "$(base-url|public|maintenance|main)", | |
| "base-url|6.0|nightly": "$(base-url|public|maintenance|nightly)", | |
| "base-url|7.0|main": "$(base-url|public|main)", | |
| "base-url|7.0|nightly": "$(base-url|public|nightly)", |
You can see that, for a given .NET version, it's all expected to be either public or internal. There's no differentiation of repo for these variables. All the Dockerfiles (SDK, aspnet, runtime) use the same variable.
In order to support this, each repo needs to have its own variable which indicates its public/internal state. The Dockerfiles for each of those repos would then reference its respective variable.
That's the easy part. The harder part would be the changes necessary to the update-dependencies tool so that it can appropriate set these variables. It would need to interrogate the availability of the build between the different blob containers to determine which one it was in.
The other option would be to always have builds which are copied to the public blob container also get copied to the internal blob container. But storage costs would likely be a concern with that approach, I'm assuming. Is that an option, @mmitche?
Metadata
Metadata
Assignees
Type
Projects
Status