Add latest tag to all images created by dotnet-buildtools-prereqs-docker
This should be relatively simple, but a little annoying. Basically, we need to add a tag to every manifest.json in https://github.com/dotnet/dotnet-buildtools-prereqs-docker that is a descriptive latest tag (similar to the tags already in use). In addition, we need to parameterize it so that we can have a latest-staging tag for testing, as well as a latest tag for production. Dockerfiles that we have today:
| OS | Number of Dockerfiles | Complete |
|---|---|---|
| Alpine | 15 | |
| CBL-Mariner | 3 | |
| CentOS | 8 | |
| Debian | 16 | |
| Fedora | 4 | |
| NanoServer | 1 | |
| OpenSuse | 1 | |
| Raspbian | 2 | |
| Ubuntu | 59 | |
| WindowsServerCore | 4 |
Each dockerfile represents a tag that will need updating in a manifest.json.
For example, this tag entry for alpine 3.13:
"tags": {
"alpine-3.13-$(System:TimeStamp)-$(System:DockerfileGitCommitSha)": {},
"alpine-3.13": {
"isLocal": true
}
}
should be updated to
"tags": {
"alpine-3.13-$(System:TimeStamp)-$(System:DockerfileGitCommitSha)": {},
"alpine-3.13-latest": {},
"alpine-3.13": {
"isLocal": true
}
}
When we implement staging vs production, it will look like
"tags": {
"alpine-3.13-$(System:TimeStamp)-$(System:DockerfileGitCommitSha)": {},
"alpine-3.13-$(LatestTag)": {},
"alpine-3.13": {
"isLocal": true
}
}
where $(LatestTag) is latest on production and staging on any other branch, which would be specified in the yaml, likely in variables\common.yaml.