Skip to content

Commit a2d7965

Browse files
authored
Merge pull request #183 from corbob/174-docker-latest
(#174) Don't always push latest tag to docker
2 parents f1023ff + 92be168 commit a2d7965

File tree

1 file changed

+13
-11
lines changed

1 file changed

+13
-11
lines changed

Chocolatey.Cake.Recipe/Content/docker.cake

+13-11
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ BuildParameters.Tasks.DockerPush = Task("DockerPush")
6666
});
6767

6868
BuildParameters.Tasks.DockerTagAsLatest = Task("DockerTagAsLatest")
69-
.WithCriteria(() => BuildParameters.IsTagged && BuildParameters.Version.MajorMinorPatch == BuildParameters.Version.FullSemVersion, "Skipping because this isn't a tagged full release build.")
69+
.WithCriteria(() => BuildParameters.BranchType == BranchType.Master && BuildParameters.IsTagged && BuildParameters.Version.MajorMinorPatch == BuildParameters.Version.FullSemVersion, "Skipping because this isn't a tagged full release build.")
7070
.WithCriteria(() => BuildParameters.DockerCredentials.HasCredentials, "Skipping because Docker Credentials were not provided.")
7171
.WithCriteria(() => BuildParameters.ShouldRunDocker, "Skipping because running Docker tasks is not enabled")
7272
.IsDependentOn("DockerLogin")
@@ -116,14 +116,16 @@ BuildParameters.Tasks.DockerManifest = Task("DockerManifest")
116116

117117
DockerManifestPush(manifestListName);
118118

119-
// Create the latest manifest
120-
DockerManifestCreate(
121-
string.Format("{0}/{1}:latest", BuildParameters.RepositoryOwner, BuildParameters.RepositoryName),
122-
string.Format("{0}/{1}:latest-windows", BuildParameters.RepositoryOwner, BuildParameters.RepositoryName),
123-
new string[] {
124-
string.Format("{0}/{1}:latest-linux", BuildParameters.RepositoryOwner, BuildParameters.RepositoryName)
125-
}
126-
);
127-
128-
DockerManifestPush(string.Format("{0}/{1}:latest", BuildParameters.RepositoryOwner, BuildParameters.RepositoryName));
119+
// Create the latest manifest only if this is the master branch.
120+
if (BuildParameters.BranchType == BranchType.Master) {
121+
DockerManifestCreate(
122+
string.Format("{0}/{1}:latest", BuildParameters.RepositoryOwner, BuildParameters.RepositoryName),
123+
string.Format("{0}/{1}:latest-windows", BuildParameters.RepositoryOwner, BuildParameters.RepositoryName),
124+
new string[] {
125+
string.Format("{0}/{1}:latest-linux", BuildParameters.RepositoryOwner, BuildParameters.RepositoryName)
126+
}
127+
);
128+
129+
DockerManifestPush(string.Format("{0}/{1}:latest", BuildParameters.RepositoryOwner, BuildParameters.RepositoryName));
130+
}
129131
});

0 commit comments

Comments
 (0)