Commit Graph
120 Commits
Author SHA1 Message Date
renovate[bot]GitHubrenovate[bot] <29139614+renovate[bot]@users.noreply.github.com>github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2f6a58255b Update dependency bazel to v9.2.0 (#8526)
* Update dependency bazel to v9.2.0

* Update generated dependency lockfiles

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-07-13 14:21:52 -07:00
renovate[bot]GitHubrenovate[bot] <29139614+renovate[bot]@users.noreply.github.com>admin
86171cc1ae Lock file maintenance (#8514)
* Lock file maintenance

* Refresh Bazel lockfile for Cargo maintenance

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Dan Crosby <dan@danielcrosby.net>
2026-07-13 11:41:44 -07:00
renovate[bot]GitHubrenovate[bot] <29139614+renovate[bot]@users.noreply.github.com>github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>admin
cc5b6dbc75 Update dependency rules_rust to v0.71.3 (#8508)
* Update dependency rules_rust to v0.71.3

* Update generated dependency lockfiles

* Fix protobuf Rust crates for rules_rust 0.71

* Refresh rules_rust lockfile after rebase

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Dan Crosby <dan@danielcrosby.net>
2026-07-13 09:29:43 -07:00
renovate[bot]GitHubrenovate[bot] <29139614+renovate[bot]@users.noreply.github.com>github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
af35d42792 Update dependency rules_cc to v0.2.22 (#8499)
* Update dependency rules_cc to v0.2.22

* Update generated dependency lockfiles

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-07-13 08:53:59 -07:00
renovate[bot]GitHubrenovate[bot] <29139614+renovate[bot]@users.noreply.github.com>github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
3f6fee72b5 Update dependency rules_dotnet to v0.22.1 (#8507)
* Update dependency rules_dotnet to v0.22.1

* Update generated dependency lockfiles

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-07-13 08:22:19 -07:00
renovate[bot]GitHubrenovate[bot] <29139614+renovate[bot]@users.noreply.github.com>github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
130c0a5f37 Update dependency grpc-java to v1.82.0 (#8505)
* Update dependency grpc-java to v1.82.0

* Update generated dependency lockfiles

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-07-13 08:19:30 -07:00
renovate[bot]GitHubrenovate[bot] <29139614+renovate[bot]@users.noreply.github.com>github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
9c3eb2d6e7 Update dependency grpc to v1.82.0 (#8504)
* Update dependency grpc to v1.82.0

* Update generated dependency lockfiles

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-07-13 08:19:01 -07:00
renovate[bot]GitHubrenovate[bot] <29139614+renovate[bot]@users.noreply.github.com>github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
a84154bc74 Update dependency apple_support to v2.7.0 (#8503)
* Update dependency apple_support to v2.7.0

* Update generated dependency lockfiles

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-07-13 08:18:01 -07:00
renovate[bot]GitHubrenovate[bot] <29139614+renovate[bot]@users.noreply.github.com>github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
08a5dc6104 Update dependency rules_nodejs to v6.7.5 (#8500)
* Update dependency rules_nodejs to v6.7.5

* Update generated dependency lockfiles

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-07-13 08:11:25 -07:00
renovate[bot]GitHubrenovate[bot] <29139614+renovate[bot]@users.noreply.github.com>github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
bd7378a971 Update eclipse_temurin_25_jre:26-jre Docker digest to a0053c4 (#8494)
* Update eclipse_temurin_25_jre:26-jre Docker digest to a0053c4

* Update generated dependency lockfiles

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-07-13 07:26:53 -07:00
renovate[bot]GitHubrenovate[bot] <29139614+renovate[bot]@users.noreply.github.com>github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
3b203ac1b2 Update eclipse_temurin_25_jdk:26-jdk Docker digest to 8e04698 (#8493)
* Update eclipse_temurin_25_jdk:26-jdk Docker digest to 8e04698

* Update generated dependency lockfiles

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-07-13 06:35:06 -07:00
adminandGitHub caca9e4f6a Add Bazel-built Eagle0pedia Starlight site (#8390) 2026-07-09 22:04:49 -07:00
renovate[bot]andGitHub 98afc28762 Update alpine_linux:3.24 Docker digest to 28bd5fe (#7698) 2026-06-22 06:17:57 -07:00
renovate[bot]andGitHub ba98850de3 Update dependency toolchains_llvm to v1.8.0 (#7232) 2026-06-15 05:55:19 -07:00
renovate[bot]GitHubrenovate[bot] <29139614+renovate[bot]@users.noreply.github.com>github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
06dec7b1fd Update ubuntu_24_04 Docker tag to v26 (#7167)
* Update ubuntu_24_04 Docker tag to v26

* Update generated dependency lockfiles

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-12 10:09:41 -07:00
renovate[bot]GitHubrenovate[bot] <29139614+renovate[bot]@users.noreply.github.com>github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
0e080d0a20 Update eclipse_temurin_25_jre Docker tag to v26 (#7166)
* Update eclipse_temurin_25_jre Docker tag to v26

* Update generated dependency lockfiles

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-12 09:56:53 -07:00
renovate[bot]GitHubrenovate[bot] <29139614+renovate[bot]@users.noreply.github.com>github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
4f1827e75b Update eclipse_temurin_25_jdk Docker tag to v26 (#7165)
* Update eclipse_temurin_25_jdk Docker tag to v26

* Update generated dependency lockfiles

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-12 09:38:00 -07:00
renovate[bot]GitHubrenovate[bot] <29139614+renovate[bot]@users.noreply.github.com>admin
6bf9867be3 Update Rust crate rand to 0.10 (#7159)
* Update Rust crate rand to 0.10

* Fix map generator for rand 0.10

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Dan Crosby <dan@danielcrosby.net>
2026-06-12 09:20:33 -07:00
renovate[bot]GitHubrenovate[bot] <29139614+renovate[bot]@users.noreply.github.com>github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
176ec1b03c Update alpine_linux Docker tag to v3.24 (#7149)
* Update alpine_linux Docker tag to v3.24

* Update generated dependency lockfiles

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-12 08:43:40 -07:00
adminandGitHub ae3b3b2872 Update apple_support to 2.6.1 (#7135) 2026-06-12 07:16:29 -07:00
adminandGitHub 87e7a17035 Update rules_scala to 7.2.6 (#7134) 2026-06-12 06:52:04 -07:00
adminandGitHub 7f9e46314d Update Rust map generator rand dependencies (#7129) 2026-06-12 06:39:40 -07:00
adminandGitHub c39a20636c Update protobuf to 35.1 (#7119) 2026-06-11 20:57:32 -07:00
adminandGitHub 8d59800f37 Update Temurin 25 image digests (#7106) 2026-06-11 16:00:35 -07:00
adminandGitHub c240e295ed Update Alpine base image to 3.23 (#7105) 2026-06-11 15:48:54 -07:00
adminandGitHub 004e5725ce Update rules_jvm_external to 7.0 (#7096) 2026-06-11 15:13:39 -07:00
adminandGitHub f0ae726510 Update aspect_rules_js to 3.2.2 (#7097) 2026-06-11 15:10:15 -07:00
adminandGitHub 8d08bbb70f Update grpc module to 1.81.1 (#7095) 2026-06-11 14:09:48 -07:00
adminandGitHub 4f92065e0f Upgrade Bazel to 9.1.1 (#7071) 2026-06-11 07:57:51 -07:00
adminandGitHub 71f0f47da2 Clean up C++ test warnings (#7065)
* Clean up C++ test warnings

* Keep player setup expected map size readable

* Declare direct Bazel module dependencies (#7069)

* Check Shardok map proto parse results

* Prepare Apple and protobuf module resolution

* Declare direct Bazel module dependencies
2026-06-11 07:39:57 -07:00
adminandGitHub fb5ed2365f Update protobuf module (#7052) 2026-06-10 17:50:56 -07:00
adminandGitHub 4e32bd7c51 Update apple_support (#7047) 2026-06-10 15:50:48 -07:00
adminandGitHub cdab19e920 Update LLVM Bazel toolchain (#7020)
* Update Go Bazel rules

* Update Rust Bazel rules

* Update LLVM Bazel toolchain
2026-06-10 08:00:08 -07:00
adminandGitHub f1429b9560 Update Rust Bazel rules (#7019)
* Update Go Bazel rules

* Update Rust Bazel rules
2026-06-10 07:27:59 -07:00
adminandGitHub d9452bd763 Update Go Bazel rules (#7017) 2026-06-10 07:19:01 -07:00
adminandGitHub e9a9475deb Update low-risk Bazel module dependencies (#7014) 2026-06-10 07:01:29 -07:00
79c5be3a54 Decouple non-Mac builds from Xcode dependency (#6316)
* Decouple non-Mac builds from Xcode via BAZEL_NO_APPLE_CPP_TOOLCHAIN

Set BAZEL_NO_APPLE_CPP_TOOLCHAIN=1 in .bazelrc so apple_support skips
Xcode detection (xcode-locator) entirely for Scala/C++/Go builds.
Only mactools builds (Mac/Sparkle) re-enable the Apple CC toolchain.

This means Xcode version changes no longer affect Eagle, Shardok, test,
auth, docker, or Unity Windows builds — no expunge, no cache invalidation,
no rebuild. The sync script and its expunge/cache-key logic are now scoped
to mactools only and removed from all non-Mac CI workflows.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* Revert BAZEL_NO_APPLE_CPP_TOOLCHAIN; keep Apple CC with stable environ

BAZEL_NO_APPLE_CPP_TOOLCHAIN=1 broke builds because apple_support
registers platforms (e.g. macos_x86_64) that require Apple CC toolchains
for resolution — even in non-Mac builds.

Instead, keep Apple CC enabled but ensure its repo rule never
re-evaluates on non-Mac builds by keeping DEVELOPER_DIR pinned in
common:macos. The sync script only runs for mactools builds and
overrides DEVELOPER_DIR there.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-27 16:08:28 -08:00
93ad8c4ae1 Reintegrate SparklePlugin into main workspace (#6308) (#6311)
The grpc 1.78.0 upgrade eliminated the rules_swift version conflict
that required SparklePlugin to live in a separate Bazel workspace.
Move it back into the main workspace under src/main/objc/.

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-27 13:16:02 -08:00
47f936df05 Upgrade grpc from 1.74.1 to 1.78.0 (#6307)
grpc 1.78.0 dropped its rules_swift dependency, resolving the version
conflict (rules_swift 3.x vs 2.x) that forced SparklePlugin into a
separate workspace. This removes the rules_swift single_version_override.

Includes a patch for a known BCR bug (grpc/grpc#41438) where grpc 1.78.0
requests Python 3.14.0b2 but rules_python >= 1.6.0 replaced it with 3.14.
The patch backports the upstream fix (commit 459279b).

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-27 09:27:13 -08:00
023503e831 Bump rules_rust 0.60.0 → 0.68.1 and apple_support 1.23.1 → 1.24.1 (#6116)
Aligns pinned versions with what the dependency graph was already resolving,
eliminating the --check_direct_dependencies warnings.

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 21:10:26 -08:00
68e876bc93 Replace dotnet proto build with Bazel-hermetic C# proto generation (#6097)
* Replace dotnet proto build with Bazel-hermetic C# proto generation

Use rules_proto_grpc_csharp to generate .cs source files via Bazel
instead of requiring a locally-installed dotnet SDK to build protos.dll.
This eliminates the dotnet dependency for CI runners and makes the
proto build fully hermetic.

- Add bazel_dep for rules_proto_grpc_csharp 5.8.0
- Bump grpc 1.74.0 -> 1.74.1 (required by rules_proto_grpc_csharp)
- Add csharp_proto_compile/csharp_grpc_compile targets across 8 proto
  BUILD.bazel files (81 .cs files from 78 protos)
- Rewrite build_protos.sh to use bazel build + copy instead of dotnet
- Output goes to Assets/GeneratedProtos/ with package-based subdirs
  to avoid filename collisions (e.g. ActionResultView.cs in both
  shardok/api/ and eagle/views/)
- Add Assets/GeneratedProtos/ to .gitignore

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* Remove stale Eagle0Protos DLL references

The old build_protos.sh generated protos.dll via dotnet; the new one
generates .cs source files instead. Remove the tracked .meta and
.deps.json files that reference the no-longer-generated DLL, and
gitignore the directory to prevent re-adding.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 09:30:26 -08:00
64c86ebd2b Add Rust map generator, equalized province maps, and dynamic province labels (#5957)
* Add design doc for programmatic map image generation

Documents the plan to:
- Create a Python tool for regenerating map images with more equalized province sizes
- Implement dynamic province name rendering that scales with zoom
- Preserve topology and neighbor relationships while enlarging small provinces

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* Add Python map generator tool for province size equalization

Implements Part 1 of the programmatic map generation plan:
- Python script using weighted dilation to grow small provinces
- Preserves jagged/natural edges using noise fields
- Allows small provinces to claim limited ocean pixels (20% max)
- Maintains neighbor relationships and realistic coastlines

Results:
- Province size ratio reduced from 110x to 22x
- Smallest province (Kojaria) grew 5x (3,262 → 16,590 pixels)
- All 43 province masks and centroids.json generated

Usage:
  cd tools/map_generator
  python -m venv venv && source venv/bin/activate
  pip install -r requirements.txt
  python generate_map.py --generate

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* Add ProvinceLabelsController for dynamic map labels

Part 2 of programmatic map generation - dynamic province name rendering:
- Creates TextMeshPro labels at province centroids
- Labels scale inversely with zoom level for readability
- Only visible when zoom >= 1.5x (configurable)
- Font size scales with province area for visual hierarchy
- Includes centroids.json with province positions

To use:
1. Add ProvinceLabelsController component to a GameObject in the scene
2. Assign zoomHandler, mapContent (RectTransform), and centroidsJson TextAsset
3. Optionally configure font, colors, and zoom threshold

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* Add topology documentation and tendril removal to map generator

- Document new province adjacencies caused by equalization
- Add priority_provinces parameter for boosting specific province growth
- Add remove_tendrils() post-processing to eliminate thin extensions
- Note: Will be restructured to use Bazel in next commit

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* Add Bazel Python support and parallelized map generator

- Add rules_python to MODULE.bazel with Python 3.13
- Move map generator to src/main/python/net/eagle0/eagle/
- Add parallel processing using ProcessPoolExecutor
- Provinces are now grown in parallel across multiple CPU cores

Usage:
  bazel run //src/main/python/net/eagle0/eagle:map_generator -- --generate
  bazel run //src/main/python/net/eagle0/eagle:map_generator -- --workers 8

The old tools/map_generator/ script remains for reference but the Bazel
version is now the primary implementation.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* Add Rust map generator and equalized province maps

- Add Rust map generator (src/main/rust/net/eagle0/eagle/map_generator/)
  - Uses parallel graph coloring for non-adjacent province processing
  - Generates equalized province sizes (smallest ~7x larger than before)
  - Outputs: rawGray.gz.bytes, map_bw.png, province masks, centroids.json
  - Run with: bazel run //src/main/rust/net/eagle0/eagle/map_generator -- --generate

- Update province_map.tsv with neighbor changes from equalization:
  - Usvol gains: Laufarvia, Hella, Grytrand
  - Chapellia loses Nikemi, gains Kojaria
  - Kojaria gains Motcia, Chapellia
  - Motcia gains Kojaria

- Update Unity assets with equalized map:
  - New rawGray.gz.bytes with equalized province boundaries
  - New map_bw.png with textured water, transparent land, dark borders
  - Updated province mask images (1-43.png)
  - Updated centroids.json with orientation data for label rotation

- Update ProvinceLabelsController.cs to support label rotation

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* Fix coordinate system for rawGray and province labels

- Fix save_raw_gray to not flip Y coordinates (was causing click detection
  to be inverted)
- Fix ProvinceLabelsController to not flip Y coordinates (was causing
  labels to appear in wrong positions)
- Update rawGray.gz.bytes with correct orientation
- Update Gameplay.unity with ProvinceLabelsController setup

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* Improve province label rendering

- Reduce max font size scale from 2.0 to 1.3
- Disable word wrapping, allow text overflow
- Fix orientation sign (remove negation)
- Allow near-vertical labels by expanding angle range to [-90, 90]
- Recalculate province orientations with new range

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* Scale province label font size based on province dimensions

- Add principal_length and perpendicular_width to centroids.json
- Update ProvinceLabelsController to scale font based on principal_length
- Update Rust map generator to calculate province dimensions via PCA
  eigenvalues (4 * sqrt(eigenvalue) for ±2 std dev coverage)
- Disable text wrapping on labels to prevent unwanted line breaks

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* Reduce province label base font size to 11

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* Update neighbor positions and hex map starting positions for new borders

TSV changes (neighborPositions for new neighbors):
- Laufarvia: Usvol attacks from dir 4 (E)
- Hella: Usvol attacks from dir 2 (NE)
- Chapellia: Kojaria attacks from dir 4 (E)
- Usvol: Laufarvia=3(W), Hella=5(SW), Grytrand=4(E)
- Kojaria: Chapellia=1(N), Motcia=3(W)
- Grytrand: Usvol attacks from dir 3 (W)

Hex map changes (new attackerStartingPositions):
- Motcia.e0mj: Added direction 0 (NW) for Kojaria
- Chapellia.e0mj: Added direction 4 (SE) for Kojaria
- Kojaria.e0mj: Added directions 1 (N) and 3 (E) for Chapellia/Motcia

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* Revert outline width change (made text smaller)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* Add TMP underlay effect for better label visibility on dark backgrounds

The underlay expands outward (unlike outline which shrinks text inward),
providing a white glow around labels without reducing text size.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-10 14:30:58 -08:00
f7cc8cc2fc Replace Python map generator with Rust implementation (#5964)
* Replace Python map generator with Rust implementation

- Add Rust map generator at src/main/rust/net/eagle0/eagle/map_generator/
  - Parallel province equalization using graph coloring
  - Generates equalized province sizes with ~7x improvement
  - Run with: bazel run //src/main/rust/net/eagle0/eagle/map_generator -- --generate

- Remove Python map generator (src/main/python/)
  - Rust version is faster and more maintainable
  - Removes rules_python dependency from MODULE.bazel

- Add build test to verify Rust code compiles

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* Remove Python from CI test workflow

Python map generator was replaced with Rust in this branch.
Rust tests are already covered by //src/test/...

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-10 11:02:54 -08:00
b55df7cf3e Upgrade dependencies: grpc-java, rules_scala, flatbuffers, and more (#5890)
Upgrades:
- grpc-java: 1.71.0 -> 1.78.0
- rules_scala: 7.1.5 -> 7.2.1
- flatbuffers: 25.9.23 -> 25.12.19
- aspect_bazel_lib: 2.22.4 -> 2.22.5
- rules_jvm_external: 6.9 -> 6.10
- Netty: 4.1.110.Final -> 4.1.127.Final (to match grpc-java)

All builds and tests pass.

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-05 21:55:03 -08:00
73ba9a3acc Upgrade rules_java to 9.3.0 (enables JDK 25 toolchain support) (#5885)
* Upgrade rules_java to 9.3.0 (enables JDK 25 toolchain support)

This adds an explicit dependency on rules_java 9.3.0, which includes
support for JDK 25 remote toolchains. The build continues to use
Bazel's embedded JDK 24 by default, but JDK 25 toolchains are now
available for future use.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* Mark MCTS basic test as flaky

The shardok_mcts_ai_basic_test uses Monte Carlo Tree Search which
has inherent non-determinism. Tests like PrefersArcheryOverEndTurn
and DoesNotPreferStartFireWhenNotBeneficial assert on AI decisions
that may vary between runs depending on random exploration paths.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-05 13:40:58 -08:00
adminandGitHub 0788f9a155 Add missing platforms dependency for Bazel 8 cross-compilation (#5884) 2026-02-05 10:52:56 -08:00
adminandGitHub 44f9eba77f Upgrade to Bazel 8.5.1, grpc 1.74.0, protobuf 33.5 (#5883) 2026-02-05 09:47:35 -08:00
258f739d02 Move SparklePlugin to separate Bazel workspace to resolve rules_swift conflict (#5882)
* Move SparklePlugin to separate Bazel workspace to resolve rules_swift conflict

The problem: grpc 1.76.0.bcr.1 requires rules_swift 3.x, but rules_apple 4.x
requires rules_swift 2.x. These have different compatibility levels, causing
bzlmod resolution to fail when both are in the same workspace.

The solution: Move SparklePlugin (the only thing using rules_apple) to a
separate Bazel workspace at `sparkle_workspace/`. This workspace has its own
MODULE.bazel with only rules_apple and Sparkle dependencies, completely
isolated from the grpc/flatbuffers dependency tree.

Changes:
- Create sparkle_workspace/ with isolated MODULE.bazel
- Move SparklePlugin source files to sparkle_workspace/
- Update build_sparkle_plugin.sh to build from subworkspace
- Remove rules_apple from main MODULE.bazel
- Add single_version_override for rules_swift 3.1.2 (for grpc/flatbuffers)

All 315 tests pass.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* Add WORKSPACE.bazel to sparkle_workspace to prevent parent workspace detection

Without this file, Bazel may walk up the directory tree and find the parent
workspace's MODULE.bazel, causing dependency conflicts.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-05 06:23:46 -08:00
a7b7b0e444 Upgrade Scala 3.7.4, rules_scala 7.1.5, protobuf 33.0, grpc 1.76.0, Bazel 7.7.1 (#5871)
* Upgrade rules_scala 7.1.5, Scala 3.7.4, protobuf 32.1

- Update rules_scala from 7.1.1 to 7.1.5
- Update Scala from 3.7.2 to 3.7.4
- Update protobuf from 29.2 to 32.1 (required by rules_scala 7.1.5+)
- Add force_version for Maven dependency conflicts (gson, errorprone, guava)
- Update -Wconf pattern in tools/BUILD.bazel for Bazel 7/8 compatibility
- Add -Wno-deprecated-copy-with-dtor to suppress protobuf 32.x warning

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* Add grpc 1.76.0, protobuf 33.0, and Bazel 7.7.1 compatibility fixes

- Upgrade grpc from 1.71.0 to 1.76.0.bcr.1 (required for protobuf 33.0)
- Upgrade protobuf from 32.1 to 33.0 (matches grpc 1.76.0 expectations)
- Upgrade Bazel from 7.6.1 to 7.7.1
- Add single_version_override for rules_swift 3.1.2 (grpc needs 3.x, rules_apple needs 2.x)
- Add --features=-module_maps workaround for grpc cf_event_engine macOS build issue

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-04 17:01:15 -08:00
8a2bc8d984 Upgrade to Java 25 (LTS) (#5859)
Upgrade Eagle server and JFR sidecar from Java 21 to Java 25.

Java 25 is the latest LTS release (September 2025). Scala 3.7.2
fully supports JDK 25.

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-04 13:04:32 -08:00