Use externailzed rbe config in bazel
This commit is contained in:
parent
983afafdee
commit
df0fa0ce60
44
.bazelrc
44
.bazelrc
|
@ -14,38 +14,42 @@ 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_java_toolchain=@bazel_tools//tools/jdk:toolchain_hostjdk8
|
||||
build:rbe --java_toolchain=@bazel_tools//tools/jdk:toolchain_hostjdk8
|
||||
build:rbe --action_env=BAZEL_DO_NOT_DETECT_CPP_TOOLCHAIN=1
|
||||
|
||||
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 --jobs=100
|
||||
|
||||
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 --host_javabase=@rbe_23//java:jdk
|
||||
build:rbe-23 --javabase=@rbe_23//java:jdk
|
||||
build:rbe-23 --host_java_toolchain=@bazel_tools//tools/jdk:toolchain_hostjdk8
|
||||
build:rbe-23 --java_toolchain=@bazel_tools//tools/jdk:toolchain_hostjdk8
|
||||
build:rbe-23 --crosstool_top=@rbe_23//cc:toolchain
|
||||
build:rbe-23 --extra_toolchains=@rbe_23//config:cc-toolchain
|
||||
|
||||
build:rbe-23 --host_platform=@rbe_23//config:platform
|
||||
build:rbe-23 --platforms=@rbe_23//config:platform
|
||||
build:rbe-23 --extra_execution_platforms=@rbe_23//config: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-24 --host_javabase=@rbe_24//java:jdk
|
||||
build:rbe-24 --javabase=@rbe_24//java:jdk
|
||||
build:rbe-24 --crosstool_top=@rbe_24//cc:toolchain
|
||||
build:rbe-24 --extra_toolchains=@rbe_24//config:cc-toolchain
|
||||
|
||||
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-24 --host_platform=@rbe_24//config:platform
|
||||
build:rbe-24 --platforms=@rbe_24//config:platform
|
||||
build:rbe-24 --extra_execution_platforms=@rbe_24//config:platform
|
||||
|
||||
build:rbe-24 --@bazel-erlang//:erlang_version=24
|
||||
|
||||
# Try importing a user specific .bazelrc
|
||||
# You can create your own by copying and editing the template-user.bazelrc template:
|
||||
|
|
|
@ -6,13 +6,17 @@ on:
|
|||
description: 'A bazel label representing the test target'
|
||||
required: true
|
||||
default: '//deps/rabbit:rabbit_stream_queue_SUITE'
|
||||
env:
|
||||
ERLANG_MAJOR: "24"
|
||||
CACHE_NAME: ci-bazel-cache-analysis
|
||||
jobs:
|
||||
run-a:
|
||||
name: Run A
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
erlang_version:
|
||||
- "24"
|
||||
include:
|
||||
- erlang_version: "24"
|
||||
cache_name: ci-bazel-cache-analysis
|
||||
timeout-minutes: 120
|
||||
steps:
|
||||
- name: CHECKOUT REPOSITORY
|
||||
|
@ -23,12 +27,12 @@ jobs:
|
|||
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-${CACHE_NAME}
|
||||
build:buildbuddy --remote_instance_name=buildbuddy-io/buildbuddy/ci-${{ matrix.cache_name }}
|
||||
EOF
|
||||
- name: RUN TESTS
|
||||
run: |
|
||||
bazelisk test ${{ github.event.inputs.target }} \
|
||||
--config=rbe-${ERLANG_MAJOR} \
|
||||
--config=rbe-${{ matrix.erlang_version }} \
|
||||
--execution_log_binary_file=/tmp/exec.log
|
||||
- name: SAVE EXECUTION LOG BINARY
|
||||
uses: actions/upload-artifact@v2-preview
|
||||
|
@ -39,6 +43,13 @@ jobs:
|
|||
name: Run B
|
||||
needs: run-a
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
erlang_version:
|
||||
- "24"
|
||||
include:
|
||||
- erlang_version: "24"
|
||||
cache_name: ci-bazel-cache-analysis
|
||||
timeout-minutes: 120
|
||||
steps:
|
||||
- name: CHECKOUT REPOSITORY
|
||||
|
@ -49,12 +60,12 @@ jobs:
|
|||
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-${CACHE_NAME}
|
||||
build:buildbuddy --remote_instance_name=buildbuddy-io/buildbuddy/ci-${{ matrix.cache_name }}
|
||||
EOF
|
||||
- name: RUN TESTS
|
||||
run: |
|
||||
bazelisk test ${{ github.event.inputs.target }} \
|
||||
--config=rbe-${ERLANG_MAJOR} \
|
||||
--config=rbe-${{ matrix.erlang_version }} \
|
||||
--execution_log_binary_file=/tmp/exec.log
|
||||
- name: SAVE EXECUTION LOG BINARY
|
||||
uses: actions/upload-artifact@v2-preview
|
||||
|
|
|
@ -20,6 +20,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
|
||||
|
|
|
@ -32,6 +32,19 @@ jobs:
|
|||
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
|
||||
|
|
|
@ -0,0 +1,60 @@
|
|||
name: Update Bazel RBE Images
|
||||
on:
|
||||
schedule:
|
||||
- cron: '0 3 * * *'
|
||||
workflow_dispatch:
|
||||
jobs:
|
||||
update-rbe-images:
|
||||
name: Update Bazel RBE Images
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
max-parallel: 1
|
||||
matrix:
|
||||
erlang_version:
|
||||
- "23.3"
|
||||
- "24.1"
|
||||
include:
|
||||
- erlang_version: "23.3"
|
||||
short_version: "23"
|
||||
- erlang_version: "24.1"
|
||||
short_version: "24"
|
||||
timeout-minutes: 10
|
||||
steps:
|
||||
- name: CHECKOUT REPOSITORY
|
||||
uses: actions/checkout@v2.4.0
|
||||
with:
|
||||
path: rabbitmq-server
|
||||
- name: CHECKOUT rbe-erlang-platform REPOSITORY
|
||||
uses: actions/checkout@v2.4.0
|
||||
with:
|
||||
path: rbe-erlang-platform
|
||||
repository: rabbitmq/rbe-erlang-platform
|
||||
branch: linux-erlang-${{ matrix.erlang_version }}
|
||||
- name: DETERMINE LATEST COMMIT
|
||||
id: find-commit
|
||||
working-directory: rbe-erlang-platform
|
||||
run: |
|
||||
echo "::set-output name=SHA::$(git rev-parse HEAD)"
|
||||
- name: UPDATE rbe-erlang-platform COMMIT
|
||||
working-directory: rabbitmq-server
|
||||
run: |
|
||||
sudo npm install --global --silent @bazel/buildozer
|
||||
echo "$(cat WORKSPACE.bazel | npx buildozer 'set commit "${{ steps.find-commit.outputs.SHA }}"' -:rbe_${{ matrix.short_version }})" > WORKSPACE.bazel
|
||||
git diff
|
||||
- name: CREATE PULL REQUEST
|
||||
uses: peter-evans/create-pull-request@v3
|
||||
with:
|
||||
token: ${{ secrets.REPO_SCOPED_TOKEN }}
|
||||
committer: GitHub <noreply@github.com>
|
||||
author: GitHub <noreply@github.com>
|
||||
title: Adopt latest rabbitmq-server-buildenv:linux-erlang-${{ matrix.erlang_version }} for RBE
|
||||
path: rabbitmq-server
|
||||
commit-message: |
|
||||
Use latest rbe-erlang-platform/linux-erlang-${{ matrix.erlang_version }}
|
||||
|
||||
for remote build execution (RBE) with BuildBuddy
|
||||
labels: |
|
||||
backport-v3.9.x
|
||||
backport-v3.8.x
|
||||
branch: bump-rbe-${{ matrix.short_version }}
|
||||
delete-branch: true
|
28
BUILD.bazel
28
BUILD.bazel
|
@ -18,34 +18,6 @@ elixir_home(
|
|||
visibility = ["//visibility:public"],
|
||||
)
|
||||
|
||||
platform(
|
||||
name = "erlang_23_platform",
|
||||
constraint_values = [
|
||||
"@platforms//os:linux",
|
||||
"@platforms//cpu:x86_64",
|
||||
"@bazel_tools//tools/cpp:clang",
|
||||
],
|
||||
exec_properties = {
|
||||
"OSFamily": "Linux",
|
||||
# linux-erlang-23.3
|
||||
"container-image": "docker://pivotalrabbitmq/rabbitmq-server-buildenv@sha256:5de95518e8d5f3724839ad46e450b80d89cb0e7e546872a63b7ce4fd482a696e",
|
||||
},
|
||||
)
|
||||
|
||||
platform(
|
||||
name = "erlang_24_platform",
|
||||
constraint_values = [
|
||||
"@platforms//os:linux",
|
||||
"@platforms//cpu:x86_64",
|
||||
"@bazel_tools//tools/cpp:clang",
|
||||
],
|
||||
exec_properties = {
|
||||
"OSFamily": "Linux",
|
||||
# linux-erlang-24.0
|
||||
"container-image": "docker://pivotalrabbitmq/rabbitmq-server-buildenv@sha256:52a81330352656180952e9c3f09e510a529cc0ed4fd6bc3b480ad313f2ddc3ae",
|
||||
},
|
||||
)
|
||||
|
||||
platform(
|
||||
name = "erlang_git_platform",
|
||||
constraint_values = [
|
||||
|
|
|
@ -14,7 +14,22 @@ buildbuddy_deps()
|
|||
|
||||
load("@io_buildbuddy_buildbuddy_toolchain//:rules.bzl", "buildbuddy")
|
||||
|
||||
buildbuddy(name = "buildbuddy_toolchain")
|
||||
buildbuddy(
|
||||
name = "buildbuddy_toolchain",
|
||||
llvm = True,
|
||||
)
|
||||
|
||||
git_repository(
|
||||
name = "rbe_23",
|
||||
commit = "13b3045476b02aaaa2c91030fdaff91e7ab9bced",
|
||||
remote = "https://github.com/rabbitmq/rbe-erlang-platform.git",
|
||||
)
|
||||
|
||||
git_repository(
|
||||
name = "rbe_24",
|
||||
commit = "41a52ed360537f6794f6e759dd7eec7bbf65445c",
|
||||
remote = "https://github.com/rabbitmq/rbe-erlang-platform.git",
|
||||
)
|
||||
|
||||
http_archive(
|
||||
name = "rules_pkg",
|
||||
|
|
|
@ -11,3 +11,7 @@ build --spawn_strategy=local
|
|||
build --flaky_test_attempts=1
|
||||
|
||||
build:buildbuddy --remote_header=x-buildbuddy-api-key=YOUR_API_KEY
|
||||
|
||||
# cross compile for linux (if on macOS) with rbe
|
||||
build:rbe --host_cpu=k8
|
||||
build:rbe --cpu=k8
|
||||
|
|
Loading…
Reference in New Issue