mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-06-19 00:41:43 +00:00
Windows is proving to be a *lot* slower than everything else. I supect this is because we are building both arm64 and x86 every time, which ends up being twice the work. Leave those builds in place, but skip doing them in CI. This should be a 2x speedup when building Windows code. Signed-off-by: Austin Schuh <austin.linux@gmail.com>
75 lines
4.1 KiB
Plaintext
75 lines
4.1 KiB
Plaintext
try-import %workspace%/bazel_auth.rc
|
|
try-import %workspace%/user.bazelrc
|
|
|
|
common --noenable_bzlmod --enable_workspace
|
|
# Resolves to --config=linux on Linux, --config=macos on Mac, --windows on windows
|
|
common --enable_platform_specific_config
|
|
|
|
# Make bazel 8 work for us.
|
|
common --enable_workspace
|
|
build --experimental_cc_static_library
|
|
build --experimental_cc_shared_library
|
|
|
|
build --java_language_version=21
|
|
build --java_runtime_version=remotejdk_21
|
|
build --tool_java_language_version=21
|
|
build --tool_java_runtime_version=remotejdk_21
|
|
|
|
test --test_output=errors
|
|
test --test_verbose_timeout_warnings
|
|
|
|
import %workspace%/shared/bazel/compiler_flags/sanitizers.rc
|
|
import %workspace%/shared/bazel/compiler_flags/linux_flags.rc
|
|
import %workspace%/shared/bazel/compiler_flags/osx_flags.rc
|
|
import %workspace%/shared/bazel/compiler_flags/roborio_flags.rc
|
|
import %workspace%/shared/bazel/compiler_flags/systemcore_flags.rc
|
|
import %workspace%/shared/bazel/compiler_flags/windows_flags.rc
|
|
import %workspace%/shared/bazel/compiler_flags/coverage_flags.rc
|
|
|
|
# Alias toolchain names to what wpilibsuite uses for CI/Artifact naming
|
|
build:athena --config=roborio
|
|
build:linuxarm32 --config=raspibookworm32
|
|
build:linuxarm64 --config=bookworm64
|
|
|
|
build:build_java --test_tag_filters=allwpilib-build-java --build_tag_filters=allwpilib-build-java
|
|
build:build_cpp --test_tag_filters=+allwpilib-build-cpp --build_tag_filters=+allwpilib-build-cpp
|
|
build:no_example --test_tag_filters=-wpi-example --build_tag_filters=-wpi-example
|
|
test:no_example --test_tag_filters=-wpi-example --build_tag_filters=-wpi-example
|
|
|
|
# Build Buddy Cache Setup
|
|
build:build_buddy --bes_results_url=https://app.buildbuddy.io/invocation/
|
|
build:build_buddy --bes_backend=grpcs://remote.buildbuddy.io
|
|
build:build_buddy --remote_cache=grpcs://remote.buildbuddy.io
|
|
build:build_buddy --remote_timeout=3600
|
|
|
|
# Additional suggestions from buildbuddy for speed
|
|
build:build_buddy --experimental_remote_cache_compression
|
|
build:build_buddy --experimental_remote_cache_compression_threshold=100
|
|
build:build_buddy --noslim_profile
|
|
build:build_buddy --experimental_profile_include_target_label
|
|
build:build_buddy --experimental_profile_include_primary_output
|
|
build:build_buddy --nolegacy_important_outputs
|
|
|
|
common:build_buddy_readonly --noremote_upload_local_results
|
|
|
|
# This config should be used locally. It downloads more than the CI version
|
|
build:remote_user --config=build_buddy
|
|
build:remote_user --config=build_buddy_readonly
|
|
build:remote_user --remote_download_toplevel
|
|
|
|
build:ci --config=build_buddy
|
|
build:ci --remote_download_minimal
|
|
|
|
build --build_metadata=REPO_URL=https://github.com/wpilibsuite/allwpilib.git
|
|
|
|
common --define="WPILIB_VERSION=2025.424242.3.1-unknown"
|
|
|
|
# List of artifact types to build in CI.
|
|
# Anything else gets skipped to speed up CI.
|
|
common:ci --repo_env="WPI_PUBLISH_CLASSIFIER_FILTER=headers,sources,linuxsystemcore,linuxsystemcoredebug,linuxsystemcorestatic,linuxsystemcorestaticdebug,linuxx86-64,linuxx86-64debug,linuxx86-64static,linuxx86-64staticdebug,osxuniversal,osxuniversaldebug,osxuniversalstatic,osxuniversalstaticdebug,windowsarm64,windowsarm64debug,windowsarm64static,windowsarm64staticdebug,windowsx86-64,windowsx86-64debug,windowsx86-64static,windowsx86-64staticdebug"
|
|
|
|
# The 2 configurations for windows are very slow to build each time.
|
|
# Instead, skip the cross transition for ARM on x86, and the reverse on x86.
|
|
common:ci_windows_x86 --repo_env="WPI_PUBLISH_CLASSIFIER_FILTER=headers,sources,linuxsystemcore,linuxsystemcoredebug,linuxsystemcorestatic,linuxsystemcorestaticdebug,linuxx86-64,linuxx86-64debug,linuxx86-64static,linuxx86-64staticdebug,osxuniversal,osxuniversaldebug,osxuniversalstatic,osxuniversalstaticdebug,windowsx86-64,windowsx86-64debug,windowsx86-64static,windowsx86-64staticdebug"
|
|
common:ci_windows_arm --repo_env="WPI_PUBLISH_CLASSIFIER_FILTER=headers,sources,linuxsystemcore,linuxsystemcoredebug,linuxsystemcorestatic,linuxsystemcorestaticdebug,linuxx86-64,linuxx86-64debug,linuxx86-64static,linuxx86-64staticdebug,osxuniversal,osxuniversaldebug,osxuniversalstatic,osxuniversalstaticdebug,windowsarm64,windowsarm64debug,windowsarm64static,windowsarm64staticdebug"
|