Skip to content

Commit 77aa218

Browse files
ci: Add releases for x86_64 macOS
1 parent 9e9cd72 commit 77aa218

File tree

3 files changed

+33
-8
lines changed

3 files changed

+33
-8
lines changed

.github/workflows/release.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,9 @@ jobs:
1919
name: 'Build and upload artifacts'
2020
strategy:
2121
matrix:
22-
# TODO: Add macos-12 once
23-
# https://github.com/github/roadmap/issues/528 is fixed
24-
platform: ['ubuntu-20.04', 'windows-2022']
22+
# NOTE: GitHub-hosted runners for macOS are x86_64 only
23+
# https://github.com/github/roadmap/issues/528
24+
platform: ['ubuntu-20.04', 'macos-12', 'windows-2022']
2525
config: ['dev', 'release']
2626
runs-on: ${{ matrix.platform }}
2727
env:

WORKSPACE

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,9 @@ load("@com_grail_bazel_toolchain//toolchain:deps.bzl", "bazel_toolchain_dependen
99

1010
bazel_toolchain_dependencies()
1111

12-
load("@com_grail_bazel_toolchain//toolchain:rules.bzl", "llvm_toolchain")
12+
load("//:setup_llvm.bzl", "setup_llvm_toolchain")
1313

14-
llvm_toolchain(
15-
name = "llvm_toolchain",
16-
llvm_version = "15.0.6",
17-
)
14+
setup_llvm_toolchain(name = "llvm_toolchain")
1815

1916
load("@llvm_toolchain//:toolchains.bzl", "llvm_register_toolchains")
2017
load("@rules_python//python:repositories.bzl", "py_repositories", "python_register_toolchains")

setup_llvm.bzl

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
load("@com_grail_bazel_toolchain//toolchain:rules.bzl", grailbio_llvm_toolchain = "llvm_toolchain")
2+
3+
def setup_llvm_toolchain(name):
4+
mapping = {
5+
"linux-aarch64": {"version": "15.0.6", "triple": "aarch64-linux-gnu", "sha256": "8ca4d68cf103da8331ca3f35fe23d940c1b78fb7f0d4763c1c059e352f5d1bec"},
6+
"linux-x86_64": {"version": "15.0.6", "triple": "x86_64-linux-gnu-ubuntu-18.04", "sha256": "38bc7f5563642e73e69ac5626724e206d6d539fbef653541b34cae0ba9c3f036"},
7+
"darwin-arm64": {"version": "15.0.6", "triple": "arm64-apple-darwin21.0", "sha256": "32bc7b8eee3d98f72dd4e5651e6da990274ee2d28c5c19a7d8237eb817ce8d91"},
8+
"darwin-x86_64": {"version": "15.0.7", "triple": "x86_64-apple-darwin21.0", "sha256": "d16b6d536364c5bec6583d12dd7e6cf841b9f508c4430d9ee886726bd9983f1c"},
9+
"windows": {"version": "15.0.6", "sha256": "22e2f2c38be4c44db7a1e9da5e67de2a453c5b4be9cf91e139592a63877ac0a2", "url": "https://github.com/llvm/llvm-project/releases/download/llvmorg-15.0.6/LLVM-15.0.6-win64.exe"},
10+
}
11+
llvm_versions, sha256, strip_prefix, urls = {}, {}, {}, {}
12+
for (k, v) in mapping.items():
13+
llvm_versions[k] = v["version"]
14+
sha256[k] = v["sha256"]
15+
if "url" in v:
16+
urls[k] = [v["url"]]
17+
else:
18+
prefix = "clang+llvm-{version}-{triple}".format(version = v["version"], triple = v["triple"])
19+
strip_prefix[k] = prefix
20+
urls[k] = ["https://github.com/llvm/llvm-project/releases/download/llvmorg-{version}/{prefix}.tar.xz".format(version = v["version"], prefix = prefix)]
21+
22+
grailbio_llvm_toolchain(
23+
name = name,
24+
llvm_versions = llvm_versions,
25+
strip_prefix = strip_prefix,
26+
urls = urls,
27+
sha256 = sha256,
28+
)

0 commit comments

Comments
 (0)