Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

In config=remote, use --remote_download_toplevel #8075

Open
wants to merge 6 commits into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
71 changes: 43 additions & 28 deletions .bazelrc
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,6 @@ common:cache --experimental_remote_cache_compression_threshold=100
# Flags shared across remote configs
common:remote-shared --remote_upload_local_results
common:remote-shared --remote_timeout=600
common:remote-shared --remote_download_minimal
common:remote-shared --jobs=100
common:remote-shared --verbose_failures

Expand All @@ -47,59 +46,73 @@ common:target-linux-x86 --extra_execution_platforms=@buildbuddy_toolchain//:plat
common:target-linux-arm64 --platforms=@buildbuddy_toolchain//:platform_linux_arm64
common:target-linux-arm64 --extra_execution_platforms=@buildbuddy_toolchain//:platform_linux_arm64

# Build with --config=remote to use BuildBuddy RBE.
common:remote --config=remote-shared
# Flags shared for prod RBE and cache
common:remote-prod-shared --config=remote-shared
common:remote-prod-shared --config=cache
common:remote-prod-shared --remote_executor=grpcs://buildbuddy.buildbuddy.io

# Build with --config=remote to use BuildBuddy RBE, generally as a human from
# the command line. Other configs shoudn't embed this.
common:remote --config=remote-prod-shared
common:remote --config=target-linux-x86
common:remote --config=cache
common:remote --remote_executor=grpcs://buildbuddy.buildbuddy.io
common:remote --remote_download_toplevel

# Build with --config=remote-minimal to use BuildBuddy RBE in automated
# processes, (probers, workflows, ci, etc.) where the outputs shouldn't be
# downloaded.
common:remote-minimal --config=remote-prod-shared
common:remote-minimal --config=target-linux-x86
common:remote-minimal --remote_download_minimal

# Specify arch to do cross-platform builds on remote until the go toolchain can
# accomodate multiple execution platforms
common:remote-linux-arm64 --config=remote-shared
common:remote-linux-arm64 --config=remote-prod-shared
common:remote-linux-arm64 --config=target-linux-arm64
common:remote-linux-arm64 --config=cache
common:remote-linux-arm64 --remote_executor=grpcs://buildbuddy.buildbuddy.io
common:remote-linux-arm64 --remote_download_toplevel

# Flags shared for dev RBE and cache
common:remote-dev-shared --config=remote-shared
common:remote-dev-shared --config=cache-dev
common:remote-dev-shared --remote_executor=grpcs://buildbuddy.buildbuddy.dev

# Build with --config=remote-dev to use BuildBuddy RBE.
common:remote-dev --config=remote-shared
common:remote-dev --config=remote-dev-shared
common:remote-dev --config=target-linux-x86
common:remote-dev --config=cache-dev
common:remote-dev --remote_executor=grpcs://buildbuddy.buildbuddy.dev
common:remote-dev --remote_download_toplevel

# Specify arch to do cross-platform builds on remote-dev
common:remote-dev-linux-arm64 --config=remote-shared
common:remote-dev-linux-arm64 --config=remote-dev-shared
common:remote-dev-linux-arm64 --config=target-linux-arm64
common:remote-dev-linux-arm64 --config=cache-dev
common:remote-dev-linux-arm64 --remote_executor=grpcs://buildbuddy.buildbuddy.dev
common:remote-dev-linux-arm64 --remote_download_toplevel

# Flags shared across prober configs
common:probers-shared --config=remote-shared
common:probers-shared --config=target-linux-x86
common:probers-shared --remote_upload_local_results
common:probers-shared --remote_cache_compression
common:probers-shared --experimental_remote_cache_compression_threshold=100
common:probers-shared --remote_download_minimal

# Build with --config=probers to use BuildBuddy RBE in the probers org.
common:probers --config=remote-shared
common:probers --config=target-linux-x86
common:probers --config=probers-shared
common:probers --bes_results_url=https://buildbuddy-probers-us-west1.buildbuddy.io/invocation/
common:probers --bes_backend=grpcs://buildbuddy-probers-us-west1.buildbuddy.io
common:probers --remote_cache=grpcs://buildbuddy-probers-us-west1.buildbuddy.io
common:probers --remote_executor=grpcs://buildbuddy-probers-us-west1.buildbuddy.io
common:probers --remote_upload_local_results
common:probers --remote_cache_compression
common:probers --experimental_remote_cache_compression_threshold=100

# Build with --config=probers-dev to use BuildBuddy RBE in the probers org.
common:probers-dev --config=remote-shared
common:probers-dev --config=target-linux-x86
common:probers-dev --config=probers-shared
common:probers-dev --bes_results_url=https://buildbuddy-probers.buildbuddy.dev/invocation/
common:probers-dev --bes_backend=grpcs://buildbuddy-probers.buildbuddy.dev
common:probers-dev --remote_cache=grpcs://buildbuddy-probers.buildbuddy.dev
common:probers-dev --remote_executor=grpcs://buildbuddy-probers.buildbuddy.dev
common:probers-dev --remote_upload_local_results
common:probers-dev --remote_cache_compression
common:probers-dev --experimental_remote_cache_compression_threshold=100

# Write build outputs in a platform-specific directory,
# avoid outputs being wiped and rewritten when switching between platforms.
common --experimental_platform_in_output_dir

# Configuration used for GitHub actions-based CI
common:ci --config=remote
common:ci --config=remote-minimal
common:ci --build_metadata=ROLE=CI
common:ci --build_metadata=VISIBILITY=PUBLIC
common:ci --remote_instance_name=buildbuddy-io/buildbuddy/ci
Expand All @@ -110,7 +123,7 @@ common:ci --disk_cache=
# common:ci --@io_bazel_rules_go//go/config:race

# Configuration used for untrusted GitHub actions-based CI
common:untrusted-ci --config=remote
common:untrusted-ci --config=remote-minimal
common:untrusted-ci --remote_instance_name=buildbuddy-io/buildbuddy/untrusted-ci
common:untrusted-ci --repository_cache=/home/runner/repo-cache/untrusted/
common:untrusted-ci --disk_cache=
Expand Down Expand Up @@ -141,6 +154,7 @@ common:workflows --remote_instance_name=buildbuddy-io/buildbuddy/workflows
common:workflows --color=yes
common:workflows --disk_cache=
common:workflows --flaky_test_attempts=2
common:workflows --remote_download_minimal
# Use BuildBuddy endpoints from the ci_runner-generated bazelrc.
# These will point to local, dev, or prod, depending on which app created the workflow action.
common:workflows --config=buildbuddy_bes_backend
Expand All @@ -153,7 +167,7 @@ common:race --@io_bazel_rules_go//go/config:race
common:performance --compilation_mode=opt

# Configuration used to deflake tests
common:deflake --config=remote
common:deflake --config=remote-minimal
common:deflake --runs_per_test=100
common:deflake --test_output=errors
common:deflake --notest_keep_going
Expand Down Expand Up @@ -184,7 +198,8 @@ common:release-shared --strip=always

# Configuration used for Linux releases
common:release --config=release-shared
common:release --config=remote
common:release --config=remote-prod-shared
common:release --config=target-linux-x86
common:release --remote_instance_name=buildbuddy-io/buildbuddy/release
common:release --remote_download_toplevel

Expand Down
Loading