diff options
-rw-r--r-- | .bazelrc | 31 | ||||
-rw-r--r-- | .github/workflows/rabbitmq_peer_discovery_aws.yaml | 39 | ||||
-rw-r--r-- | .github/workflows/test.yaml | 44 | ||||
-rw-r--r-- | .gitignore | 2 | ||||
-rw-r--r-- | user-template.bazelrc | 16 |
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 |