Skip to content

Commit 19f9b83

Browse files
committed
Fix CI: pin score_rules_imagefs 0.0.1, stub Android SDK, link libgcc on eb-aarch64
The communication bump pulls score_qnx_unit_tests@0.2.0 which requests score_rules_imagefs@0.0.3, forcing the reference integration off its pinned 0.0.1, and the new mw/com Rust com-api FFI now links C++ objects into the EB aarch64 image. That broke four previously-green checks: - Bzlmod Lockfile Check: imagefs extension digest changed in the lock. - QNX8 Build: imagefs 0.0.3 removed the `ext_repo_maping` attribute used by images/qnx_{x86_64,aarch64}/build/BUILD. - Code Quality & Documentation: rules_android (0.6.6, via grpc-java -> rules_jvm_external) android_sdk_repository fails on CI because ANDROID_HOME points at an incomplete SDK. - EB corbos aarch64: undefined references to the GCC outline-atomics helpers (__aarch64_*_acq_rel) when statically linking the C++ com/baselibs objects into the Rust //images/ebclfsa_aarch64:run binary. Fixes: - single_version_override score_rules_imagefs to 0.0.1 so the existing QNX image definitions keep working (fixes the lockfile and QNX checks). - .bazelrc: common --repo_env=ANDROID_HOME= so android_sdk_repository emits an empty stub instead of failing; no code here uses Android. - ferrocene_aarch64_ebclfsa: add -Clink-arg=-lgcc so the aarch64 outline-atomics helpers resolve in the static Rust link. - Regenerate MODULE.bazel.lock accordingly.
1 parent 5165948 commit 19f9b83

4 files changed

Lines changed: 77 additions & 6 deletions

File tree

.bazelrc

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,12 @@ common --registry=https://bcr.bazel.build
77
common --credential_helper=*.qnx.com=%workspace%/.github/tools/qnx_credential_helper.py
88
common --credential_helper_timeout="60s"
99

10+
# Clear ANDROID_HOME for repository rules. rules_android (pulled transitively via
11+
# grpc-java -> rules_jvm_external) evaluates android_sdk_repository, which fails
12+
# when ANDROID_HOME points at an incomplete SDK (as on CI runners). None of our
13+
# code uses Android, so forcing it empty makes the rule emit an empty stub repo.
14+
common --repo_env=ANDROID_HOME=
15+
1016
# Java
1117
build --java_language_version=17
1218
build --tool_java_language_version=17

MODULE.bazel.lock

Lines changed: 56 additions & 6 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

bazel_common/score_images.MODULE.bazel

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,16 @@ http_file(
5050

5151
bazel_dep(name = "score_rules_imagefs", version = "0.0.1")
5252

53+
# Pin score_rules_imagefs to 0.0.1. The bumped score_communication pulls in
54+
# score_qnx_unit_tests@0.2.0 which requests score_rules_imagefs@0.0.3, but 0.0.3
55+
# drops the `ext_repo_maping` attribute used by our QNX image build files. Force
56+
# 0.0.1 so the reference integration image definitions keep working without a
57+
# larger image-definition migration.
58+
single_version_override(
59+
module_name = "score_rules_imagefs",
60+
version = "0.0.1",
61+
)
62+
5363
imagefs = use_extension("@score_rules_imagefs//extensions:imagefs.bzl", "imagefs", dev_dependency = True)
5464
imagefs.toolchain(
5565
name = "score_qnx_x86_64_ifs_toolchain",

bazel_common/score_rust_toolchains.MODULE.bazel

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,11 @@ ferrocene.toolchain(
3131
"-Clink-arg=-static",
3232
"-Clink-arg=-lm",
3333
"-Clink-arg=-lc",
34+
# Provide the aarch64 GCC outline-atomics helpers (__aarch64_*_acq_rel)
35+
# referenced by the C++ (communication/baselibs) objects that are now
36+
# statically linked into this Rust binary via the new mw/com Rust
37+
# com-api FFI layer. Without libgcc these resolve to undefined symbols.
38+
"-Clink-arg=-lgcc",
3439
],
3540
sha256 = "b1f1eb1146bf595fe1f4a65d5793b7039b37d2cb6d395d1c3100fa7d0377b6c9",
3641
target_compatible_with = [

0 commit comments

Comments
 (0)