summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRin Kuryloski <kuryloskip@vmware.com>2022-08-31 11:07:57 +0200
committerMergify <37929162+mergify[bot]@users.noreply.github.com>2022-09-20 21:06:36 +0000
commit50a2f0d34375f2f8e4f133ef4888aab7c5689ff5 (patch)
treefb3bc86d5c05928c4cc2d3b3d7aaf72466d1dc42
parent0135cb14143af51039d4461f2256ef16f1234de8 (diff)
downloadrabbitmq-server-git-mergify/bp/v3.9.x/pr-5830.tar.gz
Use rules_erlang 3.6.3mergify/bp/v3.9.x/pr-5830
Use the new @erlang_config repo from rules_erlang 3.6+ for simplified config and the elimiation of the need for --config=local (cherry picked from commit 8537d0428bf44b9e744fba12902cf40eaa756784) # Conflicts: # .github/workflows/update-otp-patches.yaml (cherry picked from commit 4336e25773bc533e5e41c1a994407a19130c0be6) # Conflicts: # .github/workflows/update-otp-for-oci.yaml # bazel/platforms/BUILD.bazel # user-template.bazelrc (cherry picked from commit e69a9c41407752b6a8dcf230a950982b13dea5b0)
-rw-r--r--.bazelrc23
-rw-r--r--.github/workflows/oci.yaml25
-rw-r--r--.github/workflows/test-mixed-versions.yaml2
-rw-r--r--.github/workflows/test-windows.yaml2
-rw-r--r--.github/workflows/test.yaml2
-rw-r--r--.github/workflows/update-otp-for-oci.yaml26
-rw-r--r--BUILD.bazel1
-rw-r--r--MODULE.bazel50
-rw-r--r--WORKSPACE41
-rw-r--r--bazel/elixir/elixir.bzl30
-rw-r--r--bazel/platforms/BUILD.bazel38
-rw-r--r--bazel/toolchains/BUILD.bazel39
-rw-r--r--packaging/docker-image/BUILD.bazel36
-rw-r--r--user-template.bazelrc10
14 files changed, 187 insertions, 138 deletions
diff --git a/.bazelrc b/.bazelrc
index d6a6cc484f..bb1c200a7e 100644
--- a/.bazelrc
+++ b/.bazelrc
@@ -4,6 +4,10 @@ build --registry=https://raw.githubusercontent.com/rabbitmq/bazel-central-regist
build --incompatible_strict_action_env
build --local_test_jobs=1
+build --flag_alias=erlang_home=@rules_erlang//:erlang_home
+build --flag_alias=erlang_version=@rules_erlang//:erlang_version
+build --flag_alias=elixir_home=//:elixir_home
+
build:buildbuddy --bes_results_url=https://app.buildbuddy.io/invocation/
build:buildbuddy --bes_backend=grpcs://remote.buildbuddy.io
build:buildbuddy --remote_cache=grpcs://remote.buildbuddy.io
@@ -26,25 +30,26 @@ build:rbe --jobs=50
build:rbe --crosstool_top=@rbe//cc:toolchain
build:rbe --extra_toolchains=@rbe//config:cc-toolchain
-build:rbe --host_platform=@rbe//config:platform
+build:rbe --host_platform=//bazel/platforms:erlang_internal_platform
build:rbe --host_cpu=k8
build:rbe --cpu=k8
build:rbe-23 --config=rbe
-build:rbe-23 --platforms=//bazel/platforms:erlang_23_platform
-build:rbe-23 --extra_execution_platforms=//bazel/platforms:erlang_23_platform
+build:rbe-23 --platforms=//bazel/platforms:erlang_linux_23_platform
build:rbe-24 --config=rbe
-build:rbe-24 --platforms=//bazel/platforms:erlang_24_platform
-build:rbe-24 --extra_execution_platforms=//bazel/platforms:erlang_24_platform
+build:rbe-24 --platforms=//bazel/platforms:erlang_linux_24_platform
build:rbe-25 --config=rbe
-build:rbe-25 --platforms=//bazel/platforms:erlang_25_platform
-build:rbe-25 --extra_execution_platforms=//bazel/platforms:erlang_25_platform
+build:rbe-25 --platforms=//bazel/platforms:erlang_linux_25_platform
+
+# no-op config so that --config=local does not error
+build:local --color=auto
-build:local --platforms=//bazel/platforms:erlang_external_platform
-build:local --extra_execution_platforms=//bazel/platforms:erlang_external_platform
+# having bzlmod enabled seems to interfere with docker toolchain resolution,
+# so we set this flag
+build --@io_bazel_rules_docker//transitions:enable=false
# 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/oci.yaml b/.github/workflows/oci.yaml
index ba04d35151..8ac0312f75 100644
--- a/.github/workflows/oci.yaml
+++ b/.github/workflows/oci.yaml
@@ -206,44 +206,27 @@ jobs:
- name: Further Configure Bazel
run: |
- ERLANG_HOME="$(dirname $(dirname $(which erl)))"
ELIXIR_HOME="$(dirname $(dirname $(which iex)))"
cat << EOF >> user.bazelrc
- build --@rules_erlang//:erlang_version=${{ matrix.otp_major }}
- build --@rules_erlang//:erlang_home=${ERLANG_HOME}
- build --//:elixir_home=${ELIXIR_HOME}
- build --platforms=//bazel/platforms:erlang_external_platform
- build --extra_execution_platforms=//bazel/platforms:erlang_external_platform
+ build --elixir_home=${ELIXIR_HOME}
EOF
- - name: Set the correct erlang source tar for the container
- run: |
- sudo npm install --global --silent @bazel/buildozer
-
- buildozer 'set tars ["@otp_src_${{ matrix.otp_major }}//file"]' \
- //packaging/docker-image:otp_source
-
- git diff
-
- name: Build
run: |
- ERLANG_HOME="$(dirname $(dirname $(which erl)))"
- ELIXIR_HOME="$(dirname $(dirname $(which iex)))"
+ export ERLANG_HOME="$(dirname $(dirname $(which erl)))"
bazelisk build //packaging/docker-image:rabbitmq \
--config=buildbuddy
- name: Test
run: |
- ERLANG_HOME="$(dirname $(dirname $(which erl)))"
- ELIXIR_HOME="$(dirname $(dirname $(which iex)))"
+ export ERLANG_HOME="$(dirname $(dirname $(which erl)))"
OCI_TESTS=$(bazel query 'tests(//packaging/docker-image/...)')
bazelisk test ${OCI_TESTS} \
--config=buildbuddy
- name: Load
run: |
- ERLANG_HOME="$(dirname $(dirname $(which erl)))"
- ELIXIR_HOME="$(dirname $(dirname $(which iex)))"
+ export ERLANG_HOME="$(dirname $(dirname $(which erl)))"
bazelisk run //packaging/docker-image:rabbitmq \
--config=buildbuddy
diff --git a/.github/workflows/test-mixed-versions.yaml b/.github/workflows/test-mixed-versions.yaml
index 5920568001..cfb2038faf 100644
--- a/.github/workflows/test-mixed-versions.yaml
+++ b/.github/workflows/test-mixed-versions.yaml
@@ -106,8 +106,6 @@ jobs:
build --@rules_erlang//:erlang_version=${{ matrix.erlang_version }}
build --@rules_erlang//:erlang_home=${ERLANG_HOME}
build --//:elixir_home=${ELIXIR_HOME}
- build --platforms=//bazel/platforms:erlang_external_platform
- build --extra_execution_platforms=//bazel/platforms:erlang_external_platform
EOF
#! - name: Setup tmate session
#! uses: mxschmitt/action-tmate@v3
diff --git a/.github/workflows/test-windows.yaml b/.github/workflows/test-windows.yaml
index 4ee01f6e7b..e7619b538c 100644
--- a/.github/workflows/test-windows.yaml
+++ b/.github/workflows/test-windows.yaml
@@ -50,8 +50,6 @@ jobs:
build --@rules_erlang//:erlang_version=${{ matrix.erlang_version }}
build --@rules_erlang//:erlang_home="${ERL_PATH/\/bin\/erl/}"
build --//:elixir_home="${IEX_PATH/\/bin\/iex/}"
- build --platforms=//bazel/platforms:erlang_external_platform
- build --extra_execution_platforms=//bazel/platforms:erlang_external_platform
EOF
bazelisk info release
diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml
index 99e5a6b4e4..8fb9c3b43f 100644
--- a/.github/workflows/test.yaml
+++ b/.github/workflows/test.yaml
@@ -109,8 +109,6 @@ jobs:
build --@rules_erlang//:erlang_version=${{ matrix.erlang_version }}
build --@rules_erlang//:erlang_home=${ERLANG_HOME}
build --//:elixir_home=${ELIXIR_HOME}
- build --platforms=//bazel/platforms:erlang_external_platform
- build --extra_execution_platforms=//bazel/platforms:erlang_external_platform
EOF
#! - name: Setup tmate session
#! uses: mxschmitt/action-tmate@v3
diff --git a/.github/workflows/update-otp-for-oci.yaml b/.github/workflows/update-otp-for-oci.yaml
index 5d37d04a72..021ac13abc 100644
--- a/.github/workflows/update-otp-for-oci.yaml
+++ b/.github/workflows/update-otp-for-oci.yaml
@@ -11,10 +11,10 @@ jobs:
max-parallel: 1
matrix:
erlang_version:
- - "24.3"
+ - "25.0"
include:
- - erlang_version: "24.3"
- image_tag_suffix: 'otp-max'
+ - erlang_version: "25.0"
+ name: '25'
timeout-minutes: 10
steps:
- name: CHECKOUT REPOSITORY
@@ -40,13 +40,21 @@ jobs:
- name: MODIFY VERSION FILE
if: steps.check-for-branch.outputs.c != 0
run: |
- echo "Updating packaging/docker-image/${{ matrix.image_tag_suffix }}.yaml with:"
- echo " otp -> ${{ steps.fetch-version.outputs.VERSION }}"
- echo " otp_sha256 -> ${{ steps.fetch-version.outputs.SHA }}"
+ sudo npm install --global --silent @bazel/buildozer
- FILE=packaging/docker-image/otp-versions/${{ matrix.image_tag_suffix }}.yaml
- sed -i "s/otp: .*/otp: '${{ steps.fetch-version.outputs.VERSION }}'/" $FILE
- sed -i "s/otp_sha256: .*/otp_sha256: ${{ steps.fetch-version.outputs.SHA }}/" $FILE
+ OLD_SHA="$(cat MODULE.bazel | buildozer 'print sha256' -:${{ matrix.name }})"
+ OLD_VERSION="$(cat MODULE.bazel | buildozer 'print version' -:${{ matrix.name }})"
+
+ echo "$(cat MODULE.bazel | buildozer 'set sha256 "${{ steps.fetch-version.outputs.SHA }}"' -:${{ matrix.name }})" > MODULE.bazel
+ echo "$(cat MODULE.bazel | buildozer 'set version "${{ steps.fetch-version.outputs.VERSION }}"' -:${{ matrix.name }})" > MODULE.bazel
+
+ echo "$(cat WORKSPACE | buildozer 'set downloaded_file_path "OTP-${{ steps.fetch-version.outputs.VERSION }}.tar.gz"' -:otp_src_${{ matrix.name }})" > WORKSPACE
+ echo "$(cat WORKSPACE | buildozer 'set urls ["https://github.com/erlang/otp/archive/OTP-${{ steps.fetch-version.outputs.VERSION }}.tar.gz"]' -:otp_src_${{ matrix.name }})" > WORKSPACE
+ echo "$(cat WORKSPACE | buildozer 'set sha256 "${{ steps.fetch-version.outputs.SHA2 }}"' -:otp_src_${{ matrix.name }})" > WORKSPACE
+
+ sed -i"_orig" "s/${OLD_SHA}/${{ steps.fetch-version.outputs.SHA }}" WORKSPACE
+ sed -i"_orig" "s/${OLD_VERSION}/${{ steps.fetch-version.outputs.VERSION }}" WORKSPACE
+ rm *_orig
set -x
git diff
diff --git a/BUILD.bazel b/BUILD.bazel
index 85ff1cba33..54d28bbad6 100644
--- a/BUILD.bazel
+++ b/BUILD.bazel
@@ -16,6 +16,7 @@ load(":rabbitmq.bzl", "all_plugins")
exports_files([
"scripts/bazel/rabbitmq-run.sh",
"scripts/bazel/rabbitmq-run.bat",
+ "release-notes",
])
config_setting(
diff --git a/MODULE.bazel b/MODULE.bazel
index 7b1e2e6094..c08f1e0ba2 100644
--- a/MODULE.bazel
+++ b/MODULE.bazel
@@ -25,7 +25,55 @@ bazel_dep(
bazel_dep(
name = "rules_erlang",
- version = "3.5.0",
+ version = "3.6.3",
+)
+
+erlang_config = use_extension(
+ "@rules_erlang//bzlmod:extensions.bzl",
+ "erlang_config",
+)
+
+erlang_config.internal_erlang_from_github_release(
+ name = "23",
+ sha256 = "e3ecb3ac2cc549ab90cd9f8921eaebc8613f4d5c89972a3987e5a762d5a2df08",
+ version = "23.3.4.16",
+)
+
+erlang_config.internal_erlang_from_github_release(
+ name = "24",
+ sha256 = "86dddc0de486acc320ed7557f12033af0b5045205290ee4926aa931b3d8b3ab2",
+ version = "24.3.4.4",
+)
+
+erlang_config.internal_erlang_from_github_release(
+ name = "25",
+ sha256 = "8fc707f92a124b2aeb0f65dcf9ac8e27b2a305e7bcc4cc1b2fdf770eec0165bf",
+ version = "25.0.4",
+)
+
+erlang_config.internal_erlang_from_http_archive(
+ name = "git_master",
+ strip_prefix = "otp-master",
+ url = "https://github.com/erlang/otp/archive/refs/heads/master.tar.gz",
+ version = "master",
+)
+
+use_repo(
+ erlang_config,
+ "erlang_config",
+)
+
+register_toolchains(
+ "@erlang_config//external:toolchain",
+ "@erlang_config//23:toolchain",
+ "@erlang_config//24:toolchain",
+ "@erlang_config//25:toolchain",
+ "@erlang_config//git_master:toolchain",
+ "//bazel/toolchains:elixir_toolchain_external",
+ "//bazel/toolchains:elixir_toolchain_1_10",
+ "//bazel/toolchains:elixir_toolchain_1_12",
+ "//bazel/toolchains:elixir_toolchain_1_13",
+ "//bazel/toolchains:elixir_toolchain_1_14",
)
erlang_package = use_extension(
diff --git a/WORKSPACE b/WORKSPACE
index fb123b698d..4dd379b4db 100644
--- a/WORKSPACE
+++ b/WORKSPACE
@@ -112,26 +112,55 @@ git_repository(
git_repository(
name = "rules_erlang",
remote = "https://github.com/rabbitmq/rules_erlang.git",
- tag = "3.2.0",
+ tag = "3.6.3",
)
load(
"@rules_erlang//:rules_erlang.bzl",
+ "erlang_config",
+ "internal_erlang_from_github_release",
+ "internal_erlang_from_http_archive",
"rules_erlang_dependencies",
)
+erlang_config(
+ internal_erlang_configs = [
+ internal_erlang_from_github_release(
+ name = "23",
+ sha256 = "e3ecb3ac2cc549ab90cd9f8921eaebc8613f4d5c89972a3987e5a762d5a2df08",
+ version = "23.3.4.16",
+ ),
+ internal_erlang_from_github_release(
+ name = "24",
+ sha256 = "86dddc0de486acc320ed7557f12033af0b5045205290ee4926aa931b3d8b3ab2",
+ version = "24.3.4.4",
+ ),
+ internal_erlang_from_github_release(
+ name = "25",
+ sha256 = "8fc707f92a124b2aeb0f65dcf9ac8e27b2a305e7bcc4cc1b2fdf770eec0165bf",
+ version = "25.0.4",
+ ),
+ internal_erlang_from_http_archive(
+ name = "git_master",
+ strip_prefix = "otp-master",
+ url = "https://github.com/erlang/otp/archive/refs/heads/master.tar.gz",
+ version = "master",
+ ),
+ ],
+)
+
rules_erlang_dependencies()
+load("@erlang_config//:defaults.bzl", "register_defaults")
+
+register_defaults()
+
register_toolchains(
- "//bazel/toolchains:erlang_toolchain_external",
- "//bazel/toolchains:erlang_toolchain_23",
- "//bazel/toolchains:erlang_toolchain_24",
- "//bazel/toolchains:erlang_toolchain_25",
- "//bazel/toolchains:erlang_toolchain_git_master",
"//bazel/toolchains:elixir_toolchain_external",
"//bazel/toolchains:elixir_toolchain_1_10",
"//bazel/toolchains:elixir_toolchain_1_12",
"//bazel/toolchains:elixir_toolchain_1_13",
+ "//bazel/toolchains:elixir_toolchain_1_14",
)
load("//:workspace_helpers.bzl", "rabbitmq_external_deps")
diff --git a/bazel/elixir/elixir.bzl b/bazel/elixir/elixir.bzl
index 8d6fbb25d1..dcf80e9b34 100644
--- a/bazel/elixir/elixir.bzl
+++ b/bazel/elixir/elixir.bzl
@@ -9,13 +9,8 @@ load(
)
def elixir_toolchain_external():
- elixir_constraint = Label("//bazel/platforms:elixir_external")
-
elixir_external(
name = "external_elixir_installation_ref",
- target_compatible_with = [
- elixir_constraint,
- ],
)
elixir_toolchain(
@@ -26,33 +21,27 @@ def elixir_toolchain_external():
native.toolchain(
name = "elixir_toolchain_external",
exec_compatible_with = [
- elixir_constraint,
+ Label("@erlang_config//:erlang_external"),
],
target_compatible_with = [
- elixir_constraint,
+ Label("//bazel/platforms:elixir_external"),
],
toolchain = ":elixir_external",
toolchain_type = Label("//bazel/elixir:toolchain_type"),
visibility = ["//visibility:public"],
)
- return elixir_constraint
-
def elixir_toolchain_from_http_archive(
name_suffix = "",
- version = None,
url = None,
strip_prefix = None,
sha256 = None,
- elixir_constraint = None):
+ elixir_constraints = None):
elixir_build(
name = "elixir_build{}".format(name_suffix),
url = url,
strip_prefix = strip_prefix,
sha256 = sha256,
- target_compatible_with = [
- elixir_constraint,
- ],
)
elixir_toolchain(
@@ -63,11 +52,9 @@ def elixir_toolchain_from_http_archive(
native.toolchain(
name = "elixir_toolchain{}".format(name_suffix),
exec_compatible_with = [
- elixir_constraint,
- ],
- target_compatible_with = [
- elixir_constraint,
+ Label("@erlang_config//:erlang_internal"),
],
+ target_compatible_with = elixir_constraints,
toolchain = ":elixir{}".format(name_suffix),
toolchain_type = Label("//bazel/elixir:toolchain_type"),
visibility = ["//visibility:public"],
@@ -78,13 +65,14 @@ def elixir_toolchain_from_github_release(
version = None,
sha256 = None):
[major, minor, patch] = version.split(".")
- elixir_constraint = Label("//bazel/platforms:elixir_{}_{}".format(major, minor))
+ elixir_constraints = [
+ Label("//bazel/platforms:elixir_{}_{}".format(major, minor)),
+ ]
url = "https://github.com/elixir-lang/elixir/archive/refs/tags/v{}.tar.gz".format(version)
elixir_toolchain_from_http_archive(
name_suffix = name_suffix,
url = url,
strip_prefix = "elixir-{}".format(version),
sha256 = sha256,
- elixir_constraint = elixir_constraint,
+ elixir_constraints = elixir_constraints,
)
- return elixir_constraint
diff --git a/bazel/platforms/BUILD.bazel b/bazel/platforms/BUILD.bazel
index 62044f8c03..914b8cacd0 100644
--- a/bazel/platforms/BUILD.bazel
+++ b/bazel/platforms/BUILD.bazel
@@ -2,13 +2,9 @@ package(
default_visibility = ["//visibility:public"],
)
-constraint_value(
- name = "erlang_git_master",
- constraint_setting = "@rules_erlang//platforms:erlang_major_version",
-)
-
constraint_setting(
name = "elixir_version",
+ default_constraint_value = ":elixir_external",
)
constraint_value(
@@ -31,47 +27,51 @@ constraint_value(
constraint_setting = ":elixir_version",
)
+constraint_value(
+ name = "elixir_1_14",
+ constraint_setting = ":elixir_version",
+)
+
platform(
- name = "erlang_external_platform",
+ name = "erlang_internal_platform",
constraint_values = [
- "@rules_erlang//platforms:erlang_external",
- ":elixir_external",
+ "@erlang_config//:erlang_internal",
],
- parents = ["@local_config_platform//:host"],
+ parents = ["@rbe//config:platform"],
)
platform(
- name = "erlang_23_platform",
+ name = "erlang_linux_23_platform",
constraint_values = [
- "@rules_erlang//platforms:erlang_23",
+ "@erlang_config//:erlang_23",
":elixir_1_10",
],
parents = ["@rbe//config:platform"],
)
platform(
- name = "erlang_24_platform",
+ name = "erlang_linux_24_platform",
constraint_values = [
- "@rules_erlang//platforms:erlang_24",
+ "@erlang_config//:erlang_24",
":elixir_1_12",
],
parents = ["@rbe//config:platform"],
)
platform(
- name = "erlang_25_platform",
+ name = "erlang_linux_25_platform",
constraint_values = [
- "@rules_erlang//platforms:erlang_25",
- ":elixir_1_13",
+ "@erlang_config//:erlang_25",
+ ":elixir_1_14",
],
parents = ["@rbe//config:platform"],
)
platform(
- name = "erlang_git_master_platform",
+ name = "erlang_linux_git_master_platform",
constraint_values = [
- ":erlang_git_master",
- ":elixir_1_13",
+ "@erlang_config//:erlang_git_master",
+ ":elixir_1_14",
],
parents = ["@rbe//config:platform"],
)
diff --git a/bazel/toolchains/BUILD.bazel b/bazel/toolchains/BUILD.bazel
index b6f6615f04..2db6f8e4e7 100644
--- a/bazel/toolchains/BUILD.bazel
+++ b/bazel/toolchains/BUILD.bazel
@@ -1,42 +1,9 @@
load(
- "@rules_erlang//tools:erlang.bzl",
- "erlang_toolchain_external",
- "erlang_toolchain_from_github_release",
- "erlang_toolchain_from_http_archive",
-)
-load(
"//bazel/elixir:elixir.bzl",
"elixir_toolchain_external",
"elixir_toolchain_from_github_release",
)
-erlang_toolchain_external()
-
-erlang_toolchain_from_github_release(
- name_suffix = "_23",
- sha256 = "e3ecb3ac2cc549ab90cd9f8921eaebc8613f4d5c89972a3987e5a762d5a2df08",
- version = "23.3.4.16",
-)
-
-erlang_toolchain_from_github_release(
- name_suffix = "_24",
- sha256 = "0b57d49e62958350676e8f32a39008d420dca4bc20f2d7e38c0671ab2ba62f14",
- version = "24.3.4.5",
-)
-
-erlang_toolchain_from_github_release(
- name_suffix = "_25",
- sha256 = "8fc707f92a124b2aeb0f65dcf9ac8e27b2a305e7bcc4cc1b2fdf770eec0165bf",
- version = "25.0.4",
-)
-
-erlang_toolchain_from_http_archive(
- erlang_constraint = "//bazel/platforms:erlang_git_master",
- name_suffix = "_git_master",
- strip_prefix = "otp-master",
- url = "https://github.com/erlang/otp/archive/refs/heads/master.tar.gz",
-)
-
elixir_toolchain_external()
elixir_toolchain_from_github_release(
@@ -56,3 +23,9 @@ elixir_toolchain_from_github_release(
sha256 = "95daf2dd3052e6ca7d4d849457eaaba09de52d65ca38d6933c65bc1cdf6b8579",
version = "1.13.4",
)
+
+elixir_toolchain_from_github_release(
+ name_suffix = "_1_14",
+ sha256 = "ac129e266a1e04cdc389551843ec3dbdf36086bb2174d3d7e7936e820735003b",
+ version = "1.14.0",
+)
diff --git a/packaging/docker-image/BUILD.bazel b/packaging/docker-image/BUILD.bazel
index 62dba7aabf..84c5d62b3a 100644
--- a/packaging/docker-image/BUILD.bazel
+++ b/packaging/docker-image/BUILD.bazel
@@ -1,4 +1,8 @@
load(
+ "@bazel_skylib//lib:selects.bzl",
+ "selects",
+)
+load(
"@io_bazel_rules_docker//container:container.bzl",
"container_image",
"container_layer",
@@ -108,6 +112,30 @@ container_run_and_commit_layer(
tags = ["manual"],
)
+selects.config_setting_group(
+ name = "erlang_23_internal",
+ match_all = [
+ "@erlang_config//:erlang_internal",
+ "@erlang_config//:erlang_23",
+ ],
+)
+
+selects.config_setting_group(
+ name = "erlang_24_internal",
+ match_all = [
+ "@erlang_config//:erlang_internal",
+ "@erlang_config//:erlang_24",
+ ],
+)
+
+selects.config_setting_group(
+ name = "erlang_25_internal",
+ match_all = [
+ "@erlang_config//:erlang_internal",
+ "@erlang_config//:erlang_25",
+ ],
+)
+
container_image(
name = "otp_source",
base = ":otp_pkgs_image",
@@ -120,10 +148,10 @@ container_image(
],
tags = ["manual"],
tars = select({
- "@rules_erlang//platforms:erlang_23": ["@otp_src_23//file"],
- "@rules_erlang//platforms:erlang_24": ["@otp_src_24//file"],
- "@rules_erlang//platforms:erlang_25": ["@otp_src_25//file"],
- "@rules_erlang//platforms:erlang_external": ["@otp_src_25//file"],
+ ":erlang_23_internal": ["@otp_src_23//file"],
+ ":erlang_24_internal": ["@otp_src_24//file"],
+ ":erlang_25_internal": ["@otp_src_25//file"],
+ "//conditions:default": ["@otp_src_25//file"],
}),
)
diff --git a/user-template.bazelrc b/user-template.bazelrc
index b4eadf34de..504ad77ca4 100644
--- a/user-template.bazelrc
+++ b/user-template.bazelrc
@@ -1,6 +1,4 @@
-build:local --@rules_erlang//:erlang_home=/Users/rabbitmq/kerl/24.0
-build:local --@rules_erlang//:erlang_version=24.0
-build:local --//:elixir_home=/Users/rabbitmq/.kiex/elixirs/elixir-1.12.0/lib/elixir
+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)
@@ -16,9 +14,3 @@ build:buildbuddy --experimental_strict_action_env
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
-
-build --@io_bazel_rules_docker//transitions:enable=false