summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilip Kuryloski <kuryloskip@vmware.com>2021-07-21 17:05:02 +0200
committerPhilip Kuryloski <kuryloskip@vmware.com>2021-07-21 19:12:39 +0200
commit831863f3930a155be49504c788da9089dd466dce (patch)
tree8e9dfacaf6c60e99095a1581740ba0880bb9a111
parenteec379c2c42c5a7ed66f58bf0685352fa51e012d (diff)
downloadrabbitmq-server-git-831863f3930a155be49504c788da9089dd466dce.tar.gz
Test nightly with Erlang built from otp/master (#3215)
Add a github actions workflow that tests with dev builds of erlang (cherry picked from commit 313410f5f4cea40cbd8f863395913d37ec519a4c)
-rw-r--r--.bazelrc7
-rw-r--r--.github/workflows/test-erlang-git.yaml45
-rw-r--r--BUILD.bazel14
3 files changed, 66 insertions, 0 deletions
diff --git a/.bazelrc b/.bazelrc
index 1635fc3b8e..d929bb71b5 100644
--- a/.bazelrc
+++ b/.bazelrc
@@ -37,6 +37,13 @@ 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
+
# 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
diff --git a/.github/workflows/test-erlang-git.yaml b/.github/workflows/test-erlang-git.yaml
new file mode 100644
index 0000000000..2fcb388618
--- /dev/null
+++ b/.github/workflows/test-erlang-git.yaml
@@ -0,0 +1,45 @@
+name: Test Erlang Git Master
+on:
+ schedule:
+ - cron: '0 2 * * *'
+ workflow_dispatch:
+ push:
+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.3.4
+ - name: UPDATE RBE IMAGE SHA
+ run: |
+ # buildbuddy caches the container image, so we must use a specific sha to ensure
+ # the latest is used
+ IMAGE=pivotalrabbitmq/rabbitmq-server-buildenv:linux-erlang-git-master
+ docker pull ${IMAGE}
+ PINNED_IMAGE="$(docker inspect --format='{{index .RepoDigests 0}}' $IMAGE)"
+ npm install @bazel/buildozer
+ npx buildozer \
+ "dict_set exec_properties container-image:docker://${PINNED_IMAGE}" \
+ //:erlang_git_platform
+ - name: CONFIGURE BAZEL
+ run: |
+ echo "${{ secrets.BUILDBUDDY_CERT }}" > buildbuddy-cert.pem
+ echo "${{ secrets.BUILDBUDDY_KEY }}" > buildbuddy-key.pem
+ cat << EOF >> user.bazelrc
+ build:buildbuddy --tls_client_certificate=buildbuddy-cert.pem
+ build:buildbuddy --tls_client_key=buildbuddy-key.pem
+
+ build:buildbuddy --build_metadata=ROLE=CI
+ build:buildbuddy --build_metadata=VISIBILITY=PUBLIC
+ build:buildbuddy --remote_instance_name=buildbuddy-io/buildbuddy/ci-erlang-git
+ 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/BUILD.bazel b/BUILD.bazel
index ce0e533631..6dcdbd2877 100644
--- a/BUILD.bazel
+++ b/BUILD.bazel
@@ -45,6 +45,20 @@ platform(
},
)
+platform(
+ name = "erlang_git_platform",
+ constraint_values = [
+ "@platforms//os:linux",
+ "@platforms//cpu:x86_64",
+ "@bazel_tools//tools/cpp:clang",
+ ],
+ exec_properties = {
+ "OSFamily": "Linux",
+ # linux-erlang-git-master
+ "container-image": "docker://pivotalrabbitmq/rabbitmq-server-buildenv@sha256:5d4fa38f723186668a497a8ee57e22010187e9347add5d4a7cc199dc13f1493f",
+ },
+)
+
plt(
name = "base_plt",
visibility = ["//visibility:public"],