Skip to content

Commit 06ec05e

Browse files
committed
fix(windows): use correct entrypoint in Docker container
1 parent bdc34b6 commit 06ec05e

1 file changed

Lines changed: 9 additions & 6 deletions

File tree

tools/container.bzl

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,14 @@ def multiarch_go_image(name, binary):
1212

1313
tar_target = "_{}.tar".format(name)
1414
image_target = "_{}.image".format(name)
15-
unix_binary_entrypoint = ["/app/{}".format(native.package_relative_label(binary).name)]
16-
windows_binary_entrypoint = ["C:\\app\\{}".format(native.package_relative_label(binary).name)]
15+
binary_name = native.package_relative_label(binary).name
1716

1817
image_layer(
1918
name = tar_target,
19+
srcs = select({
20+
"@rules_go//go/platform:linux": {"app/{}".format(binary_name): binary},
21+
"@rules_go//go/platform:windows": {"app/{}.exe".format(binary_name): binary},
22+
}),
2023
srcs = {"app/{}".format(native.package_relative_label(binary).name): binary},
2124
# Don't build un-transitioned images, as the default target architecture might be unsupported
2225
# For example when building on linux-i386.
@@ -26,12 +29,12 @@ def multiarch_go_image(name, binary):
2629
image_manifest(
2730
name = image_target,
2831
base = select({
29-
"@rules_go//go/platform:linux": Label("@distroless_static"),
30-
"@rules_go//go/platform:windows": Label("@nanoserver"),
32+
"@rules_go//go/platform:linux": Label("@distroless_static"),
33+
"@rules_go//go/platform:windows": Label("@nanoserver"),
3134
}),
3235
entrypoint = select({
33-
"@rules_go//go/platform:linux": unix_binary_entrypoint,
34-
"@rules_go//go/platform:windows": windows_binary_entrypoint,
36+
"@rules_go//go/platform:linux": ["/app/{}".format(binary_name)],
37+
"@rules_go//go/platform:windows": ["C:\\app\\{}.exe".format(binary_name)],
3538
}),
3639
layers = [tar_target],
3740
# Don't build un-transitioned images, as the default target architecture might be unsupported

0 commit comments

Comments
 (0)