Skip to content

Commit 3181ae4

Browse files
authored
Add windows arm64 support (#142)
Fixes #141
1 parent 16ca116 commit 3181ae4

11 files changed

Lines changed: 69 additions & 47 deletions

File tree

.bazelrc

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ common --check_direct_dependencies=off
44

55
common:linux --repo_env=CC=clang
66
common:windows --enable_runfiles
7+
build:windows --deleted_packages=examples/bzlmod,examples/bzlmod_specify_assets,examples/simple,examples/specify_assets,release
8+
query:windows --deleted_packages=examples/bzlmod,examples/bzlmod_specify_assets,examples/simple,examples/specify_assets,release
79

810
# Avoid https://github.com/bazelbuild/bazel/issues/14459 since we don't need Xcode
911
common --repo_env=BAZEL_USE_CPP_ONLY_TOOLCHAIN=1

.github/workflows/ci.yml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,11 @@ jobs:
1212
strategy:
1313
fail-fast: false
1414
matrix:
15-
os: [macos-latest, ubuntu-latest, windows-latest]
15+
os: [macos-latest, ubuntu-latest, windows-latest, windows-11-arm]
1616
bazel_version: ['9.x', rolling]
17+
exclude:
18+
- os: windows-11-arm
19+
bazel_version: '9.x' # TODO: Remove once >9.0.1 is out
1720
runs-on: ${{ matrix.os }}
1821
env:
1922
USE_BAZEL_VERSION: ${{ matrix.bazel_version }}

buildtools.bzl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,6 @@ def _create_asset(name, platform, arch, version, sha256 = None):
3535
fail("Expected a version.")
3636
if sha256 == None:
3737
fail("Expected a sha256.")
38-
if arch == "windows" and version == "arm64":
39-
fail("arm64 windows executables are not provided by buildifier/buildozer")
4038
if arch == "windows" and version == "riscv64":
4139
fail("riscv64 windows executables are not provided by buildifier/buildozer")
4240
if arch == "darwin" and version == "riscv64":
@@ -168,13 +166,15 @@ _DEFAULT_ASSETS = _create_assets(
168166
"buildifier_linux_riscv64": "90edba97d237672d33ebabf72a2d34ffbedbed25409631846ec161b1583488d2",
169167
"buildifier_linux_s390x": "f90975cf1afd7b3472ab559c1ce2b3785b099e53e66868d7baf0f6b6582a7c98",
170168
"buildifier_windows_amd64": "f4ecb9c73de2bc38b845d4ee27668f6248c4813a6647db4b4931a7556052e4e1",
169+
"buildifier_windows_arm64": "55a276ad8b1ff46be48bf64e432264034ea69a45aa3914e89c1d1936f5c2d85c",
171170
"buildozer_darwin_amd64": "b85b9ad59c1543999a5d8bc8bee6e42b9f025be3ff520bc2d090213698850b43",
172171
"buildozer_darwin_arm64": "d0cf2f6e11031d62bfd4584e46eb6bb708a883ff948be76538b34b83de833262",
173172
"buildozer_linux_amd64": "2b745ca2ad41f1e01673fb59ac50af6b45ca26105c1d20fad64c3d05a95522f5",
174173
"buildozer_linux_arm64": "87ee1d2d81d08ccae8f9147fc58503967c85878279e892f2990912412feef1a1",
175174
"buildozer_linux_riscv64": "9b0c81b873bb77ade5e439afbb78217dc72e027af6bbab2b7c39812fed545791",
176175
"buildozer_linux_s390x": "0b736803697d74084d81dec4c9b1297be6dd9b6f58fe49951236bfc1852b2499",
177176
"buildozer_windows_amd64": "e177155c2c8ef41569791de34f13077cefe3e5623f9f02e099347232bc028901",
177+
"buildozer_windows_arm64": "f6528a676f4bc22a1f92358d3150d9d1ab4fcb19054f55b7e04775d8cdc3e94b",
178178
},
179179
)
180180

examples/BUILD

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
load("@bazel_binaries//:defs.bzl", "bazel_binaries")
2-
load("@cgrindel_bazel_starlib//bzllib:defs.bzl", "lists")
32
load(
43
"@rules_bazel_integration_test//bazel_integration_test:defs.bzl",
54
"bazel_integration_tests",
@@ -28,7 +27,6 @@ sh_binary(
2827
],
2928
deps = [
3029
"@bazel_tools//tools/bash/runfiles",
31-
"@cgrindel_bazel_starlib//shlib/lib:assertions",
3230
],
3331
)
3432

@@ -77,15 +75,16 @@ test_suite(
7775
# If you don't apply the test tags to the test suite, the test suite will
7876
# be found when `bazel test //...` is executed.
7977
tags = integration_test_utils.DEFAULT_INTEGRATION_TEST_TAGS,
80-
tests = lists.flatten([
81-
integration_test_utils.bazel_integration_test_names(
78+
tests = [
79+
test
80+
for example in _ALL_EXAMPLES
81+
for test in integration_test_utils.bazel_integration_test_names(
8282
"{}_test".format(example),
8383
_EXAMPLE_BAZEL_VERSIONS.get(
8484
example,
8585
bazel_binaries.versions.all,
8686
),
8787
)
88-
for example in _ALL_EXAMPLES
89-
]),
88+
],
9089
visibility = ["//:__subpackages__"],
9190
)

examples/bzlmod_specify_assets/MODULE.bazel

Lines changed: 17 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -12,20 +12,24 @@ local_path_override(
1212
buildifier_prebuilt = use_extension("@buildifier_prebuilt//:defs.bzl", "buildifier_prebuilt_deps_extension")
1313
buildifier_prebuilt.toolchains(
1414
sha256_values = {
15-
"buildifier_darwin_amd64": "309b3c3bfcc4b1533d5f7f796adbd266235cfb6f01450f3e37423527d209a309",
16-
"buildifier_darwin_arm64": "e08381a3ed1d59c0a17d1cee1d4e7684c6ce1fc3b5cfa1bd92a5fe978b38b47d",
17-
"buildifier_linux_amd64": "3e79e6c0401b5f36f8df4dfc686127255d25c7eddc9599b8779b97b7ef4cdda7",
18-
"buildifier_linux_arm64": "c624a833bfa64d3a457ef0235eef0dbda03694768aab33f717a7ffd3f803d272",
19-
"buildifier_linux_riscv64": "493dc831ab318b77ff7004982b6280b5c60c7a087e56fdd4b761081806217de3",
20-
"buildifier_windows_amd64": "a27fcf7521414f8214787989dcfb2ac7d3f7c28b56e44384e5fa06109953c2f1",
21-
"buildozer_darwin_amd64": "b7bd7189a9d4de22c10fd94b7d1d77c68712db9bdd27150187bc677e8c22960e",
22-
"buildozer_darwin_arm64": "781527c5337dadba5a0611c01409c669852b73b72458650cc7c5f31473f7ae3f",
23-
"buildozer_linux_amd64": "0e54770aa6148384d1edde39ef20e10d2c57e8c09dd42f525e100f51b0b77ae1",
24-
"buildozer_linux_arm64": "a9f38f2781de41526ce934866cb79b8b5b59871c96853dc5a1aee26f4c5976bb",
25-
"buildozer_linux_riscv64": "a1f7e55c7e4a31407fe1e88dc3828938daed502089070e85826d47a6634a11e8",
26-
"buildozer_windows_amd64": "8ce5a9a064b01551ffb8d441fa9ef4dd42c9eeeed6bc71a89f917b3474fd65f6",
15+
"buildifier_darwin_amd64": "31de189e1a3fe53aa9e8c8f74a0309c325274ad19793393919e1ca65163ca1a4",
16+
"buildifier_darwin_arm64": "62836a9667fa0db309b0d91e840f0a3f2813a9c8ea3e44b9cd58187c90bc88ba",
17+
"buildifier_linux_amd64": "887377fc64d23a850f4d18a077b5db05b19913f4b99b270d193f3c7334b5a9a7",
18+
"buildifier_linux_arm64": "947bf6700d708026b2057b09bea09abbc3cafc15d9ecea35bb3885c4b09ccd04",
19+
"buildifier_linux_riscv64": "90edba97d237672d33ebabf72a2d34ffbedbed25409631846ec161b1583488d2",
20+
"buildifier_linux_s390x": "f90975cf1afd7b3472ab559c1ce2b3785b099e53e66868d7baf0f6b6582a7c98",
21+
"buildifier_windows_amd64": "f4ecb9c73de2bc38b845d4ee27668f6248c4813a6647db4b4931a7556052e4e1",
22+
"buildifier_windows_arm64": "55a276ad8b1ff46be48bf64e432264034ea69a45aa3914e89c1d1936f5c2d85c",
23+
"buildozer_darwin_amd64": "b85b9ad59c1543999a5d8bc8bee6e42b9f025be3ff520bc2d090213698850b43",
24+
"buildozer_darwin_arm64": "d0cf2f6e11031d62bfd4584e46eb6bb708a883ff948be76538b34b83de833262",
25+
"buildozer_linux_amd64": "2b745ca2ad41f1e01673fb59ac50af6b45ca26105c1d20fad64c3d05a95522f5",
26+
"buildozer_linux_arm64": "87ee1d2d81d08ccae8f9147fc58503967c85878279e892f2990912412feef1a1",
27+
"buildozer_linux_riscv64": "9b0c81b873bb77ade5e439afbb78217dc72e027af6bbab2b7c39812fed545791",
28+
"buildozer_linux_s390x": "0b736803697d74084d81dec4c9b1297be6dd9b6f58fe49951236bfc1852b2499",
29+
"buildozer_windows_amd64": "e177155c2c8ef41569791de34f13077cefe3e5623f9f02e099347232bc028901",
30+
"buildozer_windows_arm64": "f6528a676f4bc22a1f92358d3150d9d1ab4fcb19054f55b7e04775d8cdc3e94b",
2731
},
28-
version = "v8.2.0",
32+
version = "v8.5.1",
2933
)
3034
use_repo(
3135
buildifier_prebuilt,

examples/bzlmod_specify_assets/version_test.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#!/usr/bin/env bash
22

3-
if "$1" --version | grep -q "8.2.0"; then
3+
if "$1" --version | grep -q "8.5.1"; then
44
exit 0
55
fi
66

examples/modify_example_test_runner.sh

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,10 @@ source "${RUNFILES_DIR:-/dev/null}/$f" 2>/dev/null || \
1111
{ echo>&2 "ERROR: cannot find $f"; exit 1; }; f=; set -e
1212
# --- end runfiles.bash initialization v2 ---
1313

14-
assertions_sh_location=cgrindel_bazel_starlib/shlib/lib/assertions.sh
15-
assertions_sh="$(rlocation "${assertions_sh_location}")" || \
16-
(echo >&2 "Failed to locate ${assertions_sh_location}" && exit 1)
17-
source "${assertions_sh}"
14+
fail() {
15+
echo >&2 "$@"
16+
exit 1
17+
}
1818

1919
create_scratch_dir_sh_location=rules_bazel_integration_test/tools/create_scratch_dir.sh
2020
create_scratch_dir_sh="$(rlocation "${create_scratch_dir_sh_location}")" || \

examples/specify_assets/WORKSPACE

Lines changed: 17 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -19,20 +19,24 @@ buildifier_prebuilt_register_toolchains(
1919
assets = buildtools_assets(
2020
names = ["buildifier"],
2121
sha256_values = {
22-
"buildifier_darwin_amd64": "309b3c3bfcc4b1533d5f7f796adbd266235cfb6f01450f3e37423527d209a309",
23-
"buildifier_darwin_arm64": "e08381a3ed1d59c0a17d1cee1d4e7684c6ce1fc3b5cfa1bd92a5fe978b38b47d",
24-
"buildifier_linux_amd64": "3e79e6c0401b5f36f8df4dfc686127255d25c7eddc9599b8779b97b7ef4cdda7",
25-
"buildifier_linux_arm64": "c624a833bfa64d3a457ef0235eef0dbda03694768aab33f717a7ffd3f803d272",
26-
"buildifier_linux_riscv64": "493dc831ab318b77ff7004982b6280b5c60c7a087e56fdd4b761081806217de3",
27-
"buildifier_windows_amd64": "a27fcf7521414f8214787989dcfb2ac7d3f7c28b56e44384e5fa06109953c2f1",
28-
"buildozer_darwin_amd64": "b7bd7189a9d4de22c10fd94b7d1d77c68712db9bdd27150187bc677e8c22960e",
29-
"buildozer_darwin_arm64": "781527c5337dadba5a0611c01409c669852b73b72458650cc7c5f31473f7ae3f",
30-
"buildozer_linux_amd64": "0e54770aa6148384d1edde39ef20e10d2c57e8c09dd42f525e100f51b0b77ae1",
31-
"buildozer_linux_arm64": "a9f38f2781de41526ce934866cb79b8b5b59871c96853dc5a1aee26f4c5976bb",
32-
"buildozer_linux_riscv64": "a1f7e55c7e4a31407fe1e88dc3828938daed502089070e85826d47a6634a11e8",
33-
"buildozer_windows_amd64": "8ce5a9a064b01551ffb8d441fa9ef4dd42c9eeeed6bc71a89f917b3474fd65f6",
22+
"buildifier_darwin_amd64": "31de189e1a3fe53aa9e8c8f74a0309c325274ad19793393919e1ca65163ca1a4",
23+
"buildifier_darwin_arm64": "62836a9667fa0db309b0d91e840f0a3f2813a9c8ea3e44b9cd58187c90bc88ba",
24+
"buildifier_linux_amd64": "887377fc64d23a850f4d18a077b5db05b19913f4b99b270d193f3c7334b5a9a7",
25+
"buildifier_linux_arm64": "947bf6700d708026b2057b09bea09abbc3cafc15d9ecea35bb3885c4b09ccd04",
26+
"buildifier_linux_riscv64": "90edba97d237672d33ebabf72a2d34ffbedbed25409631846ec161b1583488d2",
27+
"buildifier_linux_s390x": "f90975cf1afd7b3472ab559c1ce2b3785b099e53e66868d7baf0f6b6582a7c98",
28+
"buildifier_windows_amd64": "f4ecb9c73de2bc38b845d4ee27668f6248c4813a6647db4b4931a7556052e4e1",
29+
"buildifier_windows_arm64": "55a276ad8b1ff46be48bf64e432264034ea69a45aa3914e89c1d1936f5c2d85c",
30+
"buildozer_darwin_amd64": "b85b9ad59c1543999a5d8bc8bee6e42b9f025be3ff520bc2d090213698850b43",
31+
"buildozer_darwin_arm64": "d0cf2f6e11031d62bfd4584e46eb6bb708a883ff948be76538b34b83de833262",
32+
"buildozer_linux_amd64": "2b745ca2ad41f1e01673fb59ac50af6b45ca26105c1d20fad64c3d05a95522f5",
33+
"buildozer_linux_arm64": "87ee1d2d81d08ccae8f9147fc58503967c85878279e892f2990912412feef1a1",
34+
"buildozer_linux_riscv64": "9b0c81b873bb77ade5e439afbb78217dc72e027af6bbab2b7c39812fed545791",
35+
"buildozer_linux_s390x": "0b736803697d74084d81dec4c9b1297be6dd9b6f58fe49951236bfc1852b2499",
36+
"buildozer_windows_amd64": "e177155c2c8ef41569791de34f13077cefe3e5623f9f02e099347232bc028901",
37+
"buildozer_windows_arm64": "f6528a676f4bc22a1f92358d3150d9d1ab4fcb19054f55b7e04775d8cdc3e94b",
3438
},
35-
version = "v8.2.0",
39+
version = "v8.5.1",
3640
),
3741
)
3842

tests/tools_tests/BUILD

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,5 @@ sh_test(
2020
}),
2121
deps = [
2222
"@bazel_tools//tools/bash/runfiles",
23-
"@cgrindel_bazel_starlib//shlib/lib:assertions",
2423
],
2524
)

tests/tools_tests/generate_assets_declaration_test.sh

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,6 @@ source "${RUNFILES_DIR:-/dev/null}/$f" 2>/dev/null || \
1414

1515
# MARK - Locate Deps
1616

17-
assertions_sh_location=cgrindel_bazel_starlib/shlib/lib/assertions.sh
18-
assertions_sh="$(rlocation "${assertions_sh_location}")" || \
19-
(echo >&2 "Failed to locate ${assertions_sh_location}" && exit 1)
20-
source "${assertions_sh}"
21-
2217
generate_assets_declaration_sh_location=buildifier_prebuilt/tools/generate_assets_declaration.sh
2318
generate_assets_declaration_sh="$(rlocation "${generate_assets_declaration_sh_location}")" || \
2419
(echo >&2 "Failed to locate ${generate_assets_declaration_sh_location}" && exit 1)
@@ -37,6 +32,17 @@ export "BUILD_WORKSPACE_DIRECTORY=${repo_dir}"
3732
# MARK - Test with Release Tag
3833

3934
actual="$( "${generate_assets_declaration_sh}" "4.2.3" )"
35+
36+
assert_match() {
37+
local pattern="$1"
38+
local actual="$2"
39+
if ! echo "${actual}" | grep -qE "${pattern}"; then
40+
echo >&2 "Expected to match '${pattern}' in output:"
41+
echo >&2 "${actual}"
42+
exit 1
43+
fi
44+
}
45+
4046
assert_match "version.*4.2.3" "${actual}"
4147
assert_match \
4248
"buildifier_darwin_amd64.*954ec397089344b1564e45dc095e9331e121eb0f20e72032fcc8e94de78e5663" \

0 commit comments

Comments
 (0)