diff options
author | Philip Kuryloski <kuryloskip@vmware.com> | 2021-07-21 17:05:02 +0200 |
---|---|---|
committer | Philip Kuryloski <kuryloskip@vmware.com> | 2021-07-21 19:12:39 +0200 |
commit | 831863f3930a155be49504c788da9089dd466dce (patch) | |
tree | 8e9dfacaf6c60e99095a1581740ba0880bb9a111 | |
parent | eec379c2c42c5a7ed66f58bf0685352fa51e012d (diff) | |
download | rabbitmq-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-- | .bazelrc | 7 | ||||
-rw-r--r-- | .github/workflows/test-erlang-git.yaml | 45 | ||||
-rw-r--r-- | BUILD.bazel | 14 |
3 files changed, 66 insertions, 0 deletions
@@ -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"], |