Skip to content

Commit 7aacf0c

Browse files
committed
#369 Separate Docker build(s)
Locally we build for the respective platform and test with it. Then we build a multi-platform image and push that to the Registry.
1 parent 1bb0eb3 commit 7aacf0c

File tree

1 file changed

+16
-1
lines changed

1 file changed

+16
-1
lines changed

htmlSanityCheck-cli/build.gradle

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,6 @@ def dockerTags(Project project) {
4949
docker {
5050
registry = "ghcr.io"
5151
repository = "aim42/hsc"
52-
platforms = ["linux/amd64", "linux/arm64"]
5352
buildArgs = [VERSION: project.version]
5453
dockerFilePath = "."
5554
tags = dockerTags(project)
@@ -60,9 +59,25 @@ tasks.register('dockerBuildLocal', com.fussionlabs.gradle.docker.tasks.DockerBui
6059
loadImage = true
6160
pushImage = false
6261

62+
def arch = System.getProperty("os.arch")
63+
project.extensions.getByType(com.fussionlabs.gradle.docker.DockerPluginExtension).platforms = ["linux/${(arch == 'amd64') ? 'amd64' : 'arm64'}"]
64+
logger.quiet("Using Docker platform(s): ${project.extensions.getByType(com.fussionlabs.gradle.docker.DockerPluginExtension).platforms} (for arch '${arch}')")
65+
6366
dependsOn shadowJar
6467
}
6568

69+
tasks.register('dockerBuildMulti', com.fussionlabs.gradle.docker.tasks.DockerBuildx) {
70+
loadImage = false
71+
pushImage = true
72+
73+
project.extensions.getByType(com.fussionlabs.gradle.docker.DockerPluginExtension).platforms = ["linux/amd64", "linux/arm64"]
74+
logger.quiet("Using Docker platform(s): ${project.extensions.getByType(com.fussionlabs.gradle.docker.DockerPluginExtension).platforms}")
75+
76+
dependsOn shadowJar
77+
}
78+
79+
dockerPush.dependsOn("dockerBuildMulti")
80+
6681
/*
6782
* Copyright Gerd Aschemann and aim42 contributors.
6883
*

0 commit comments

Comments
 (0)