From e4e26dfdf7c8bb82f29debcb7929fe517c848e39 Mon Sep 17 00:00:00 2001 From: Deanna Garcia Date: Wed, 24 Nov 2021 21:27:54 +0000 Subject: [PATCH 1/2] Name protoc artifacts by their cpu and os --- BUILD | 2 +- protobuf_release.bzl | 24 ++++++++++++++++++++++-- 2 files changed, 23 insertions(+), 3 deletions(-) diff --git a/BUILD b/BUILD index 87bd219c07..81f550b946 100644 --- a/BUILD +++ b/BUILD @@ -573,7 +573,7 @@ package_naming( pkg_zip( name = "protoc_release", - package_file_name = "protoc-{version}-{cpu}.zip", + package_file_name = "protoc-{version}-{platform}.zip", package_variables = ":protoc_pkg_naming", srcs = [ ":protoc_files", diff --git a/protobuf_release.bzl b/protobuf_release.bzl index e007e004d7..cac0a0c52a 100644 --- a/protobuf_release.bzl +++ b/protobuf_release.bzl @@ -12,8 +12,28 @@ def _package_naming_impl(ctx): # infer from the current cpp toolchain. toolchain = find_cpp_toolchain(ctx) - values["cpu"] = toolchain.cpu - + cpu = toolchain.cpu + system_name = toolchain.target_gnu_system_name + + # rename cpus to match what we want artifacts to be + if cpu == "systemz": + cpu = "s390_64" + elif cpu == "aarch64": + cpu = "aarch_64" + + # use the system name to determine the os and then create platform names + if "apple" in system_name: + values["platform"] = "osx-" + cpu + elif "linux" in system_name: + values["platform"] = "linux-" + cpu + elif "mingw" in system_name: + if "cpu" == "x86_64": + values["platform"] = "win64" + else: + values["platform"] = "win32" + else: + values["platform"] = "unknown" + return PackageVariablesInfo(values = values) From 7d9c9ebd5dff4b52162b80f2b4ad75bdb571b77b Mon Sep 17 00:00:00 2001 From: Deanna Garcia Date: Wed, 24 Nov 2021 22:59:57 +0000 Subject: [PATCH 2/2] Add error throwing --- protobuf_release.bzl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/protobuf_release.bzl b/protobuf_release.bzl index cac0a0c52a..7ed3cc7c8e 100644 --- a/protobuf_release.bzl +++ b/protobuf_release.bzl @@ -32,7 +32,7 @@ def _package_naming_impl(ctx): else: values["platform"] = "win32" else: - values["platform"] = "unknown" + fail("Unrecognized platform") return PackageVariablesInfo(values = values)