arcade icon indicating copy to clipboard operation
arcade copied to clipboard

Add latest tag to all images created by dotnet-buildtools-prereqs-docker

Open michellemcdaniel opened this issue 3 years ago • 0 comments

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.

michellemcdaniel avatar Aug 10 '22 20:08 michellemcdaniel