Skip to content

Commit 38e5e7f

Browse files
authored
Merge pull request #8531 from rabbitmq/rin/use-rbe-for-oci-in-actions
Use RBE for building the OCI in github actions
2 parents 56c7a0d + c0889df commit 38e5e7f

File tree

3 files changed

+22
-27
lines changed

3 files changed

+22
-27
lines changed

.github/workflows/oci.yaml

Lines changed: 3 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -62,25 +62,8 @@ jobs:
6262
build:buildbuddy --disk_cache=
6363
6464
build:buildbuddy --remote_download_toplevel
65-
66-
build --@io_bazel_rules_docker//transitions:enable=false
6765
EOF
6866
69-
- name: Check OTP/Elixir versions used in RBE
70-
id: load-info
71-
run: |
72-
bazelisk build :otp_version :elixir_version \
73-
--config=rbe \
74-
--platforms=//bazel/platforms:erlang_linux_${{ matrix.otp_version_id }}_platform
75-
echo "otp=$(cat bazel-bin/otp_version.txt)" >> $GITHUB_OUTPUT
76-
echo "elixir=$(cat bazel-bin/elixir_version.txt)" >> $GITHUB_OUTPUT
77-
78-
- name: Configure OTP & Elixir
79-
uses: erlef/[email protected]
80-
with:
81-
otp-version: ${{ steps.load-info.outputs.otp }}
82-
elixir-version: ${{ steps.load-info.outputs.elixir }}
83-
8467
- name: Configure otp for the OCI image
8568
run: |
8669
sudo npm install --global --silent @bazel/buildozer
@@ -91,18 +74,18 @@ jobs:
9174
- name: Build
9275
run: |
9376
bazelisk build //packaging/docker-image:rabbitmq \
94-
--config=buildbuddy
77+
--config=rbe-${{ matrix.otp_version_id }}
9578
9679
- name: Test
9780
run: |
9881
OCI_TESTS=$(bazel query 'tests(//packaging/docker-image/...)')
9982
bazelisk test ${OCI_TESTS} \
100-
--config=buildbuddy
83+
--config=rbe-${{ matrix.otp_version_id }}
10184
10285
- name: Load
10386
run: |
10487
bazelisk run //packaging/docker-image:rabbitmq \
105-
--config=buildbuddy
88+
--config=rbe-${{ matrix.otp_version_id }}
10689
10790
- name: Check for Push Credentials
10891
id: authorized

WORKSPACE

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -112,13 +112,6 @@ http_file(
112112
urls = ["https://github.com/erlang/otp/archive/OTP-26.0.tar.gz"],
113113
)
114114

115-
http_archive(
116-
name = "io_buildbuddy_buildbuddy_toolchain",
117-
sha256 = "a2a5cccec251211e2221b1587af2ce43c36d32a42f5d881737db3b546a536510",
118-
strip_prefix = "buildbuddy-toolchain-829c8a574f706de5c96c54ca310f139f4acda7dd",
119-
urls = ["https://github.com/buildbuddy-io/buildbuddy-toolchain/archive/829c8a574f706de5c96c54ca310f139f4acda7dd.tar.gz"],
120-
)
121-
122115
load(
123116
"@rules_erlang//:rules_erlang.bzl",
124117
"erlang_config",

packaging/docker-image/BUILD.bazel

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,22 +45,34 @@ CONVENIENCE_PACKAGES = [
4545
"neovim",
4646
]
4747

48+
FIRECRACKER_EXEC_PROPS = {
49+
# https://www.buildbuddy.io/docs/rbe-microvms
50+
"workload-isolation-type": "firecracker",
51+
"init-dockerd": "true",
52+
"recycle-runner": "true",
53+
# Use the default buildbuddy RBE image
54+
"container-image": "",
55+
}
56+
4857
download_pkgs(
4958
name = "otp_pkgs",
59+
exec_properties = FIRECRACKER_EXEC_PROPS,
5060
image_tar = "@ubuntu2004//image",
5161
packages = BUILD_DEPS_PACKAGES,
5262
tags = ["manual"],
5363
)
5464

5565
download_pkgs(
5666
name = "rabbitmq_pkgs",
67+
exec_properties = FIRECRACKER_EXEC_PROPS,
5768
image_tar = "@ubuntu2004//image",
5869
packages = REQUIRED_PACKAGES + CONVENIENCE_PACKAGES,
5970
tags = ["manual"],
6071
)
6172

6273
install_pkgs(
6374
name = "otp_pkgs_image",
75+
exec_properties = FIRECRACKER_EXEC_PROPS,
6476
image_tar = "@ubuntu2004//image",
6577
installables_tar = ":otp_pkgs.tar",
6678
installation_cleanup_commands = "rm -rf /var/lib/apt/lists/*",
@@ -70,6 +82,7 @@ install_pkgs(
7082

7183
install_pkgs(
7284
name = "rabbitmq_pkgs_image",
85+
exec_properties = FIRECRACKER_EXEC_PROPS,
7386
image_tar = "@ubuntu2004//image",
7487
installables_tar = ":rabbitmq_pkgs.tar",
7588
installation_cleanup_commands = "rm -rf /var/lib/apt/lists/*",
@@ -105,6 +118,7 @@ container_run_and_commit_layer(
105118
"/usr/local/src/build_install_openssh.sh",
106119
"rm /usr/local/src/build_install_openssh.sh",
107120
],
121+
exec_properties = FIRECRACKER_EXEC_PROPS,
108122
image = ":openssl_source.tar",
109123
tags = ["manual"],
110124
)
@@ -136,6 +150,7 @@ container_run_and_commit_layer(
136150
"/usr/local/src/build_install_otp.sh",
137151
"rm /usr/local/src/build_install_otp.sh",
138152
],
153+
exec_properties = FIRECRACKER_EXEC_PROPS,
139154
image = ":otp_source.tar",
140155
tags = ["manual"],
141156
)
@@ -179,6 +194,7 @@ container_run_and_commit_layer(
179194
"/opt/install_rabbitmq.sh",
180195
"rm /opt/install_rabbitmq.sh",
181196
],
197+
exec_properties = FIRECRACKER_EXEC_PROPS,
182198
image = ":rabbitmq_tarball.tar",
183199
tags = ["manual"],
184200
)
@@ -254,6 +270,7 @@ container_image(
254270
container_test(
255271
name = "openssl_test",
256272
configs = ["//packaging/docker-image/test_configs:openssl_ubuntu.yaml"],
273+
exec_properties = FIRECRACKER_EXEC_PROPS,
257274
image = ":openssl_install_wrapper",
258275
tags = [
259276
"docker",
@@ -264,6 +281,7 @@ container_test(
264281
container_test(
265282
name = "otp_test",
266283
configs = ["//packaging/docker-image/test_configs:otp_ubuntu.yaml"],
284+
exec_properties = FIRECRACKER_EXEC_PROPS,
267285
image = ":otp_install_wrapper",
268286
tags = [
269287
"docker",
@@ -274,6 +292,7 @@ container_test(
274292
container_test(
275293
name = "rabbitmq_test",
276294
configs = ["//packaging/docker-image/test_configs:rabbitmq_ubuntu.yaml"],
295+
exec_properties = FIRECRACKER_EXEC_PROPS,
277296
image = ":rabbitmq",
278297
tags = [
279298
"docker",

0 commit comments

Comments
 (0)