summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilip Kuryloski <kuryloskip@vmware.com>2021-11-10 15:04:45 +0100
committermergify-bot <noreply@mergify.io>2021-11-12 17:17:00 +0000
commit08eb96f9b581bacb7b83eaa6819b753505402e93 (patch)
tree82f7402de62a5e747005c11997ea65ea5972ceec
parent1c690a337ef851b284dd4e1cce7714203593beb0 (diff)
downloadrabbitmq-server-git-mergify/bp/v3.9.x/pr-3683.tar.gz
Use externailzed rbe config in bazelmergify/bp/v3.9.x/pr-3683
(cherry picked from commit 92068f481c7468d0b6d6633a053eb6df34e65cc6) # Conflicts: # .github/workflows/perform-bazel-execution-comparison.yaml # .github/workflows/test-erlang-git.yaml # .github/workflows/test-mixed-versions.yaml # .github/workflows/test.yaml # BUILD.bazel
-rw-r--r--.bazelrc41
-rw-r--r--.github/workflows/perform-bazel-execution-comparison.yaml123
-rw-r--r--.github/workflows/rabbitmq_peer_discovery_aws.yaml10
-rw-r--r--.github/workflows/test-erlang-git.yaml56
-rw-r--r--.github/workflows/test-mixed-versions.yaml18
-rw-r--r--.github/workflows/test.yaml18
-rw-r--r--BUILD.bazel3
-rw-r--r--WORKSPACE.bazel11
8 files changed, 249 insertions, 31 deletions
diff --git a/.bazelrc b/.bazelrc
index af4ae18855..5b11a54475 100644
--- a/.bazelrc
+++ b/.bazelrc
@@ -14,38 +14,25 @@ build:rbe --config=buildbuddy
build:rbe --remote_executor=grpcs://remote.buildbuddy.io
-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 --host_javabase=@rbe_default//java:jdk
+build:rbe --javabase=@rbe_default//java:jdk
+build:rbe --host_java_toolchain=@bazel_tools//tools/jdk:toolchain_hostjdk8
+build:rbe --java_toolchain=@bazel_tools//tools/jdk:toolchain_hostjdk8
+build:rbe --crosstool_top=@rbe_default//cc:toolchain
+build:rbe --extra_toolchains=@rbe_default//config:cc-toolchain
+build:rbe --action_env=BAZEL_DO_NOT_DETECT_CPP_TOOLCHAIN=1
+
+build:rbe --host_platform=@rbe_default//config:platform
+build:rbe --platforms=@rbe_default//config:platform
+build:rbe --extra_execution_platforms=@rbe_default//config:platform
+
+build:rbe --@bazel-erlang//:erlang_version=24
build:rbe --@bazel-erlang//:erlang_home=/usr/lib/erlang
build:rbe --//:elixir_home=/usr/local
build:rbe --spawn_strategy=remote
build:rbe --test_strategy=""
-build:rbe --jobs=50
-
-build:rbe-23 --config=rbe
-build:rbe-23 --host_platform=//:erlang_23_platform
-build:rbe-23 --platforms=//:erlang_23_platform
-build:rbe-23 --extra_execution_platforms=//:erlang_23_platform
-build:rbe-23 --@bazel-erlang//:erlang_version=23
-
-build:rbe-24 --config=rbe
-build:rbe-24 --host_platform=//:erlang_24_platform
-build:rbe-24 --platforms=//:erlang_24_platform
-build:rbe-24 --extra_execution_platforms=//:erlang_24_platform
-build:rbe-24 --@bazel-erlang//:erlang_version=24
-
-build:rbe-git --config=rbe
-build:rbe-git --host_platform=//:erlang_git_platform
-build:rbe-git --platforms=//:erlang_git_platform
-build:rbe-git --extra_execution_platforms=//:erlang_git_platform
-build:rbe-git --@bazel-erlang//:erlang_home=/usr/local/lib/erlang
-build:rbe-git --@bazel-erlang//:erlang_version=25
+build:rbe --jobs=100
# Try importing a user specific .bazelrc
# You can create your own by copying and editing the template-user.bazelrc template:
diff --git a/.github/workflows/perform-bazel-execution-comparison.yaml b/.github/workflows/perform-bazel-execution-comparison.yaml
new file mode 100644
index 0000000000..5f13a616fa
--- /dev/null
+++ b/.github/workflows/perform-bazel-execution-comparison.yaml
@@ -0,0 +1,123 @@
+name: Gather Bazel Execution Logs
+on:
+ workflow_dispatch:
+ inputs:
+ target:
+ description: 'A bazel label representing the test target'
+ required: true
+ default: '//deps/rabbit:rabbit_stream_queue_SUITE'
+jobs:
+ run-a:
+ name: Run A
+ runs-on: ubuntu-latest
+ strategy:
+ matrix:
+ erlang_version:
+ - "24"
+ include:
+ - erlang_version: "24"
+ rbe_default_branch: linux-erlang-24.1
+ cache_name: ci-bazel-cache-analysis
+ timeout-minutes: 120
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2.4.0
+ - name: SELECT ERLANG VERSION
+ run: |
+ sudo npm install --global --silent @bazel/buildozer
+ echo "$(cat WORKSPACE.bazel | npx buildozer 'set branch "${{ matrix.rbe_default_branch }}"' -:rbe_default)" > WORKSPACE.bazel
+ git diff
+ - name: CONFIGURE BAZEL
+ run: |
+ cat << EOF >> user.bazelrc
+ build:buildbuddy --remote_header=x-buildbuddy-api-key=${{ secrets.BUILDBUDDY_API_KEY }}
+
+ build:buildbuddy --build_metadata=ROLE=CI
+ build:buildbuddy --remote_instance_name=buildbuddy-io/buildbuddy/ci-${{ matrix.cache_name }}
+
+ build:rbe --@bazel-erlang//:erlang_version=${{ matrix.erlang_version }}
+ EOF
+ - name: RUN TESTS
+ run: |
+ bazelisk test ${{ github.event.inputs.target }} \
+ --config=rbe \
+ --execution_log_binary_file=/tmp/exec.log
+ - name: SAVE EXECUTION LOG BINARY
+ uses: actions/upload-artifact@v2-preview
+ with:
+ name: execution-log-binary-A
+ path: /tmp/exec.log
+ run-b:
+ name: Run B
+ needs: run-a
+ runs-on: ubuntu-latest
+ strategy:
+ matrix:
+ erlang_version:
+ - "24"
+ include:
+ - erlang_version: "24"
+ rbe_default_branch: linux-erlang-24.1
+ cache_name: ci-bazel-cache-analysis
+ timeout-minutes: 120
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2.4.0
+ - name: SELECT ERLANG VERSION
+ run: |
+ sudo npm install --global --silent @bazel/buildozer
+ echo "$(cat WORKSPACE.bazel | npx buildozer 'set branch "${{ matrix.rbe_default_branch }}"' -:rbe_default)" > WORKSPACE.bazel
+ git diff
+ - name: CONFIGURE BAZEL
+ run: |
+ cat << EOF >> user.bazelrc
+ build:buildbuddy --remote_header=x-buildbuddy-api-key=${{ secrets.BUILDBUDDY_API_KEY }}
+
+ build:buildbuddy --build_metadata=ROLE=CI
+ build:buildbuddy --remote_instance_name=buildbuddy-io/buildbuddy/ci-${{ matrix.cache_name }}
+
+ build:rbe --@bazel-erlang//:erlang_version=${{ matrix.erlang_version }}
+ EOF
+ - name: RUN TESTS
+ run: |
+ bazelisk test ${{ github.event.inputs.target }} \
+ --config=rbe \
+ --execution_log_binary_file=/tmp/exec.log
+ - name: SAVE EXECUTION LOG BINARY
+ uses: actions/upload-artifact@v2-preview
+ with:
+ name: execution-log-binary-B
+ path: /tmp/exec.log
+ parse-logs:
+ name: Parse Logs
+ needs: [run-a, run-b]
+ runs-on: ubuntu-latest
+ steps:
+ - name: CHECKOUT BAZEL
+ uses: actions/checkout@v2.4.0
+ with:
+ repository: bazelbuild/bazel
+ path: bazel
+ - name: MOUNT BAZEL CACHE
+ uses: actions/cache@v2
+ with:
+ path: "/home/runner/.cache/bazel"
+ key: bazel
+ - name: BUILD EXECLOG PARSER
+ working-directory: bazel
+ run: |
+ bazelisk build src/tools/execlog:parser
+ - name: FETCH LOGS
+ uses: actions/download-artifact@v2
+ - name: PARSE LOGS
+ run: |
+ bazel/bazel-bin/src/tools/execlog/parser \
+ --log_path=./execution-log-binary-A/exec.log \
+ --log_path=./execution-log-binary-B/exec.log \
+ --output_path=/tmp/execution-log-binary-A.log.txt \
+ --output_path=/tmp/execution-log-binary-B.log.txt
+ - name: SAVE PARSED LOGS
+ uses: actions/upload-artifact@v2-preview
+ with:
+ name: parsed-logs
+ path: /tmp/execution-log-binary-*.log.txt
diff --git a/.github/workflows/rabbitmq_peer_discovery_aws.yaml b/.github/workflows/rabbitmq_peer_discovery_aws.yaml
index 2c34701962..7586fa2896 100644
--- a/.github/workflows/rabbitmq_peer_discovery_aws.yaml
+++ b/.github/workflows/rabbitmq_peer_discovery_aws.yaml
@@ -15,6 +15,7 @@ jobs:
include:
- image_tag_suffix: otp-max
erlang_version: "24"
+ rbe_default_branch: linux-erlang-24.1
timeout-minutes: 45
steps:
- name: CHECKOUT REPOSITORY
@@ -26,6 +27,11 @@ jobs:
check-name: build-publish-dev (${{ matrix.image_tag_suffix }})
repo-token: ${{ secrets.GITHUB_TOKEN }}
wait-interval: 30 # seconds
+ - name: SELECT ERLANG VERSION
+ run: |
+ sudo npm install --global --silent @bazel/buildozer
+ echo "$(cat WORKSPACE.bazel | npx buildozer 'set branch "${{ matrix.rbe_default_branch }}"' -:rbe_default)" > WORKSPACE.bazel
+ git diff
- name: CONFIGURE BAZEL
run: |
cat << EOF >> user.bazelrc
@@ -34,6 +40,8 @@ jobs:
build:buildbuddy --build_metadata=ROLE=CI
build:buildbuddy --build_metadata=VISIBILITY=PRIVATE
build:buildbuddy --remote_instance_name=buildbuddy-io/buildbuddy/ci-aws-${{ matrix.erlang_version }}
+
+ build:rbe --@bazel-erlang//:erlang_version=${{ matrix.erlang_version }}
EOF
#! - name: Setup tmate session
#! uses: mxschmitt/action-tmate@v3
@@ -41,7 +49,7 @@ jobs:
run: |
branch_or_tag="${GITHUB_REF##*/}"
bazelisk test //deps/rabbitmq_peer_discovery_aws:integration_SUITE \
- --config=rbe-${{ matrix.erlang_version }} \
+ --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-erlang-git.yaml b/.github/workflows/test-erlang-git.yaml
new file mode 100644
index 0000000000..2b05348b84
--- /dev/null
+++ b/.github/workflows/test-erlang-git.yaml
@@ -0,0 +1,56 @@
+name: Test Erlang Git Master
+on:
+ schedule:
+ - cron: '0 2 * * *'
+ workflow_dispatch:
+jobs:
+ test-erlang-git:
+ name: Test (Erlang Git Master)
+ runs-on: ubuntu-18.04
+ timeout-minutes: 120
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2.4.0
+ - name: UPDATE RBE IMAGE SHA
+ env:
+ IMAGE: pivotalrabbitmq/rabbitmq-server-buildenv
+ TAG: linux-erlang-git-master
+ run: |
+ # buildbuddy caches the container image, so we must use a specific sha to ensure
+ # the latest is used
+ DIGEST="$(skopeo inspect --format '{{.Digest}}' docker://${IMAGE}:${TAG})"
+ echo "Will use ${IMAGE}@${DIGEST}"
+ sudo npm install --global --silent @bazel/buildozer
+ npx buildozer \
+ "dict_set exec_properties container-image:docker://${IMAGE}@${DIGEST}" \
+ //:erlang_git_platform
+ - name: CONFIGURE BAZEL
+ run: |
+ cat << EOF >> user.bazelrc
+ build:buildbuddy --remote_header=x-buildbuddy-api-key=${{ secrets.BUILDBUDDY_API_KEY }}
+
+ build:buildbuddy --build_metadata=ROLE=CI
+ build:buildbuddy --build_metadata=VISIBILITY=PUBLIC
+ build:buildbuddy --remote_instance_name=buildbuddy-io/buildbuddy/ci-erlang-git
+
+ build:rbe-git --crosstool_top=@buildbuddy_toolchain//:toolchain
+ build:rbe-git --extra_toolchains=@buildbuddy_toolchain//:cc_toolchain
+ build:rbe-git --javabase=@buildbuddy_toolchain//:javabase_jdk8
+ build:rbe-git --host_javabase=@buildbuddy_toolchain//:javabase_jdk8
+ build:rbe-git --java_toolchain=@buildbuddy_toolchain//:toolchain_jdk8
+ build:rbe-git --host_java_toolchain=@buildbuddy_toolchain//:toolchain_jdk8
+
+ build:rbe-git --host_platform=//:erlang_git_platform
+ build:rbe-git --platforms=//:erlang_git_platform
+ build:rbe-git --extra_execution_platforms=//:erlang_git_platform
+ build:rbe-git --@bazel-erlang//:erlang_home=/usr/local/lib/erlang
+ build:rbe-git --@bazel-erlang//:erlang_version=25
+ EOF
+ #! - name: Setup tmate session
+ #! uses: mxschmitt/action-tmate@v3
+ - name: RUN TESTS
+ run: |
+ bazelisk test //... \
+ --config=rbe-git \
+ --test_tag_filters=-mixed-version-cluster,-exclusive,-aws \
+ --verbose_failures
diff --git a/.github/workflows/test-mixed-versions.yaml b/.github/workflows/test-mixed-versions.yaml
index 91e90db8e9..9d70b38b2b 100644
--- a/.github/workflows/test-mixed-versions.yaml
+++ b/.github/workflows/test-mixed-versions.yaml
@@ -27,10 +27,24 @@ jobs:
erlang_version:
- "23"
- "24"
+ include:
+ - erlang_version: "23"
+ rbe_default_branch: linux-erlang-23.3
+ - erlang_version: "24"
+ rbe_default_branch: linux-erlang-24.1
timeout-minutes: 120
steps:
- name: CHECKOUT REPOSITORY
+<<<<<<< HEAD
uses: actions/checkout@v2.3.4
+=======
+ uses: actions/checkout@v2.4.0
+ - name: SELECT ERLANG VERSION
+ run: |
+ sudo npm install --global --silent @bazel/buildozer
+ echo "$(cat WORKSPACE.bazel | npx buildozer 'set branch "${{ matrix.rbe_default_branch }}"' -:rbe_default)" > WORKSPACE.bazel
+ git diff
+>>>>>>> 92068f481c (Use externailzed rbe config in bazel)
- name: CONFIGURE BAZEL
run: |
cat << EOF >> user.bazelrc
@@ -39,13 +53,15 @@ jobs:
build:buildbuddy --build_metadata=ROLE=CI
build:buildbuddy --build_metadata=VISIBILITY=PUBLIC
build:buildbuddy --remote_instance_name=buildbuddy-io/buildbuddy/ci-${{ matrix.erlang_version }}
+
+ build:rbe --@bazel-erlang//:erlang_version=${{ matrix.erlang_version }}
EOF
#! - name: Setup tmate session
#! uses: mxschmitt/action-tmate@v3
- name: RUN TESTS
run: |
bazelisk test //... \
- --config=rbe-${{ matrix.erlang_version }} \
+ --config=rbe \
--test_tag_filters=mixed-version-cluster,-exclusive,-aws \
--verbose_failures
test-exclusive-mixed-versions:
diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml
index d75635094b..e0decf6305 100644
--- a/.github/workflows/test.yaml
+++ b/.github/workflows/test.yaml
@@ -23,10 +23,24 @@ jobs:
erlang_version:
- "23"
- "24"
+ include:
+ - erlang_version: "23"
+ rbe_default_branch: linux-erlang-23.3
+ - erlang_version: "24"
+ rbe_default_branch: linux-erlang-24.1
timeout-minutes: 120
steps:
- name: CHECKOUT REPOSITORY
+<<<<<<< HEAD
uses: actions/checkout@v2.3.4
+=======
+ uses: actions/checkout@v2.4.0
+ - name: SELECT ERLANG VERSION
+ run: |
+ sudo npm install --global --silent @bazel/buildozer
+ echo "$(cat WORKSPACE.bazel | npx buildozer 'set branch "${{ matrix.rbe_default_branch }}"' -:rbe_default)" > WORKSPACE.bazel
+ git diff
+>>>>>>> 92068f481c (Use externailzed rbe config in bazel)
- name: CONFIGURE BAZEL
run: |
cat << EOF >> user.bazelrc
@@ -35,13 +49,15 @@ jobs:
build:buildbuddy --build_metadata=ROLE=CI
build:buildbuddy --build_metadata=VISIBILITY=PUBLIC
build:buildbuddy --remote_instance_name=buildbuddy-io/buildbuddy/ci-${{ matrix.erlang_version }}
+
+ build:rbe --@bazel-erlang//:erlang_version=${{ matrix.erlang_version }}
EOF
#! - name: Setup tmate session
#! uses: mxschmitt/action-tmate@v3
- name: RUN TESTS
run: |
bazelisk test //... \
- --config=rbe-${{ matrix.erlang_version }} \
+ --config=rbe \
--test_tag_filters=-exclusive,-aws,-mixed-version-cluster \
--verbose_failures
test-exclusive:
diff --git a/BUILD.bazel b/BUILD.bazel
index 8855917f0c..113019316b 100644
--- a/BUILD.bazel
+++ b/BUILD.bazel
@@ -18,6 +18,7 @@ elixir_home(
)
platform(
+<<<<<<< HEAD
name = "erlang_23_platform",
constraint_values = [
"@platforms//os:linux",
@@ -46,6 +47,8 @@ platform(
)
platform(
+=======
+>>>>>>> 92068f481c (Use externailzed rbe config in bazel)
name = "erlang_git_platform",
constraint_values = [
"@platforms//os:linux",
diff --git a/WORKSPACE.bazel b/WORKSPACE.bazel
index ac89ceffad..5c58601a89 100644
--- a/WORKSPACE.bazel
+++ b/WORKSPACE.bazel
@@ -14,7 +14,16 @@ buildbuddy_deps()
load("@io_buildbuddy_buildbuddy_toolchain//:rules.bzl", "buildbuddy")
-buildbuddy(name = "buildbuddy_toolchain")
+buildbuddy(
+ name = "buildbuddy_toolchain",
+ llvm = True,
+)
+
+git_repository(
+ name = "rbe_default",
+ branch = "linux-erlang-24.1",
+ remote = "https://github.com/rabbitmq/rbe-erlang-platform.git",
+)
http_archive(
name = "rules_pkg",