Turn off BuildBuddy integration (#11343)
Builds now execute on the github actions workers, using Google Cloud Storage (GCS) as a cache
(cherry picked from commit a6874e39cc
)
# Conflicts:
# .github/workflows/update-elixir-patches.yaml
# .github/workflows/update-otp-patches.yaml
# MODULE.bazel
# WORKSPACE
# deps/rabbitmq_peer_discovery_consul/test/system_SUITE_data/consul.hcl
This commit is contained in:
parent
c4b3daa2bd
commit
2c62185317
64
.bazelrc
64
.bazelrc
|
@ -15,70 +15,6 @@ build --test_timeout=7200
|
||||||
|
|
||||||
build --combined_report=lcov
|
build --combined_report=lcov
|
||||||
|
|
||||||
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
|
|
||||||
build:buildbuddy --remote_timeout=1200
|
|
||||||
build:buildbuddy --grpc_keepalive_time=360s
|
|
||||||
build:buildbuddy --grpc_keepalive_timeout=360s
|
|
||||||
build:buildbuddy --remote_download_minimal
|
|
||||||
build:buildbuddy --build_metadata=REPO_URL=https://github.com/rabbitmq/rabbitmq-server.git
|
|
||||||
build:buildbuddy --experimental_remote_cache_compression
|
|
||||||
build:buildbuddy --experimental_remote_cache_async
|
|
||||||
build:buildbuddy --noslim_profile
|
|
||||||
build:buildbuddy --experimental_profile_include_target_label
|
|
||||||
build:buildbuddy --experimental_profile_include_primary_output
|
|
||||||
build:buildbuddy --remote_build_event_upload=minimal
|
|
||||||
build:buildbuddy --nolegacy_important_outputs
|
|
||||||
|
|
||||||
# buildbuddy implies remote cache, so ct_logdir is restored to its default for reproducibility
|
|
||||||
build:buildbuddy --@rules_erlang//:ct_logdir=
|
|
||||||
|
|
||||||
build:rbe --config=buildbuddy
|
|
||||||
|
|
||||||
build:rbe --remote_executor=grpcs://remote.buildbuddy.io
|
|
||||||
|
|
||||||
build:rbe --strategy=TestRunner=remote,worker,sandboxed,local
|
|
||||||
build:rbe --jobs=50
|
|
||||||
|
|
||||||
build:rbe --crosstool_top=@rbe//cc:toolchain
|
|
||||||
build:rbe --extra_toolchains=@rbe//config:cc-toolchain
|
|
||||||
|
|
||||||
build:rbe --host_platform=//bazel/platforms:erlang_internal_platform
|
|
||||||
|
|
||||||
build:rbe --host_cpu=k8
|
|
||||||
build:rbe --cpu=k8
|
|
||||||
|
|
||||||
build:rbe-24 --config=rbe
|
|
||||||
build:rbe-24 --platforms=//bazel/platforms:erlang_linux_24_platform
|
|
||||||
|
|
||||||
build:rbe-25 --config=rbe
|
|
||||||
build:rbe-25 --platforms=//bazel/platforms:erlang_linux_25_3_platform
|
|
||||||
|
|
||||||
build:rbe-25_0 --config=rbe
|
|
||||||
build:rbe-25_0 --platforms=//bazel/platforms:erlang_linux_25_0_platform
|
|
||||||
|
|
||||||
build:rbe-25_1 --config=rbe
|
|
||||||
build:rbe-25_1 --platforms=//bazel/platforms:erlang_linux_25_1_platform
|
|
||||||
|
|
||||||
build:rbe-25_2 --config=rbe
|
|
||||||
build:rbe-25_2 --platforms=//bazel/platforms:erlang_linux_25_2_platform
|
|
||||||
|
|
||||||
build:rbe-25_3 --config=rbe
|
|
||||||
build:rbe-25_3 --platforms=//bazel/platforms:erlang_linux_25_3_platform
|
|
||||||
|
|
||||||
build:rbe-26 --config=rbe
|
|
||||||
build:rbe-26 --platforms=//bazel/platforms:erlang_linux_26_2_platform
|
|
||||||
|
|
||||||
build:rbe-26_1 --config=rbe
|
|
||||||
build:rbe-26_1 --platforms=//bazel/platforms:erlang_linux_26_1_platform
|
|
||||||
|
|
||||||
build:rbe-26_2 --config=rbe
|
|
||||||
build:rbe-26_2 --platforms=//bazel/platforms:erlang_linux_26_2_platform
|
|
||||||
|
|
||||||
# no-op config so that --config=local does not error
|
|
||||||
build:local --color=auto
|
|
||||||
|
|
||||||
# Try importing a user specific .bazelrc
|
# Try importing a user specific .bazelrc
|
||||||
# You can create your own by copying and editing the template-user.bazelrc template:
|
# You can create your own by copying and editing the template-user.bazelrc template:
|
||||||
# cp template-user.bazelrc user.bazelrc
|
# cp template-user.bazelrc user.bazelrc
|
||||||
|
|
|
@ -13,10 +13,6 @@ jobs:
|
||||||
peer-discovery-aws-integration-test:
|
peer-discovery-aws-integration-test:
|
||||||
name: Integration Test
|
name: Integration Test
|
||||||
runs-on: ubuntu-22.04
|
runs-on: ubuntu-22.04
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
otp_version_id:
|
|
||||||
- 26_2
|
|
||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
steps:
|
steps:
|
||||||
- name: CHECK IF IMAGE WILL PUSH
|
- name: CHECK IF IMAGE WILL PUSH
|
||||||
|
@ -43,34 +39,63 @@ jobs:
|
||||||
tags: ${{ steps.metadata.outputs.tags }}
|
tags: ${{ steps.metadata.outputs.tags }}
|
||||||
timeout-seconds: 3600
|
timeout-seconds: 3600
|
||||||
polling-seconds: 60
|
polling-seconds: 60
|
||||||
|
- name: COMPUTE REPO CACHE KEY
|
||||||
|
if: steps.authorized.outputs.authorized == 'true'
|
||||||
|
id: repo-cache-key
|
||||||
|
run: |
|
||||||
|
echo "value=bazel-repo-cache-${{ hashFiles('MODULE.bazel') }}" | tee -a $GITHUB_OUTPUT
|
||||||
|
- name: LOAD REPO CACHE
|
||||||
|
if: steps.authorized.outputs.authorized == 'true'
|
||||||
|
uses: actions/cache/restore@v4
|
||||||
|
with:
|
||||||
|
key: ${{ steps.repo-cache-key.outputs.value }}
|
||||||
|
path: /home/runner/repo-cache/
|
||||||
|
- name: CONFIGURE OTP & ELIXIR
|
||||||
|
if: steps.authorized.outputs.authorized == 'true'
|
||||||
|
uses: erlef/setup-beam@v1.17
|
||||||
|
with:
|
||||||
|
otp-version: 26
|
||||||
|
elixir-version: 1.15
|
||||||
|
- name: SETUP ecs-cli
|
||||||
|
if: steps.authorized.outputs.authorized == 'true'
|
||||||
|
env:
|
||||||
|
ECS_CLI_VERSION: 1.21.0
|
||||||
|
run: |
|
||||||
|
curl -Lo /usr/local/bin/ecs-cli https://amazon-ecs-cli.s3.amazonaws.com/ecs-cli-linux-amd64-v${ECS_CLI_VERSION} && \
|
||||||
|
chmod +x /usr/local/bin/ecs-cli && \
|
||||||
|
ecs-cli --version
|
||||||
|
- name: AUTHENTICATE TO GOOGLE CLOUD
|
||||||
|
if: steps.authorized.outputs.authorized == 'true'
|
||||||
|
uses: google-github-actions/auth@v2.1.2
|
||||||
|
with:
|
||||||
|
credentials_json: ${{ secrets.REMOTE_CACHE_CREDENTIALS_JSON }}
|
||||||
- name: CONFIGURE BAZEL
|
- name: CONFIGURE BAZEL
|
||||||
if: steps.authorized.outputs.authorized == 'true'
|
if: steps.authorized.outputs.authorized == 'true'
|
||||||
run: |
|
run: |
|
||||||
if [ -n "${{ secrets.BUILDBUDDY_API_KEY }}" ]; then
|
if [ -n "${{ secrets.REMOTE_CACHE_BUCKET_NAME }}" ]; then
|
||||||
cat << EOF >> user.bazelrc
|
cat << EOF >> user.bazelrc
|
||||||
build:buildbuddy --remote_header=x-buildbuddy-api-key=${{ secrets.BUILDBUDDY_API_KEY }}
|
build --remote_cache=https://storage.googleapis.com/${{ secrets.REMOTE_CACHE_BUCKET_NAME }}
|
||||||
|
build --google_default_credentials
|
||||||
EOF
|
EOF
|
||||||
fi
|
fi
|
||||||
cat << EOF >> user.bazelrc
|
cat << EOF >> user.bazelrc
|
||||||
build:buildbuddy --build_metadata=ROLE=CI
|
build --repository_cache=/home/runner/repo-cache/
|
||||||
build:buildbuddy --build_metadata=VISIBILITY=PRIVATE
|
build --color=yes
|
||||||
build:buildbuddy --color=yes
|
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
|
bazelisk info release
|
||||||
#! - name: Setup tmate session
|
#! - name: Setup tmate session
|
||||||
#! uses: mxschmitt/action-tmate@v3
|
#! uses: mxschmitt/action-tmate@v3
|
||||||
- name: RUN INTEGRATION TESTS
|
- name: RUN INTEGRATION TESTS
|
||||||
if: steps.authorized.outputs.authorized == 'true'
|
if: steps.authorized.outputs.authorized == 'true'
|
||||||
run: |
|
run: |
|
||||||
sudo sysctl -w net.ipv4.tcp_keepalive_time=60
|
|
||||||
sudo ethtool -K eth0 tso off gso off gro off tx off rx off lro off
|
|
||||||
|
|
||||||
branch_or_tag="${GITHUB_REF##*/}"
|
branch_or_tag="${GITHUB_REF##*/}"
|
||||||
bazelisk test //deps/rabbitmq_peer_discovery_aws:integration_SUITE \
|
bazelisk test //deps/rabbitmq_peer_discovery_aws:integration_SUITE \
|
||||||
--config=rbe-${{ matrix.otp_version_id }} \
|
|
||||||
--test_tag_filters=aws \
|
--test_tag_filters=aws \
|
||||||
--build_tests_only \
|
--build_tests_only \
|
||||||
--test_env AWS_ACCESS_KEY_ID=${{ secrets.CONCOURSE_AWS_ACCESS_KEY_ID }} \
|
--test_env AWS_ACCESS_KEY_ID=${{ secrets.CONCOURSE_AWS_ACCESS_KEY_ID }} \
|
||||||
--test_env AWS_SECRET_ACCESS_KEY=${{ secrets.CONCOURSE_AWS_SECRET_ACCESS_KEY }} \
|
--test_env AWS_SECRET_ACCESS_KEY=${{ secrets.CONCOURSE_AWS_SECRET_ACCESS_KEY }} \
|
||||||
--test_env RABBITMQ_IMAGE="pivotalrabbitmq/rabbitmq:sha-${{ github.sha }}" \
|
--test_env RABBITMQ_IMAGE="pivotalrabbitmq/rabbitmq:sha-${{ github.sha }}" \
|
||||||
--test_env AWS_ECS_CLUSTER_NAME="rabbitmq-peer-discovery-aws-actions-${branch_or_tag//[._]/-}" \
|
--test_env AWS_ECS_CLUSTER_NAME="rabbitmq-peer-discovery-aws-actions-${branch_or_tag//[._]/-}" \
|
||||||
|
--test_output=streamed \
|
||||||
--verbose_failures
|
--verbose_failures
|
||||||
|
|
|
@ -0,0 +1,199 @@
|
||||||
|
#@ load("@ytt:data", "data")
|
||||||
|
#@yaml/text-templated-strings
|
||||||
|
|
||||||
|
#@ def job_names(plugins):
|
||||||
|
#@ names = []
|
||||||
|
#@ for p in plugins:
|
||||||
|
#@ names.append("test-"+p)
|
||||||
|
#@ end
|
||||||
|
#@ return names
|
||||||
|
#@ end
|
||||||
|
|
||||||
|
#@ def sharded_job_names(plugin, shard_count):
|
||||||
|
#@ names = []
|
||||||
|
#@ for shard_index in range(0, shard_count):
|
||||||
|
#@ names.append("test-"+plugin+"-"+str(shard_index))
|
||||||
|
#@ end
|
||||||
|
#@ return names
|
||||||
|
#@ end
|
||||||
|
|
||||||
|
---
|
||||||
|
name: Test Mixed Version Clusters
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
- v3.12.x
|
||||||
|
- v3.11.x
|
||||||
|
- v3.10.x
|
||||||
|
- v3.9.x
|
||||||
|
- v3.8.x
|
||||||
|
- bump-otp-*
|
||||||
|
- bump-elixir-*
|
||||||
|
- bump-rbe-*
|
||||||
|
- bump-rules_erlang
|
||||||
|
paths:
|
||||||
|
- 'deps/**'
|
||||||
|
- 'scripts/**'
|
||||||
|
- Makefile
|
||||||
|
- plugins.mk
|
||||||
|
- rabbitmq-components.mk
|
||||||
|
- .bazelrc
|
||||||
|
- .bazelversion
|
||||||
|
- BUILD.*
|
||||||
|
- '*.bzl'
|
||||||
|
- '*.bazel'
|
||||||
|
- .github/workflows/test-mixed-versions.yaml
|
||||||
|
pull_request:
|
||||||
|
concurrency:
|
||||||
|
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
|
||||||
|
cancel-in-progress: true
|
||||||
|
jobs:
|
||||||
|
ensure-mixed-version-archive:
|
||||||
|
runs-on: ubuntu-22.04
|
||||||
|
steps:
|
||||||
|
- name: CHECKOUT REPOSITORY
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
path: primary-umbrella
|
||||||
|
#! - name: Setup tmate session
|
||||||
|
#! uses: mxschmitt/action-tmate@v3
|
||||||
|
- name: CHECK FOR ARCHIVE ON S3
|
||||||
|
id: check
|
||||||
|
working-directory: primary-umbrella
|
||||||
|
run: |
|
||||||
|
set -u
|
||||||
|
|
||||||
|
ARCHIVE_URL="$(grep -Eo 'https://rabbitmq-github-actions.s3.eu-west-1.amazonaws.com.*.tar.xz' bazel/bzlmod/secondary_umbrella.bzl)"
|
||||||
|
echo "ARCHIVE_URL: ${ARCHIVE_URL}"
|
||||||
|
|
||||||
|
curl -LO "${ARCHIVE_URL}"
|
||||||
|
|
||||||
|
if xzcat --test package-generic-unix-for-mixed-version-testing-v*.tar.xz; then
|
||||||
|
exists=true
|
||||||
|
else
|
||||||
|
exists=false
|
||||||
|
fi
|
||||||
|
echo "exists=${exists}" | tee $GITHUB_ENV
|
||||||
|
|
||||||
|
OTP_VERSION_ID=${ARCHIVE_URL#*secondary-umbrellas/rbe-}
|
||||||
|
OTP_VERSION_ID=${OTP_VERSION_ID%*/package-generic-unix-for-mixed-version-testing-v*.tar.xz}
|
||||||
|
echo "otp_version_id=${OTP_VERSION_ID}" | tee -a $GITHUB_OUTPUT
|
||||||
|
|
||||||
|
VERSION=${ARCHIVE_URL#*package-generic-unix-for-mixed-version-testing-v}
|
||||||
|
VERSION=${VERSION%*.tar.xz}
|
||||||
|
echo "version=${VERSION}" | tee -a $GITHUB_OUTPUT
|
||||||
|
- name: CHECKOUT REPOSITORY (MIXED VERSION)
|
||||||
|
if: env.exists != 'true'
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
ref: v${{ steps.check.outputs.version }}
|
||||||
|
path: secondary-umbrella
|
||||||
|
- name: BUILD SECONDARY UMBRELLA ARCHIVE
|
||||||
|
if: env.exists != 'true'
|
||||||
|
working-directory: secondary-umbrella
|
||||||
|
run: |
|
||||||
|
if [ -n "${{ secrets.BUILDBUDDY_API_KEY }}" ]; then
|
||||||
|
cat << EOF >> user.bazelrc
|
||||||
|
build:buildbuddy --remote_header=x-buildbuddy-api-key=${{ secrets.BUILDBUDDY_API_KEY }}
|
||||||
|
EOF
|
||||||
|
fi
|
||||||
|
cat << EOF >> user.bazelrc
|
||||||
|
build:buildbuddy --build_metadata=ROLE=CI
|
||||||
|
build:buildbuddy --build_metadata=VISIBILITY=PRIVATE
|
||||||
|
build:buildbuddy --remote_instance_name=buildbuddy-io/buildbuddy/ci-secondary-umbrella
|
||||||
|
build:buildbuddy --color=yes
|
||||||
|
|
||||||
|
build:buildbuddy --remote_download_toplevel
|
||||||
|
EOF
|
||||||
|
|
||||||
|
sed -i"_orig" -E "/APP_VERSION/ s/3\.[0-9]+\.[0-9]+/${{ steps.check.outputs.version }}/" rabbitmq.bzl
|
||||||
|
bazelisk build :package-generic-unix \
|
||||||
|
--config=rbe-${{ steps.check.outputs.otp_version_id }} \
|
||||||
|
--test_build \
|
||||||
|
--verbose_failures
|
||||||
|
|
||||||
|
OUTPUT_DIR=${{ github.workspace }}/output
|
||||||
|
mkdir -p ${OUTPUT_DIR}/rbe-${{ steps.check.outputs.otp_version_id }}
|
||||||
|
cp \
|
||||||
|
bazel-bin/package-generic-unix.tar.xz \
|
||||||
|
${OUTPUT_DIR}/rbe-${{ steps.check.outputs.otp_version_id }}/package-generic-unix-for-mixed-version-testing-v${{ steps.check.outputs.version }}.tar.xz
|
||||||
|
- name: UPLOAD THE ARCHIVE TO S3
|
||||||
|
if: env.exists != 'true'
|
||||||
|
uses: jakejarvis/s3-sync-action@v0.5.1
|
||||||
|
with:
|
||||||
|
args: --acl public-read --follow-symlinks
|
||||||
|
env:
|
||||||
|
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
|
||||||
|
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY}}
|
||||||
|
AWS_S3_BUCKET: ${{ secrets.AWS_S3_BUCKET }}
|
||||||
|
AWS_REGION: ${{ secrets.AWS_REGION }}
|
||||||
|
SOURCE_DIR: output
|
||||||
|
DEST_DIR: secondary-umbrellas
|
||||||
|
|
||||||
|
check-workflow:
|
||||||
|
needs: ensure-mixed-version-archive
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
outputs:
|
||||||
|
repo_cache_key: ${{ steps.repo-cache-key.outputs.value }}
|
||||||
|
steps:
|
||||||
|
- name: CHECKOUT REPOSITORY
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
- name: SETUP ERLANG/ELIXIR
|
||||||
|
uses: erlef/setup-beam@v1
|
||||||
|
with:
|
||||||
|
otp-version: 26
|
||||||
|
elixir-version: 1.15
|
||||||
|
- name: ENSURE WORKFLOWS ARE UP TO DATE
|
||||||
|
run: |
|
||||||
|
mkdir local-bin/
|
||||||
|
curl -L https://carvel.dev/install.sh | K14SIO_INSTALL_BIN_DIR=local-bin bash
|
||||||
|
make actions-workflows YTT=$PWD/local-bin/ytt
|
||||||
|
git diff --exit-code
|
||||||
|
- name: COMPUTE REPO CACHE KEY
|
||||||
|
id: repo-cache-key
|
||||||
|
run: |
|
||||||
|
echo "value=bazel-repo-cache-${{ hashFiles('MODULE.bazel') }}" | tee -a $GITHUB_OUTPUT
|
||||||
|
|
||||||
|
#@ for plugin in data.values.internal_deps:
|
||||||
|
test-(@= plugin @):
|
||||||
|
needs: check-workflow
|
||||||
|
uses: ./.github/workflows/test-plugin-mixed.yaml
|
||||||
|
with:
|
||||||
|
repo_cache_key: ${{ needs.check-workflow.outputs.repo_cache_key }}
|
||||||
|
plugin: #@ plugin
|
||||||
|
secrets: inherit
|
||||||
|
#@ end
|
||||||
|
|
||||||
|
#@ rabbit_shard_count = 10
|
||||||
|
#@ for shard_index in range(0, rabbit_shard_count):
|
||||||
|
test-rabbit-(@= str(shard_index) @):
|
||||||
|
needs: #@ ["check-workflow"] + job_names(data.values.internal_deps)
|
||||||
|
uses: ./.github/workflows/test-plugin-mixed.yaml
|
||||||
|
with:
|
||||||
|
repo_cache_key: ${{ needs.check-workflow.outputs.repo_cache_key }}
|
||||||
|
plugin: rabbit
|
||||||
|
shard_index: #@ shard_index
|
||||||
|
shard_count: #@ rabbit_shard_count
|
||||||
|
secrets: inherit
|
||||||
|
#@ end
|
||||||
|
|
||||||
|
#@ for plugin in data.values.tier1_plugins:
|
||||||
|
test-(@= plugin @):
|
||||||
|
needs: #@ ["check-workflow"] + sharded_job_names("rabbit", rabbit_shard_count)
|
||||||
|
uses: ./.github/workflows/test-plugin-mixed.yaml
|
||||||
|
with:
|
||||||
|
repo_cache_key: ${{ needs.check-workflow.outputs.repo_cache_key }}
|
||||||
|
plugin: #@ plugin
|
||||||
|
secrets: inherit
|
||||||
|
#@ end
|
||||||
|
|
||||||
|
summary-test:
|
||||||
|
needs: #@ job_names(data.values.internal_deps + data.values.tier1_plugins) + sharded_job_names("rabbit", rabbit_shard_count)
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: SUMMARY
|
||||||
|
run: |
|
||||||
|
cat << 'EOF' | jq -e 'map(.result == "success") | all(.)'
|
||||||
|
${{ toJson(needs) }}
|
||||||
|
EOF
|
|
@ -0,0 +1,140 @@
|
||||||
|
#@ load("@ytt:data", "data")
|
||||||
|
#@yaml/text-templated-strings
|
||||||
|
|
||||||
|
#@ def job_names(plugins):
|
||||||
|
#@ names = []
|
||||||
|
#@ for p in plugins:
|
||||||
|
#@ names.append("test-"+p)
|
||||||
|
#@ end
|
||||||
|
#@ return names
|
||||||
|
#@ end
|
||||||
|
|
||||||
|
#@ def sharded_job_names(plugin, shard_count):
|
||||||
|
#@ names = []
|
||||||
|
#@ for shard_index in range(0, shard_count):
|
||||||
|
#@ names.append("test-"+plugin+"-"+str(shard_index))
|
||||||
|
#@ end
|
||||||
|
#@ return names
|
||||||
|
#@ end
|
||||||
|
|
||||||
|
---
|
||||||
|
name: Test
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
- v3.13.x
|
||||||
|
- v3.12.x
|
||||||
|
- v3.11.x
|
||||||
|
- bump-otp-for-oci
|
||||||
|
- bump-rbe-*
|
||||||
|
- bump-rules_erlang
|
||||||
|
paths:
|
||||||
|
- 'deps/**'
|
||||||
|
- 'scripts/**'
|
||||||
|
- Makefile
|
||||||
|
- plugins.mk
|
||||||
|
- rabbitmq-components.mk
|
||||||
|
- .bazelrc
|
||||||
|
- .bazelversion
|
||||||
|
- BUILD.*
|
||||||
|
- '*.bzl'
|
||||||
|
- '*.bazel'
|
||||||
|
- .github/workflows/test.yaml
|
||||||
|
pull_request:
|
||||||
|
concurrency:
|
||||||
|
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
|
||||||
|
cancel-in-progress: true
|
||||||
|
jobs:
|
||||||
|
check-workflow:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
outputs:
|
||||||
|
repo_cache_key: ${{ steps.repo-cache-key.outputs.value }}
|
||||||
|
steps:
|
||||||
|
- name: CHECKOUT REPOSITORY
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
- name: SETUP ERLANG/ELIXIR
|
||||||
|
uses: erlef/setup-beam@v1
|
||||||
|
with:
|
||||||
|
otp-version: 26
|
||||||
|
elixir-version: 1.15
|
||||||
|
- name: ENSURE WORKFLOWS ARE UP TO DATE
|
||||||
|
run: |
|
||||||
|
mkdir local-bin/
|
||||||
|
curl -L https://carvel.dev/install.sh | K14SIO_INSTALL_BIN_DIR=local-bin bash
|
||||||
|
make actions-workflows YTT=$PWD/local-bin/ytt
|
||||||
|
git diff --exit-code
|
||||||
|
- name: COMPUTE REPO CACHE KEY
|
||||||
|
id: repo-cache-key
|
||||||
|
run: |
|
||||||
|
echo "value=bazel-repo-cache-${{ hashFiles('MODULE.bazel') }}" | tee -a $GITHUB_OUTPUT
|
||||||
|
- name: AUTHENTICATE TO GOOGLE CLOUD
|
||||||
|
uses: google-github-actions/auth@v2.1.2
|
||||||
|
with:
|
||||||
|
credentials_json: ${{ secrets.REMOTE_CACHE_CREDENTIALS_JSON }}
|
||||||
|
- name: REPO CACHE
|
||||||
|
id: cache
|
||||||
|
uses: actions/cache@v4
|
||||||
|
with:
|
||||||
|
key: ${{ steps.repo-cache-key.outputs.value }}
|
||||||
|
path: /home/runner/repo-cache/
|
||||||
|
- name: PRIME CACHE
|
||||||
|
if: steps.cache.outputs.cache-hit != 'true'
|
||||||
|
run: |
|
||||||
|
if [ -n "${{ secrets.REMOTE_CACHE_BUCKET_NAME }}" ]; then
|
||||||
|
cat << EOF >> user.bazelrc
|
||||||
|
build --remote_cache=https://storage.googleapis.com/${{ secrets.REMOTE_CACHE_BUCKET_NAME }}
|
||||||
|
build --google_default_credentials
|
||||||
|
EOF
|
||||||
|
fi
|
||||||
|
cat << EOF >> user.bazelrc
|
||||||
|
build --repository_cache=/home/runner/repo-cache/
|
||||||
|
build --color=yes
|
||||||
|
EOF
|
||||||
|
|
||||||
|
bazelisk cquery \
|
||||||
|
'tests(//...) except attr("tags", "manual|mixed-version-cluster", //deps/...)' \
|
||||||
|
--output=label
|
||||||
|
|
||||||
|
#@ for plugin in data.values.internal_deps:
|
||||||
|
test-(@= plugin @):
|
||||||
|
needs: check-workflow
|
||||||
|
uses: ./.github/workflows/test-plugin.yaml
|
||||||
|
with:
|
||||||
|
repo_cache_key: ${{ needs.check-workflow.outputs.repo_cache_key }}
|
||||||
|
plugin: #@ plugin
|
||||||
|
secrets: inherit
|
||||||
|
#@ end
|
||||||
|
|
||||||
|
#@ rabbit_shard_count = 10
|
||||||
|
#@ for shard_index in range(0, rabbit_shard_count):
|
||||||
|
test-rabbit-(@= str(shard_index) @):
|
||||||
|
needs: #@ ["check-workflow"] + job_names(data.values.internal_deps)
|
||||||
|
uses: ./.github/workflows/test-plugin.yaml
|
||||||
|
with:
|
||||||
|
repo_cache_key: ${{ needs.check-workflow.outputs.repo_cache_key }}
|
||||||
|
plugin: rabbit
|
||||||
|
shard_index: #@ shard_index
|
||||||
|
shard_count: #@ rabbit_shard_count
|
||||||
|
secrets: inherit
|
||||||
|
#@ end
|
||||||
|
|
||||||
|
#@ for plugin in data.values.tier1_plugins:
|
||||||
|
test-(@= plugin @):
|
||||||
|
needs: #@ ["check-workflow"] + sharded_job_names("rabbit", rabbit_shard_count)
|
||||||
|
uses: ./.github/workflows/test-plugin.yaml
|
||||||
|
with:
|
||||||
|
repo_cache_key: ${{ needs.check-workflow.outputs.repo_cache_key }}
|
||||||
|
plugin: #@ plugin
|
||||||
|
secrets: inherit
|
||||||
|
#@ end
|
||||||
|
|
||||||
|
summary-test:
|
||||||
|
needs: #@ job_names(data.values.internal_deps + data.values.tier1_plugins) + sharded_job_names("rabbit", rabbit_shard_count)
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: SUMMARY
|
||||||
|
run: |
|
||||||
|
cat << 'EOF' | jq -e 'map(.result == "success") | all(.)'
|
||||||
|
${{ toJson(needs) }}
|
||||||
|
EOF
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,170 @@
|
||||||
|
name: Test Plugin Mixed Version Clusters
|
||||||
|
on:
|
||||||
|
workflow_call:
|
||||||
|
inputs:
|
||||||
|
repo_cache_key:
|
||||||
|
required: true
|
||||||
|
type: string
|
||||||
|
plugin:
|
||||||
|
required: true
|
||||||
|
type: string
|
||||||
|
shard_index:
|
||||||
|
default: 0
|
||||||
|
type: number
|
||||||
|
shard_count:
|
||||||
|
default: 1
|
||||||
|
type: number
|
||||||
|
secrets:
|
||||||
|
REMOTE_CACHE_BUCKET_NAME:
|
||||||
|
required: true
|
||||||
|
REMOTE_CACHE_CREDENTIALS_JSON:
|
||||||
|
required: true
|
||||||
|
jobs:
|
||||||
|
test:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
erlang_version:
|
||||||
|
- 26
|
||||||
|
metadata_store:
|
||||||
|
- mnesia
|
||||||
|
- khepri
|
||||||
|
include:
|
||||||
|
- erlang_version: 26
|
||||||
|
elixir_version: 1.15
|
||||||
|
timeout-minutes: 120
|
||||||
|
steps:
|
||||||
|
- name: LOAD REPO CACHE
|
||||||
|
uses: actions/cache/restore@v4
|
||||||
|
with:
|
||||||
|
key: ${{ inputs.repo_cache_key }}
|
||||||
|
path: /home/runner/repo-cache/
|
||||||
|
- name: CHECKOUT REPOSITORY
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
- name: CONFIGURE OTP & ELIXIR
|
||||||
|
uses: erlef/setup-beam@v1.17
|
||||||
|
with:
|
||||||
|
otp-version: ${{ matrix.erlang_version }}
|
||||||
|
elixir-version: ${{ matrix.elixir_version }}
|
||||||
|
- name: AUTHENTICATE TO GOOGLE CLOUD
|
||||||
|
uses: google-github-actions/auth@v2.1.2
|
||||||
|
with:
|
||||||
|
credentials_json: ${{ secrets.REMOTE_CACHE_CREDENTIALS_JSON }}
|
||||||
|
- name: CONFIGURE BAZEL
|
||||||
|
run: |
|
||||||
|
if [ -n "${{ secrets.REMOTE_CACHE_BUCKET_NAME }}" ]; then
|
||||||
|
cat << EOF >> user.bazelrc
|
||||||
|
build --remote_cache=https://storage.googleapis.com/${{ secrets.REMOTE_CACHE_BUCKET_NAME }}
|
||||||
|
build --google_default_credentials
|
||||||
|
EOF
|
||||||
|
fi
|
||||||
|
cat << EOF >> user.bazelrc
|
||||||
|
build --repository_cache=/home/runner/repo-cache/
|
||||||
|
build --color=yes
|
||||||
|
EOF
|
||||||
|
|
||||||
|
bazelisk info release
|
||||||
|
#! - name: Setup tmate session
|
||||||
|
#! uses: mxschmitt/action-tmate@v3
|
||||||
|
- uses: actions/setup-dotnet@v4
|
||||||
|
if: inputs.plugin == 'rabbit'
|
||||||
|
with:
|
||||||
|
dotnet-version: '3.1.x'
|
||||||
|
- name: deps/amqp10_client SETUP
|
||||||
|
if: inputs.plugin == 'amqp10_client'
|
||||||
|
run: |
|
||||||
|
# reduce sandboxing so that activemq works
|
||||||
|
cat << EOF >> user.bazelrc
|
||||||
|
build --strategy=TestRunner=local
|
||||||
|
EOF
|
||||||
|
- name: deps/rabbit SETUP
|
||||||
|
if: inputs.plugin == 'rabbit'
|
||||||
|
run: |
|
||||||
|
# reduce sandboxing so that maven works
|
||||||
|
cat << EOF >> user.bazelrc
|
||||||
|
build --strategy=TestRunner=local
|
||||||
|
EOF
|
||||||
|
- name: deps/rabbitmq_auth_backend_ldap SETUP
|
||||||
|
if: inputs.plugin == 'rabbitmq_auth_backend_ldap'
|
||||||
|
run: |
|
||||||
|
sudo apt-get update && \
|
||||||
|
sudo apt-get install -y \
|
||||||
|
apparmor-utils \
|
||||||
|
ldap-utils \
|
||||||
|
slapd
|
||||||
|
|
||||||
|
sudo aa-complain `which slapd`
|
||||||
|
|
||||||
|
cat << EOF >> user.bazelrc
|
||||||
|
build --strategy=TestRunner=local
|
||||||
|
EOF
|
||||||
|
- name: deps/rabbitmq_mqtt SETUP
|
||||||
|
if: inputs.plugin == 'rabbitmq_mqtt'
|
||||||
|
run: |
|
||||||
|
cat << EOF >> user.bazelrc
|
||||||
|
build --strategy=TestRunner=local
|
||||||
|
EOF
|
||||||
|
- name: deps/rabbitmq_peer_discovery_consul SETUP
|
||||||
|
if: inputs.plugin == 'rabbitmq_peer_discovery_consul'
|
||||||
|
run: |
|
||||||
|
cat << EOF >> user.bazelrc
|
||||||
|
build --strategy=TestRunner=local
|
||||||
|
EOF
|
||||||
|
- name: deps/rabbitmq_stream SETUP
|
||||||
|
if: inputs.plugin == 'rabbitmq_stream'
|
||||||
|
run: |
|
||||||
|
cat << EOF >> user.bazelrc
|
||||||
|
build --strategy=TestRunner=local
|
||||||
|
EOF
|
||||||
|
- name: deps/rabbitmq_stream_management SETUP
|
||||||
|
if: inputs.plugin == 'rabbitmq_stream_management'
|
||||||
|
run: |
|
||||||
|
cat << EOF >> user.bazelrc
|
||||||
|
build --strategy=TestRunner=local
|
||||||
|
EOF
|
||||||
|
- name: deps/rabbitmq_tracing SETUP
|
||||||
|
if: inputs.plugin == 'rabbitmq_tracing'
|
||||||
|
run: |
|
||||||
|
cat << EOF >> user.bazelrc
|
||||||
|
build --strategy=TestRunner=local
|
||||||
|
EOF
|
||||||
|
- name: COMPUTE TESTS IN SHARD
|
||||||
|
id: shard
|
||||||
|
run: |
|
||||||
|
bazelisk cquery \
|
||||||
|
'attr("tags", "mixed-version-cluster", tests(//deps/${{ inputs.plugin }}/...)) except attr("tags", "manual", //deps/${{ inputs.plugin }}/...)' \
|
||||||
|
--output=label \
|
||||||
|
| awk '{print $1;}' > tests.log
|
||||||
|
if [[ $(wc -l < tests.log) != "0" ]]; then
|
||||||
|
split -da 3 -l $((`wc -l < tests.log`/${{ inputs.shard_count }})) tests.log shard
|
||||||
|
printf -v padded_index "%03d" ${{ inputs.shard_index }}
|
||||||
|
echo "file=shard$padded_index" | tee -a $GITHUB_OUTPUT
|
||||||
|
else
|
||||||
|
echo "No tests in this shard"
|
||||||
|
echo "file=" | tee -a $GITHUB_OUTPUT
|
||||||
|
fi
|
||||||
|
- name: RUN TESTS
|
||||||
|
if: steps.shard.outputs.file != '' && inputs.plugin != 'rabbitmq_peer_discovery_aws'
|
||||||
|
run: |
|
||||||
|
echo "Tests in shard:"
|
||||||
|
cat ${{ steps.shard.outputs.file }}
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
## WARNING:
|
||||||
|
## secrets must not be set in --test_env or --action_env,
|
||||||
|
## or otherwise logs must not be saved as artifacts.
|
||||||
|
## rabbit_ct_helpers or other code may log portions of the
|
||||||
|
## env vars and leak them
|
||||||
|
|
||||||
|
bazelisk test $(< ${{ steps.shard.outputs.file }}) \
|
||||||
|
--test_env RABBITMQ_METADATA_STORE=${{ matrix.metadata_store }} \
|
||||||
|
--build_tests_only \
|
||||||
|
--verbose_failures
|
||||||
|
- name: UPLOAD TEST LOGS
|
||||||
|
if: always()
|
||||||
|
uses: actions/upload-artifact@v4
|
||||||
|
with:
|
||||||
|
name: bazel-testlogs-${{ inputs.plugin }}-${{ inputs.shard_index }}-${{ matrix.erlang_version }}-${{ matrix.metadata_store }}-mixed
|
||||||
|
path: |
|
||||||
|
bazel-testlogs/deps/${{ inputs.plugin }}/*
|
|
@ -0,0 +1,165 @@
|
||||||
|
name: Test Plugin
|
||||||
|
on:
|
||||||
|
workflow_call:
|
||||||
|
inputs:
|
||||||
|
repo_cache_key:
|
||||||
|
required: true
|
||||||
|
type: string
|
||||||
|
plugin:
|
||||||
|
required: true
|
||||||
|
type: string
|
||||||
|
shard_index:
|
||||||
|
default: 0
|
||||||
|
type: number
|
||||||
|
shard_count:
|
||||||
|
default: 1
|
||||||
|
type: number
|
||||||
|
secrets:
|
||||||
|
REMOTE_CACHE_BUCKET_NAME:
|
||||||
|
required: true
|
||||||
|
REMOTE_CACHE_CREDENTIALS_JSON:
|
||||||
|
required: true
|
||||||
|
jobs:
|
||||||
|
test:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
erlang_version:
|
||||||
|
- 26
|
||||||
|
metadata_store:
|
||||||
|
- mnesia
|
||||||
|
- khepri
|
||||||
|
include:
|
||||||
|
- erlang_version: 26
|
||||||
|
elixir_version: 1.15
|
||||||
|
timeout-minutes: 120
|
||||||
|
steps:
|
||||||
|
- name: LOAD REPO CACHE
|
||||||
|
uses: actions/cache/restore@v4
|
||||||
|
with:
|
||||||
|
key: ${{ inputs.repo_cache_key }}
|
||||||
|
path: /home/runner/repo-cache/
|
||||||
|
- name: CHECKOUT REPOSITORY
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
- name: CONFIGURE OTP & ELIXIR
|
||||||
|
uses: erlef/setup-beam@v1.17
|
||||||
|
with:
|
||||||
|
otp-version: ${{ matrix.erlang_version }}
|
||||||
|
elixir-version: ${{ matrix.elixir_version }}
|
||||||
|
- name: AUTHENTICATE TO GOOGLE CLOUD
|
||||||
|
uses: google-github-actions/auth@v2.1.2
|
||||||
|
with:
|
||||||
|
credentials_json: ${{ secrets.REMOTE_CACHE_CREDENTIALS_JSON }}
|
||||||
|
- name: CONFIGURE BAZEL
|
||||||
|
run: |
|
||||||
|
if [ -n "${{ secrets.REMOTE_CACHE_BUCKET_NAME }}" ]; then
|
||||||
|
cat << EOF >> user.bazelrc
|
||||||
|
build --remote_cache=https://storage.googleapis.com/${{ secrets.REMOTE_CACHE_BUCKET_NAME }}
|
||||||
|
build --google_default_credentials
|
||||||
|
EOF
|
||||||
|
fi
|
||||||
|
cat << EOF >> user.bazelrc
|
||||||
|
build --repository_cache=/home/runner/repo-cache/
|
||||||
|
build --color=yes
|
||||||
|
EOF
|
||||||
|
|
||||||
|
bazelisk info release
|
||||||
|
#! - name: Setup tmate session
|
||||||
|
#! uses: mxschmitt/action-tmate@v3
|
||||||
|
- uses: actions/setup-dotnet@v4
|
||||||
|
if: inputs.plugin == 'rabbit'
|
||||||
|
with:
|
||||||
|
dotnet-version: '3.1.x'
|
||||||
|
- name: deps/amqp10_client SETUP
|
||||||
|
if: inputs.plugin == 'amqp10_client'
|
||||||
|
run: |
|
||||||
|
# reduce sandboxing so that activemq works
|
||||||
|
cat << EOF >> user.bazelrc
|
||||||
|
build --strategy=TestRunner=local
|
||||||
|
EOF
|
||||||
|
- name: deps/rabbit SETUP
|
||||||
|
if: inputs.plugin == 'rabbit'
|
||||||
|
run: |
|
||||||
|
# reduce sandboxing so that maven works
|
||||||
|
cat << EOF >> user.bazelrc
|
||||||
|
build --strategy=TestRunner=local
|
||||||
|
EOF
|
||||||
|
- name: deps/rabbitmq_auth_backend_ldap SETUP
|
||||||
|
if: inputs.plugin == 'rabbitmq_auth_backend_ldap'
|
||||||
|
run: |
|
||||||
|
sudo apt-get update && \
|
||||||
|
sudo apt-get install -y \
|
||||||
|
apparmor-utils \
|
||||||
|
ldap-utils \
|
||||||
|
slapd
|
||||||
|
|
||||||
|
sudo aa-complain `which slapd`
|
||||||
|
|
||||||
|
cat << EOF >> user.bazelrc
|
||||||
|
build --strategy=TestRunner=local
|
||||||
|
EOF
|
||||||
|
- name: deps/rabbitmq_mqtt SETUP
|
||||||
|
if: inputs.plugin == 'rabbitmq_mqtt'
|
||||||
|
run: |
|
||||||
|
cat << EOF >> user.bazelrc
|
||||||
|
build --strategy=TestRunner=local
|
||||||
|
EOF
|
||||||
|
- name: deps/rabbitmq_peer_discovery_consul SETUP
|
||||||
|
if: inputs.plugin == 'rabbitmq_peer_discovery_consul'
|
||||||
|
run: |
|
||||||
|
cat << EOF >> user.bazelrc
|
||||||
|
build --strategy=TestRunner=local
|
||||||
|
EOF
|
||||||
|
- name: deps/rabbitmq_stream SETUP
|
||||||
|
if: inputs.plugin == 'rabbitmq_stream'
|
||||||
|
run: |
|
||||||
|
cat << EOF >> user.bazelrc
|
||||||
|
build --strategy=TestRunner=local
|
||||||
|
EOF
|
||||||
|
- name: deps/rabbitmq_stream_management SETUP
|
||||||
|
if: inputs.plugin == 'rabbitmq_stream_management'
|
||||||
|
run: |
|
||||||
|
cat << EOF >> user.bazelrc
|
||||||
|
build --strategy=TestRunner=local
|
||||||
|
EOF
|
||||||
|
- name: deps/rabbitmq_tracing SETUP
|
||||||
|
if: inputs.plugin == 'rabbitmq_tracing'
|
||||||
|
run: |
|
||||||
|
cat << EOF >> user.bazelrc
|
||||||
|
build --strategy=TestRunner=local
|
||||||
|
EOF
|
||||||
|
- name: COMPUTE TESTS IN SHARD
|
||||||
|
id: shard
|
||||||
|
run: |
|
||||||
|
bazelisk cquery \
|
||||||
|
'tests(//deps/${{ inputs.plugin }}/...) except attr("tags", "manual|mixed-version-cluster", //deps/...)' \
|
||||||
|
--output=label \
|
||||||
|
| awk '{print $1;}' > tests.log
|
||||||
|
split -da 3 -l $((`wc -l < tests.log`/${{ inputs.shard_count }})) tests.log shard
|
||||||
|
printf -v padded_index "%03d" ${{ inputs.shard_index }}
|
||||||
|
echo "file=shard$padded_index" | tee -a $GITHUB_OUTPUT
|
||||||
|
- name: RUN TESTS
|
||||||
|
if: inputs.plugin != 'rabbitmq_peer_discovery_aws'
|
||||||
|
run: |
|
||||||
|
echo "Tests in shard:"
|
||||||
|
cat ${{ steps.shard.outputs.file }}
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
## WARNING:
|
||||||
|
## secrets must not be set in --test_env or --action_env,
|
||||||
|
## or otherwise logs must not be saved as artifacts.
|
||||||
|
## rabbit_ct_helpers or other code may log portions of the
|
||||||
|
## env vars and leak them
|
||||||
|
|
||||||
|
bazelisk test $(< ${{ steps.shard.outputs.file }}) \
|
||||||
|
--test_env RABBITMQ_METADATA_STORE=${{ matrix.metadata_store }} \
|
||||||
|
--build_tests_only \
|
||||||
|
--verbose_failures
|
||||||
|
- name: UPLOAD TEST LOGS
|
||||||
|
if: always()
|
||||||
|
uses: actions/upload-artifact@v4
|
||||||
|
with:
|
||||||
|
name: bazel-testlogs-${{ inputs.plugin }}-${{ inputs.shard_index }}-${{ matrix.erlang_version }}-${{ matrix.metadata_store }}
|
||||||
|
path: |
|
||||||
|
bazel-testlogs/deps/${{ inputs.plugin }}/*
|
File diff suppressed because it is too large
Load Diff
55
MODULE.bazel
55
MODULE.bazel
|
@ -67,6 +67,7 @@ erlang_config = use_extension(
|
||||||
"erlang_config",
|
"erlang_config",
|
||||||
)
|
)
|
||||||
|
|
||||||
|
<<<<<<< HEAD
|
||||||
erlang_config.internal_erlang_from_github_release(
|
erlang_config.internal_erlang_from_github_release(
|
||||||
name = "24",
|
name = "24",
|
||||||
sha256 = "8444ff9abe23aea268adbb95463561fc222c965052d35d7c950b17be01c3ad82",
|
sha256 = "8444ff9abe23aea268adbb95463561fc222c965052d35d7c950b17be01c3ad82",
|
||||||
|
@ -124,6 +125,8 @@ erlang_config.internal_erlang_from_http_archive(
|
||||||
extra_make_opts = ["-j 4"],
|
extra_make_opts = ["-j 4"],
|
||||||
)
|
)
|
||||||
|
|
||||||
|
=======
|
||||||
|
>>>>>>> a6874e39cc (Turn off BuildBuddy integration (#11343))
|
||||||
use_repo(
|
use_repo(
|
||||||
erlang_config,
|
erlang_config,
|
||||||
"erlang_config",
|
"erlang_config",
|
||||||
|
@ -134,50 +137,13 @@ elixir_config = use_extension(
|
||||||
"elixir_config",
|
"elixir_config",
|
||||||
)
|
)
|
||||||
|
|
||||||
elixir_config.internal_elixir_from_github_release(
|
|
||||||
name = "1_13",
|
|
||||||
sha256 = "95daf2dd3052e6ca7d4d849457eaaba09de52d65ca38d6933c65bc1cdf6b8579",
|
|
||||||
version = "1.13.4",
|
|
||||||
)
|
|
||||||
|
|
||||||
elixir_config.internal_elixir_from_github_release(
|
|
||||||
name = "1_14",
|
|
||||||
sha256 = "2ea249566c67e57f8365ecdcd0efd9b6c375f57609b3ac2de326488ac37c8ebd",
|
|
||||||
version = "1.14.5",
|
|
||||||
)
|
|
||||||
|
|
||||||
elixir_config.internal_elixir_from_github_release(
|
|
||||||
name = "1_15",
|
|
||||||
sha256 = "09e697ab13fc60f27adaba9b71f8793105acd4320a89b16be0ceb4a13426d779",
|
|
||||||
version = "1.15.8",
|
|
||||||
)
|
|
||||||
|
|
||||||
use_repo(
|
use_repo(
|
||||||
elixir_config,
|
elixir_config,
|
||||||
"elixir_config",
|
"elixir_config",
|
||||||
)
|
)
|
||||||
|
|
||||||
register_toolchains(
|
register_toolchains(
|
||||||
"@erlang_config//24:toolchain_major",
|
|
||||||
"@erlang_config//24:toolchain_major_minor",
|
|
||||||
"@erlang_config//25_0:toolchain_major",
|
|
||||||
"@erlang_config//25_0:toolchain_major_minor",
|
|
||||||
"@erlang_config//25_1:toolchain_major",
|
|
||||||
"@erlang_config//25_1:toolchain_major_minor",
|
|
||||||
"@erlang_config//25_2:toolchain_major",
|
|
||||||
"@erlang_config//25_2:toolchain_major_minor",
|
|
||||||
"@erlang_config//25_3:toolchain_major",
|
|
||||||
"@erlang_config//25_3:toolchain_major_minor",
|
|
||||||
"@erlang_config//26_1:toolchain_major",
|
|
||||||
"@erlang_config//26_1:toolchain_major_minor",
|
|
||||||
"@erlang_config//26_2:toolchain_major",
|
|
||||||
"@erlang_config//26_2:toolchain_major_minor",
|
|
||||||
"@erlang_config//git_master:toolchain_major",
|
|
||||||
"@erlang_config//git_master:toolchain_major_minor",
|
|
||||||
"@elixir_config//external:toolchain",
|
"@elixir_config//external:toolchain",
|
||||||
"@elixir_config//1_13:toolchain",
|
|
||||||
"@elixir_config//1_14:toolchain",
|
|
||||||
"@elixir_config//1_15:toolchain",
|
|
||||||
)
|
)
|
||||||
|
|
||||||
erlang_package = use_extension(
|
erlang_package = use_extension(
|
||||||
|
@ -516,21 +482,6 @@ use_repo(
|
||||||
"x509",
|
"x509",
|
||||||
)
|
)
|
||||||
|
|
||||||
rbe = use_extension(
|
|
||||||
"//bazel/bzlmod:extensions.bzl",
|
|
||||||
"rbe",
|
|
||||||
)
|
|
||||||
|
|
||||||
rbe.git_repository(
|
|
||||||
branch = "linux-rbe",
|
|
||||||
remote = "https://github.com/rabbitmq/rbe-erlang-platform.git",
|
|
||||||
)
|
|
||||||
|
|
||||||
use_repo(
|
|
||||||
rbe,
|
|
||||||
"rbe",
|
|
||||||
)
|
|
||||||
|
|
||||||
secondary_umbrella = use_extension(
|
secondary_umbrella = use_extension(
|
||||||
"//bazel/bzlmod:extensions.bzl",
|
"//bazel/bzlmod:extensions.bzl",
|
||||||
"secondary_umbrella",
|
"secondary_umbrella",
|
||||||
|
|
74
Makefile
74
Makefile
|
@ -559,3 +559,77 @@ install-windows-docs: install-windows-erlapp
|
||||||
*) mv "$$file" "$$file.txt" ;; \
|
*) mv "$$file" "$$file.txt" ;; \
|
||||||
esac; \
|
esac; \
|
||||||
done
|
done
|
||||||
|
|
||||||
|
INTERNAL_DEPS := \
|
||||||
|
amqp10_client \
|
||||||
|
amqp10_common \
|
||||||
|
amqp_client \
|
||||||
|
oauth2_client \
|
||||||
|
rabbit_common \
|
||||||
|
rabbitmq_ct_client_helpers \
|
||||||
|
rabbitmq_ct_helpers \
|
||||||
|
rabbitmq_stream_common \
|
||||||
|
trust_store_http
|
||||||
|
|
||||||
|
TIER1_PLUGINS := \
|
||||||
|
rabbitmq_amqp_client \
|
||||||
|
rabbitmq_amqp1_0 \
|
||||||
|
rabbitmq_auth_backend_cache \
|
||||||
|
rabbitmq_auth_backend_http \
|
||||||
|
rabbitmq_auth_backend_ldap \
|
||||||
|
rabbitmq_auth_backend_oauth2 \
|
||||||
|
rabbitmq_auth_mechanism_ssl \
|
||||||
|
rabbitmq_aws \
|
||||||
|
rabbitmq_consistent_hash_exchange \
|
||||||
|
rabbitmq_event_exchange \
|
||||||
|
rabbitmq_federation \
|
||||||
|
rabbitmq_federation_management \
|
||||||
|
rabbitmq_jms_topic_exchange \
|
||||||
|
rabbitmq_management \
|
||||||
|
rabbitmq_management_agent \
|
||||||
|
rabbitmq_mqtt \
|
||||||
|
rabbitmq_peer_discovery_aws \
|
||||||
|
rabbitmq_peer_discovery_common \
|
||||||
|
rabbitmq_peer_discovery_consul \
|
||||||
|
rabbitmq_peer_discovery_etcd \
|
||||||
|
rabbitmq_peer_discovery_k8s \
|
||||||
|
rabbitmq_prelaunch \
|
||||||
|
rabbitmq_prometheus \
|
||||||
|
rabbitmq_random_exchange \
|
||||||
|
rabbitmq_recent_history_exchange \
|
||||||
|
rabbitmq_sharding \
|
||||||
|
rabbitmq_shovel \
|
||||||
|
rabbitmq_shovel_management \
|
||||||
|
rabbitmq_stomp \
|
||||||
|
rabbitmq_stream \
|
||||||
|
rabbitmq_stream_management \
|
||||||
|
rabbitmq_top \
|
||||||
|
rabbitmq_tracing \
|
||||||
|
rabbitmq_trust_store \
|
||||||
|
rabbitmq_web_dispatch \
|
||||||
|
rabbitmq_web_mqtt \
|
||||||
|
rabbitmq_web_mqtt_examples \
|
||||||
|
rabbitmq_web_stomp \
|
||||||
|
rabbitmq_web_stomp_examples
|
||||||
|
|
||||||
|
YTT ?= ytt
|
||||||
|
|
||||||
|
actions-workflows: .github/workflows/test.yaml .github/workflows/test-mixed-versions.yaml
|
||||||
|
|
||||||
|
.PHONY: .github/workflows/test.yaml .github/workflows/test-mixed-versions.yaml
|
||||||
|
|
||||||
|
.github/workflows/test.yaml: .github/workflows/templates/test.template.yaml
|
||||||
|
$(gen_verbose) $(YTT) \
|
||||||
|
--file $< \
|
||||||
|
--data-value-yaml internal_deps=[$(subst $(space),$(comma),$(foreach s,$(INTERNAL_DEPS),"$s"))] \
|
||||||
|
--data-value-yaml tier1_plugins=[$(subst $(space),$(comma),$(foreach s,$(TIER1_PLUGINS),"$s"))] \
|
||||||
|
| sed 's/^true:/on:/' \
|
||||||
|
| sed 's/pull_request: null/pull_request:/'> $@
|
||||||
|
|
||||||
|
.github/workflows/test-mixed-versions.yaml: .github/workflows/templates/test-mixed-versions.template.yaml
|
||||||
|
$(gen_verbose) $(YTT) \
|
||||||
|
--file $< \
|
||||||
|
--data-value-yaml internal_deps=[$(subst $(space),$(comma),$(foreach s,$(INTERNAL_DEPS),"$s"))] \
|
||||||
|
--data-value-yaml tier1_plugins=[$(subst $(space),$(comma),$(foreach s,$(TIER1_PLUGINS),"$s"))] \
|
||||||
|
| sed 's/^true:/on:/' \
|
||||||
|
| sed 's/pull_request: null/pull_request:/'> $@
|
||||||
|
|
|
@ -34,6 +34,7 @@ load("@rules_erlang//gazelle:deps.bzl", "gazelle_deps")
|
||||||
|
|
||||||
gazelle_deps()
|
gazelle_deps()
|
||||||
|
|
||||||
|
<<<<<<< HEAD
|
||||||
http_file(
|
http_file(
|
||||||
name = "otp_src_24",
|
name = "otp_src_24",
|
||||||
downloaded_file_path = "OTP-24.3.4.6.tar.gz",
|
downloaded_file_path = "OTP-24.3.4.6.tar.gz",
|
||||||
|
@ -83,6 +84,8 @@ http_file(
|
||||||
urls = ["https://github.com/erlang/otp/archive/OTP-26.2.5.tar.gz"],
|
urls = ["https://github.com/erlang/otp/archive/OTP-26.2.5.tar.gz"],
|
||||||
)
|
)
|
||||||
|
|
||||||
|
=======
|
||||||
|
>>>>>>> a6874e39cc (Turn off BuildBuddy integration (#11343))
|
||||||
new_git_repository(
|
new_git_repository(
|
||||||
name = "bats",
|
name = "bats",
|
||||||
build_file = "@//:BUILD.bats",
|
build_file = "@//:BUILD.bats",
|
||||||
|
@ -97,9 +100,3 @@ activemq_archive()
|
||||||
load("//bazel/bzlmod:secondary_umbrella.bzl", "secondary_umbrella")
|
load("//bazel/bzlmod:secondary_umbrella.bzl", "secondary_umbrella")
|
||||||
|
|
||||||
secondary_umbrella()
|
secondary_umbrella()
|
||||||
|
|
||||||
git_repository(
|
|
||||||
name = "rbe",
|
|
||||||
branch = "linux-rbe",
|
|
||||||
remote = "https://github.com/rabbitmq/rbe-erlang-platform.git",
|
|
||||||
)
|
|
||||||
|
|
|
@ -95,64 +95,14 @@ elixir_config = module_extension(
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
|
|
||||||
def _rbe(ctx):
|
def _secondary_umbrella(_ctx):
|
||||||
root_rbe_repo_props = []
|
|
||||||
rbe_repo_props = []
|
|
||||||
for mod in ctx.modules:
|
|
||||||
for repo in mod.tags.git_repository:
|
|
||||||
props = {"remote": repo.remote}
|
|
||||||
if repo.commit != "":
|
|
||||||
props["commit"] = repo.commit
|
|
||||||
if repo.tag != "":
|
|
||||||
props["tag"] = repo.tag
|
|
||||||
if repo.branch != "":
|
|
||||||
props["branch"] = repo.branch
|
|
||||||
if mod.is_root:
|
|
||||||
if not props in root_rbe_repo_props:
|
|
||||||
root_rbe_repo_props.append(props)
|
|
||||||
elif not props in rbe_repo_props:
|
|
||||||
rbe_repo_props.append(props)
|
|
||||||
|
|
||||||
if len(root_rbe_repo_props) > 1:
|
|
||||||
fail("Multiple definitions for @rbe exist in root module: {}".format(rbe_repo_props))
|
|
||||||
|
|
||||||
if len(root_rbe_repo_props) > 0:
|
|
||||||
git_repository(
|
|
||||||
name = "rbe",
|
|
||||||
**root_rbe_repo_props[0]
|
|
||||||
)
|
|
||||||
else:
|
|
||||||
if len(rbe_repo_props) > 1:
|
|
||||||
fail("Multiple definitions for @rbe exist: {}".format(rbe_repo_props))
|
|
||||||
|
|
||||||
if len(rbe_repo_props) > 0:
|
|
||||||
git_repository(
|
|
||||||
name = "rbe",
|
|
||||||
**rbe_repo_props[0]
|
|
||||||
)
|
|
||||||
|
|
||||||
git_repository_tag = tag_class(attrs = {
|
|
||||||
"remote": attr.string(),
|
|
||||||
"branch": attr.string(),
|
|
||||||
"tag": attr.string(),
|
|
||||||
"commit": attr.string(),
|
|
||||||
})
|
|
||||||
|
|
||||||
rbe = module_extension(
|
|
||||||
implementation = _rbe,
|
|
||||||
tag_classes = {
|
|
||||||
"git_repository": git_repository_tag,
|
|
||||||
},
|
|
||||||
)
|
|
||||||
|
|
||||||
def _secondary_umbrella(ctx):
|
|
||||||
fetch_secondary_umbrella()
|
fetch_secondary_umbrella()
|
||||||
|
|
||||||
secondary_umbrella = module_extension(
|
secondary_umbrella = module_extension(
|
||||||
implementation = _secondary_umbrella,
|
implementation = _secondary_umbrella,
|
||||||
)
|
)
|
||||||
|
|
||||||
def _hex(ctx):
|
def _hex(_ctx):
|
||||||
http_archive(
|
http_archive(
|
||||||
name = "hex",
|
name = "hex",
|
||||||
sha256 = "0e3e3290d0fcbdc6bb0526b73ca174d68dcff4d53ee86015c49ad0493e39ee65",
|
sha256 = "0e3e3290d0fcbdc6bb0526b73ca174d68dcff4d53ee86015c49ad0493e39ee65",
|
||||||
|
|
|
@ -1,84 +0,0 @@
|
||||||
package(
|
|
||||||
default_visibility = ["//visibility:public"],
|
|
||||||
)
|
|
||||||
|
|
||||||
platform(
|
|
||||||
name = "erlang_internal_platform",
|
|
||||||
constraint_values = [
|
|
||||||
"@erlang_config//:erlang_internal",
|
|
||||||
"@elixir_config//:elixir_internal",
|
|
||||||
],
|
|
||||||
parents = ["@rbe//config:platform"],
|
|
||||||
)
|
|
||||||
|
|
||||||
platform(
|
|
||||||
name = "erlang_linux_24_platform",
|
|
||||||
constraint_values = [
|
|
||||||
"@erlang_config//:erlang_24",
|
|
||||||
"@elixir_config//:elixir_1_13",
|
|
||||||
],
|
|
||||||
parents = ["@rbe//config:platform"],
|
|
||||||
)
|
|
||||||
|
|
||||||
platform(
|
|
||||||
name = "erlang_linux_25_0_platform",
|
|
||||||
constraint_values = [
|
|
||||||
"@erlang_config//:erlang_25_0",
|
|
||||||
"@elixir_config//:elixir_1_14",
|
|
||||||
],
|
|
||||||
parents = ["@rbe//config:platform"],
|
|
||||||
)
|
|
||||||
|
|
||||||
platform(
|
|
||||||
name = "erlang_linux_25_1_platform",
|
|
||||||
constraint_values = [
|
|
||||||
"@erlang_config//:erlang_25_1",
|
|
||||||
"@elixir_config//:elixir_1_14",
|
|
||||||
],
|
|
||||||
parents = ["@rbe//config:platform"],
|
|
||||||
)
|
|
||||||
|
|
||||||
platform(
|
|
||||||
name = "erlang_linux_25_2_platform",
|
|
||||||
constraint_values = [
|
|
||||||
"@erlang_config//:erlang_25_2",
|
|
||||||
"@elixir_config//:elixir_1_14",
|
|
||||||
],
|
|
||||||
parents = ["@rbe//config:platform"],
|
|
||||||
)
|
|
||||||
|
|
||||||
platform(
|
|
||||||
name = "erlang_linux_25_3_platform",
|
|
||||||
constraint_values = [
|
|
||||||
"@erlang_config//:erlang_25_3",
|
|
||||||
"@elixir_config//:elixir_1_14",
|
|
||||||
],
|
|
||||||
parents = ["@rbe//config:platform"],
|
|
||||||
)
|
|
||||||
|
|
||||||
platform(
|
|
||||||
name = "erlang_linux_26_1_platform",
|
|
||||||
constraint_values = [
|
|
||||||
"@erlang_config//:erlang_26_1",
|
|
||||||
"@elixir_config//:elixir_1_15",
|
|
||||||
],
|
|
||||||
parents = ["@rbe//config:platform"],
|
|
||||||
)
|
|
||||||
|
|
||||||
platform(
|
|
||||||
name = "erlang_linux_26_2_platform",
|
|
||||||
constraint_values = [
|
|
||||||
"@erlang_config//:erlang_26_2",
|
|
||||||
"@elixir_config//:elixir_1_15",
|
|
||||||
],
|
|
||||||
parents = ["@rbe//config:platform"],
|
|
||||||
)
|
|
||||||
|
|
||||||
platform(
|
|
||||||
name = "erlang_linux_git_master_platform",
|
|
||||||
constraint_values = [
|
|
||||||
"@erlang_config//:erlang_27_unknown",
|
|
||||||
"@elixir_config//:elixir_1_15",
|
|
||||||
],
|
|
||||||
parents = ["@rbe//config:platform"],
|
|
||||||
)
|
|
|
@ -0,0 +1,31 @@
|
||||||
|
log_level = "DEBUG"
|
||||||
|
enable_syslog = false
|
||||||
|
enable_script_checks = false
|
||||||
|
enable_local_script_checks = true
|
||||||
|
|
||||||
|
datacenter = "dc1"
|
||||||
|
server = true
|
||||||
|
bootstrap_expect = 1
|
||||||
|
|
||||||
|
## ACL configuration
|
||||||
|
acl = {
|
||||||
|
enabled = true
|
||||||
|
default_policy = "allow"
|
||||||
|
enable_token_persistence = true
|
||||||
|
enable_token_replication = true
|
||||||
|
down_policy = "extend-cache"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Enable service mesh
|
||||||
|
connect {
|
||||||
|
enabled = true
|
||||||
|
}
|
||||||
|
|
||||||
|
# Addresses and ports
|
||||||
|
client_addr = "0.0.0.0"
|
||||||
|
bind_addr = "{{ GetInterfaceIP \"eth0\" }}"
|
||||||
|
|
||||||
|
addresses {
|
||||||
|
grpc = "0.0.0.0"
|
||||||
|
http = "0.0.0.0"
|
||||||
|
}
|
Loading…
Reference in New Issue