summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.bazelrc31
-rw-r--r--.github/workflows/rabbitmq_peer_discovery_aws.yaml39
-rw-r--r--.github/workflows/test.yaml44
-rw-r--r--.gitignore2
-rw-r--r--user-template.bazelrc16
5 files changed, 71 insertions, 61 deletions
diff --git a/.bazelrc b/.bazelrc
new file mode 100644
index 0000000000..45b7696979
--- /dev/null
+++ b/.bazelrc
@@ -0,0 +1,31 @@
+build --incompatible_strict_action_env
+
+build:rbe --remote_executor=grpcs://cloud.buildbuddy.io
+build:rbe --host_platform=//:erlang_24_platform
+build:rbe --platforms=//:erlang_24_platform
+build:rbe --extra_execution_platforms=//:erlang_24_platform
+
+build:rbe --crosstool_top=@buildbuddy_toolchain//:toolchain
+build:rbe --extra_toolchains=@buildbuddy_toolchain//:cc_toolchain
+build:rbe --javabase=@buildbuddy_toolchain//:javabase_jdk8
+build:rbe --host_javabase=@buildbuddy_toolchain//:javabase_jdk8
+build:rbe --java_toolchain=@buildbuddy_toolchain//:toolchain_jdk8
+build:rbe --host_java_toolchain=@buildbuddy_toolchain//:toolchain_jdk8
+
+build:rbe --@bazel-erlang//:erlang_version=24
+build:rbe --@bazel-erlang//:erlang_home=/usr/lib/erlang
+build:rbe --//:elixir_home=/usr/local
+
+build:rbe --bes_results_url=https://app.buildbuddy.io/invocation/
+build:rbe --bes_backend=grpcs://cloud.buildbuddy.io
+build:rbe --remote_cache=grpcs://cloud.buildbuddy.io
+build:rbe --remote_timeout=1200
+
+build:rbe --spawn_strategy=remote
+build:rbe --test_strategy=""
+build:rbe --jobs=50
+
+# Try importing a user specific .bazelrc
+# You can create your own by copying and editing the template-user.bazelrc template:
+# cp template-user.bazelrc user.bazelrc
+try-import %workspace%/user.bazelrc
diff --git a/.github/workflows/rabbitmq_peer_discovery_aws.yaml b/.github/workflows/rabbitmq_peer_discovery_aws.yaml
index 3d31faff51..c0154b8092 100644
--- a/.github/workflows/rabbitmq_peer_discovery_aws.yaml
+++ b/.github/workflows/rabbitmq_peer_discovery_aws.yaml
@@ -26,36 +26,18 @@ jobs:
run: |
echo "${{ secrets.BUILDBUDDY_CERT }}" > buildbuddy-cert.pem
echo "${{ secrets.BUILDBUDDY_KEY }}" > buildbuddy-key.pem
- cat << EOF >> .bazelrc
- build --remote_executor=grpcs://cloud.buildbuddy.io
- build --host_platform=//:erlang_${{ matrix.erlang_version }}_platform
- build --platforms=//:erlang_${{ matrix.erlang_version }}_platform
- build --extra_execution_platforms=//:erlang_${{ matrix.erlang_version }}_platform
+ cat << EOF >> user.bazelrc
+ build:rbe --host_platform=//:erlang_${{ matrix.erlang_version }}_platform
+ build:rbe --platforms=//:erlang_${{ matrix.erlang_version }}_platform
+ build:rbe --extra_execution_platforms=//:erlang_${{ matrix.erlang_version }}_platform
- build --crosstool_top=@buildbuddy_toolchain//:toolchain
- build --extra_toolchains=@buildbuddy_toolchain//:cc_toolchain
- build --javabase=@buildbuddy_toolchain//:javabase_jdk8
- build --host_javabase=@buildbuddy_toolchain//:javabase_jdk8
- build --java_toolchain=@buildbuddy_toolchain//:toolchain_jdk8
- build --host_java_toolchain=@buildbuddy_toolchain//:toolchain_jdk8
+ build:rbe --@bazel-erlang//:erlang_version=${{ matrix.erlang_version }}
+ build:rbe --tls_client_certificate=buildbuddy-cert.pem
+ build:rbe --tls_client_key=buildbuddy-key.pem
- build --@bazel-erlang//:erlang_version=${{ matrix.erlang_version }}
- build --@bazel-erlang//:erlang_home=/usr/lib/erlang
- build --//:elixir_home=/usr/local
-
- build --incompatible_strict_action_env
-
- build --bes_results_url=https://app.buildbuddy.io/invocation/
- build --bes_backend=grpcs://cloud.buildbuddy.io
- build --remote_cache=grpcs://cloud.buildbuddy.io
- build --tls_client_certificate=buildbuddy-cert.pem
- build --tls_client_key=buildbuddy-key.pem
- build --remote_timeout=1200
-
- build --build_metadata=ROLE=CI
- build --build_metadata=VISIBILITY=PRIVATE
- build --remote_instance_name=buildbuddy-io/buildbuddy/ci-aws-${{ matrix.erlang_version }}
- build --grpc_keepalive_time=30s
+ build:rbe --build_metadata=ROLE=CI
+ build:rbe --build_metadata=VISIBILITY=PRIVATE
+ build:rbe --remote_instance_name=buildbuddy-io/buildbuddy/ci-aws-${{ matrix.erlang_version }}
EOF
#! - name: Setup tmate session
#! uses: mxschmitt/action-tmate@v3
@@ -63,6 +45,7 @@ jobs:
run: |
branch_or_tag="${GITHUB_REF##*/}"
bazelisk test //deps/rabbitmq_peer_discovery_aws:integration_SUITE \
+ --config=rbe \
--test_tag_filters=aws \
--build_tests_only \
--test_env AWS_ACCESS_KEY_ID=${{ secrets.CONCOURSE_AWS_ACCESS_KEY_ID }} \
diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml
index 3b1f34fd08..12e4d36351 100644
--- a/.github/workflows/test.yaml
+++ b/.github/workflows/test.yaml
@@ -18,44 +18,26 @@ jobs:
run: |
echo "${{ secrets.BUILDBUDDY_CERT }}" > buildbuddy-cert.pem
echo "${{ secrets.BUILDBUDDY_KEY }}" > buildbuddy-key.pem
- cat << EOF >> .bazelrc
- build --remote_executor=grpcs://cloud.buildbuddy.io
- build --host_platform=//:erlang_${{ matrix.erlang_version }}_platform
- build --platforms=//:erlang_${{ matrix.erlang_version }}_platform
- build --extra_execution_platforms=//:erlang_${{ matrix.erlang_version }}_platform
+ cat << EOF >> user.bazelrc
+ build:rbe --host_platform=//:erlang_${{ matrix.erlang_version }}_platform
+ build:rbe --platforms=//:erlang_${{ matrix.erlang_version }}_platform
+ build:rbe --extra_execution_platforms=//:erlang_${{ matrix.erlang_version }}_platform
- build --crosstool_top=@buildbuddy_toolchain//:toolchain
- build --extra_toolchains=@buildbuddy_toolchain//:cc_toolchain
- build --javabase=@buildbuddy_toolchain//:javabase_jdk8
- build --host_javabase=@buildbuddy_toolchain//:javabase_jdk8
- build --java_toolchain=@buildbuddy_toolchain//:toolchain_jdk8
- build --host_java_toolchain=@buildbuddy_toolchain//:toolchain_jdk8
+ build:rbe --@bazel-erlang//:erlang_version=${{ matrix.erlang_version }}
- build --@bazel-erlang//:erlang_version=${{ matrix.erlang_version }}
- build --@bazel-erlang//:erlang_home=/usr/lib/erlang
- build --//:elixir_home=/usr/local
-
- build --incompatible_strict_action_env
-
- build --bes_results_url=https://app.buildbuddy.io/invocation/
- build --bes_backend=grpcs://cloud.buildbuddy.io
- build --remote_cache=grpcs://cloud.buildbuddy.io
- build --tls_client_certificate=buildbuddy-cert.pem
- build --tls_client_key=buildbuddy-key.pem
- build --remote_timeout=1200
+ build:rbe --tls_client_certificate=buildbuddy-cert.pem
+ build:rbe --tls_client_key=buildbuddy-key.pem
- build --build_metadata=ROLE=CI
- build --build_metadata=VISIBILITY=PUBLIC
- build --remote_instance_name=buildbuddy-io/buildbuddy/ci-${{ matrix.erlang_version }}
- build --spawn_strategy=remote
- build --jobs=50
- build --grpc_keepalive_time=30s
+ build:rbe --build_metadata=ROLE=CI
+ build:rbe --build_metadata=VISIBILITY=PUBLIC
+ build:rbe --remote_instance_name=buildbuddy-io/buildbuddy/ci-${{ matrix.erlang_version }}
EOF
#! - name: Setup tmate session
#! uses: mxschmitt/action-tmate@v3
- name: RUN TESTS
run: |
bazelisk test //... \
+ --config=rbe \
--test_tag_filters=-exclusive,-aws \
--verbose_failures
test-exclusive:
@@ -81,13 +63,11 @@ jobs:
ELIXIR_HOME="$(dirname $(dirname $(which iex)))"
echo "${{ secrets.BUILDBUDDY_CERT }}" > buildbuddy-cert.pem
echo "${{ secrets.BUILDBUDDY_KEY }}" > buildbuddy-key.pem
- cat << EOF >> .bazelrc
+ cat << EOF >> user.bazelrc
build --@bazel-erlang//:erlang_version=${{ matrix.erlang_version }}
build --@bazel-erlang//:erlang_home=${ERLANG_HOME}
build --//:elixir_home=${ELIXIR_HOME}
- build --incompatible_strict_action_env
-
build --bes_results_url=https://app.buildbuddy.io/invocation/
build --bes_backend=grpcs://cloud.buildbuddy.io
build --remote_cache=grpcs://cloud.buildbuddy.io
diff --git a/.gitignore b/.gitignore
index 7aedde58a3..a0ea48d6d1 100644
--- a/.gitignore
+++ b/.gitignore
@@ -75,5 +75,5 @@ rabbitmq-server-*.zip
traces*
callgrand*
-/.bazelrc
+/user.bazelrc
/bazel-*
diff --git a/user-template.bazelrc b/user-template.bazelrc
new file mode 100644
index 0000000000..20adf1b95c
--- /dev/null
+++ b/user-template.bazelrc
@@ -0,0 +1,16 @@
+build --@bazel-erlang//:erlang_home=/Users/rabbitmq/kerl/24.0
+build --@bazel-erlang//:erlang_version=24.0
+build --//:elixir_home=/Users/rabbitmq/.kiex/elixirs/elixir-1.12.0/lib/elixir
+
+# rabbitmqctl wait shells out to 'ps', which is broken in the bazel macOS
+# sandbox (https://github.com/bazelbuild/bazel/issues/7448)
+# adding "--spawn_strategy=local" to the invocation is a workaround
+build --spawn_strategy=local
+
+# run one test at a time on the local machine
+build --test_strategy=exclusive
+
+# don't re-run flakes automatically on the local machine
+build --flaky_test_attempts=1
+
+build:rbe --remote_header=x-buildbuddy-api-key=YOUR_API_KEY