Turn off BuildBuddy integration (#11343)

Builds now execute on the github actions workers, using Google Cloud Storage (GCS) as a cache
This commit is contained in:
Rin Kuryloski 2024-06-06 11:37:10 +02:00 committed by GitHub
parent 730d91393d
commit a6874e39cc
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
16 changed files with 2917 additions and 729 deletions

View File

@ -15,70 +15,6 @@ build --test_timeout=7200
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
# You can create your own by copying and editing the template-user.bazelrc template:
# cp template-user.bazelrc user.bazelrc

View File

@ -13,10 +13,6 @@ jobs:
peer-discovery-aws-integration-test:
name: Integration Test
runs-on: ubuntu-22.04
strategy:
matrix:
otp_version_id:
- 26_2
timeout-minutes: 45
steps:
- name: CHECK IF IMAGE WILL PUSH
@ -43,34 +39,63 @@ jobs:
tags: ${{ steps.metadata.outputs.tags }}
timeout-seconds: 3600
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
if: steps.authorized.outputs.authorized == 'true'
run: |
if [ -n "${{ secrets.BUILDBUDDY_API_KEY }}" ]; then
if [ -n "${{ secrets.REMOTE_CACHE_BUCKET_NAME }}" ]; then
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
fi
cat << EOF >> user.bazelrc
build:buildbuddy --build_metadata=ROLE=CI
build:buildbuddy --build_metadata=VISIBILITY=PRIVATE
build:buildbuddy --color=yes
build --repository_cache=/home/runner/repo-cache/
build --color=yes
EOF
bazelisk info release
#! - name: Setup tmate session
#! uses: mxschmitt/action-tmate@v3
- name: RUN INTEGRATION TESTS
if: steps.authorized.outputs.authorized == 'true'
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##*/}"
bazelisk test //deps/rabbitmq_peer_discovery_aws:integration_SUITE \
--config=rbe-${{ matrix.otp_version_id }} \
--test_tag_filters=aws \
--build_tests_only \
--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 RABBITMQ_IMAGE="pivotalrabbitmq/rabbitmq:sha-${{ github.sha }}" \
--test_env AWS_ECS_CLUSTER_NAME="rabbitmq-peer-discovery-aws-actions-${branch_or_tag//[._]/-}" \
--test_output=streamed \
--verbose_failures

View File

@ -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

View File

@ -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

170
.github/workflows/test-plugin-mixed.yaml vendored Normal file
View File

@ -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 }}/*

165
.github/workflows/test-plugin.yaml vendored Normal file
View File

@ -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

View File

@ -1,93 +0,0 @@
name: Update Elixir Patch Versions for Bazel Based Workflows
on:
schedule:
- cron: '0 3 * * *'
workflow_dispatch:
jobs:
update-toolchains:
name: Update Elixir Versions
runs-on: ubuntu-22.04
strategy:
max-parallel: 1
fail-fast: false
matrix:
include:
- elixir_version: "1.13"
name: '1_13'
- elixir_version: "1.14"
name: '1_14'
- elixir_version: "1.15"
name: '1_15'
timeout-minutes: 10
env:
branch: bump-elixir-${{ matrix.elixir_version }}
steps:
- name: CHECKOUT REPOSITORY
uses: actions/checkout@v4
- name: FAIL IF THE PR ALREADY EXISTS
id: check-for-branch
run: |
set +e
if git ls-remote --exit-code --heads origin ${{ env.branch }}; then
echo "Branch ${{ env.branch }} already exits"
exit 1
fi
- name: DETERMINE LATEST PATCH & SHA
id: fetch-version
run: |
TAG_NAME=$(curl -s GET https://api.github.com/repos/elixir-lang/elixir/tags?per_page=100 \
| jq -r 'map(select(.name | contains("v${{ matrix.elixir_version }}"))) | first | .name')
if [[ -z "${TAG_NAME}" ]]; then
echo "Failed to determine latest TAG_NAME for v${{ matrix.elixir_version }}"
exit 1
fi
ARCHIVE_URL="https://github.com/elixir-lang/elixir/archive/${TAG_NAME}.tar.gz"
wget --continue --quiet --output-document="/tmp/elixir.tar.gz" "${ARCHIVE_URL}" && \
SHA="$(shasum -a 256 "/tmp/elixir.tar.gz" | awk '{print $1}')"
if [[ -z "${SHA}" ]]; then
echo "Failed to determine SHA for ${TAG_NAME}"
exit 1
fi
echo "VERSION=${TAG_NAME#v}" >> $GITHUB_OUTPUT
echo "SHA=${SHA}" >> $GITHUB_OUTPUT
- name: MODIFY VERSION FILE
run: |
sudo npm install --global --silent @bazel/buildozer
OLD_SHA="$(cat MODULE.bazel | buildozer 'print sha256' -:${{ matrix.name }})"
OLD_VERSION="$(cat MODULE.bazel | buildozer 'print version' -:${{ matrix.name }})"
echo "OLD_SHA: $OLD_SHA"
echo "OLD_VERSION: $OLD_VERSION"
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 "MODULE.bazel updated"
set -x
git diff
- name: CREATE PULL REQUEST
uses: peter-evans/create-pull-request@v6.0.5
with:
token: ${{ secrets.REPO_SCOPED_TOKEN }}
committer: GitHub <noreply@github.com>
author: GitHub <noreply@github.com>
title: Adopt elixir ${{ steps.fetch-version.outputs.VERSION }}
body: >
Automated changes created by
${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
using the [create-pull-request](https://github.com/peter-evans/create-pull-request)
GitHub action in the ${{ github.workflow }} workflow.
commit-message: |
Adopt elixir ${{ steps.fetch-version.outputs.VERSION }}
labels: |
backport-v3.13.x
backport-v3.12.x
backport-v3.11.x
branch: ${{ env.branch }}
delete-branch: true

View File

@ -1,145 +0,0 @@
name: Update OTP Patch Versions for Bazel Based Workflows
on:
schedule:
- cron: '0 3 * * *'
workflow_dispatch:
jobs:
update-toolchains:
name: Update OTP Versions
runs-on: ubuntu-22.04
strategy:
max-parallel: 1
fail-fast: false
matrix:
erlang_version:
- "25.0"
- "25.1"
- "25.2"
- "25.3"
- "26.1"
- "26.2"
include:
- erlang_version: "25.0"
name: '25_0'
branch: main
labels: |
backport-v3.12.x
backport-v3.11.x
- erlang_version: "25.1"
name: '25_1'
branch: main
labels: |
backport-v3.12.x
backport-v3.11.x
- erlang_version: "25.2"
name: '25_2'
branch: main
labels: |
backport-v3.12.x
backport-v3.11.x
- erlang_version: "25.3"
name: '25_3'
branch: main
labels: |
backport-v3.12.x
backport-v3.11.x
- erlang_version: "26.1"
name: '26_1'
branch: main
labels: |
backport-v3.13.x
backport-v3.12.x
- erlang_version: "26.2"
name: '26_2'
branch: main
labels: |
backport-v3.13.x
backport-v3.12.x
timeout-minutes: 10
env:
branch: bump-otp-${{ matrix.erlang_version }}
steps:
- name: CHECKOUT REPOSITORY
uses: actions/checkout@v4
with:
ref: ${{ matrix.branch }}
- name: FAIL IF THE PR ALREADY EXISTS
id: check-for-branch
run: |
set +e
if git ls-remote --exit-code --heads origin ${{ env.branch }}; then
echo "Branch ${{ env.branch }} already exits"
exit 1
fi
- name: DETERMINE LATEST PATCH & SHA
id: fetch-version
run: |
TAG_NAME=$(curl -s GET https://api.github.com/repos/erlang/otp/tags?per_page=100 \
| jq -r 'map(select(.name | contains("OTP-${{ matrix.erlang_version }}"))) | first | .name')
VERSION=${TAG_NAME#OTP-}
if [[ -z "${VERSION}" ]]; then
echo "Failed to determine latest VERSION for OTP-${{ matrix.erlang_version }}"
exit 1
fi
ARCHIVE_RBE_URL="https://github.com/erlang/otp/releases/download/${TAG_NAME}/otp_src_${VERSION}.tar.gz"
wget --continue --quiet --output-document="/tmp/otp_src_${VERSION}.tar.gz" "${ARCHIVE_RBE_URL}"
SHA="$(shasum -a 256 "/tmp/otp_src_${VERSION}.tar.gz" | awk '{print $1}')"
if [[ -z "${SHA}" ]]; then
echo "Failed to determine SHA for ${TAG_NAME}"
exit 1
fi
ARCHIVE_OCI_URL="https://github.com/erlang/otp/archive/OTP-${VERSION}.tar.gz"
wget --continue --quiet --output-document="/tmp/OTP-${VERSION}.tar.gz" "${ARCHIVE_OCI_URL}"
SHA2="$(shasum -a 256 "/tmp/OTP-${VERSION}.tar.gz" | awk '{print $1}')"
if [[ -z "${SHA2}" ]]; then
echo "Failed to determine SHA2 for ${TAG_NAME}"
exit 1
fi
echo "VERSION=${VERSION}" >> $GITHUB_OUTPUT
echo "SHA=${SHA}" >> $GITHUB_OUTPUT
echo "SHA2=${SHA2}" >> $GITHUB_OUTPUT
- name: MODIFY VERSION FILE
run: |
sudo npm install --global --silent @bazel/buildozer
OLD_SHA="$(cat MODULE.bazel | buildozer 'print sha256' -:${{ matrix.name }})"
OLD_VERSION="$(cat MODULE.bazel | buildozer 'print version' -:${{ matrix.name }})"
echo "OLD_SHA: $OLD_SHA"
echo "OLD_VERSION: $OLD_VERSION"
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 "MODULE.bazel updated"
buildozer 'set downloaded_file_path "OTP-${{ steps.fetch-version.outputs.VERSION }}.tar.gz"' //WORKSPACE:otp_src_${{ matrix.name }} || test $? -eq 3
buildozer 'set urls ["https://github.com/erlang/otp/archive/OTP-${{ steps.fetch-version.outputs.VERSION }}.tar.gz"]' //WORKSPACE:otp_src_${{ matrix.name }} || test $? -eq 3
buildozer 'set sha256 "${{ steps.fetch-version.outputs.SHA2 }}"' //WORKSPACE:otp_src_${{ matrix.name }} || test $? -eq 3
echo "WORKSPACE updated"
set -x
git diff
- name: CREATE PULL REQUEST
uses: peter-evans/create-pull-request@v6.0.5
with:
token: ${{ secrets.REPO_SCOPED_TOKEN }}
committer: GitHub <noreply@github.com>
author: GitHub <noreply@github.com>
title: Adopt otp ${{ steps.fetch-version.outputs.VERSION }}
body: >
Automated changes created by
${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
using the [create-pull-request](https://github.com/peter-evans/create-pull-request)
GitHub action in the ${{ github.workflow }} workflow.
commit-message: |
Adopt otp ${{ steps.fetch-version.outputs.VERSION }}
labels: ${{ matrix.labels }}
branch: ${{ env.branch }}
delete-branch: true

View File

@ -67,63 +67,6 @@ erlang_config = use_extension(
"erlang_config",
)
erlang_config.internal_erlang_from_github_release(
name = "24",
extra_make_opts = ["-j 4"],
sha256 = "8444ff9abe23aea268adbb95463561fc222c965052d35d7c950b17be01c3ad82",
version = "24.3.4.6",
)
erlang_config.internal_erlang_from_github_release(
name = "25_0",
extra_make_opts = ["-j 4"],
sha256 = "8fc707f92a124b2aeb0f65dcf9ac8e27b2a305e7bcc4cc1b2fdf770eec0165bf",
version = "25.0.4",
)
erlang_config.internal_erlang_from_github_release(
name = "25_1",
extra_make_opts = ["-j 4"],
sha256 = "1cd2fbe225a412009cda9b1fd9f3fff0293e75e3020daa48abf68721471e91eb",
version = "25.1.2.1",
)
erlang_config.internal_erlang_from_github_release(
name = "25_2",
extra_make_opts = ["-j 4"],
sha256 = "f4d9f11d67ba478a053d72e635a44722a975603fe1284063fdf38276366bc61c",
version = "25.2.3",
)
erlang_config.internal_erlang_from_github_release(
name = "25_3",
extra_make_opts = ["-j 4"],
sha256 = "fd690c843100c3268ac7d8ada02af8310e8520bf32581eb72f28c26ae61b46ad",
version = "25.3.2.12",
)
erlang_config.internal_erlang_from_github_release(
name = "26_1",
extra_make_opts = ["-j 4"],
sha256 = "f1074cf3a54f1f87e66027d5abebab2fa76a0243453fa58bc5f30d0ce0313921",
version = "26.1.2",
)
erlang_config.internal_erlang_from_github_release(
name = "26_2",
extra_make_opts = ["-j 4"],
sha256 = "de155c4ad9baab2b9e6c96dbd03bf955575a04dd6feee9c08758beb28484c9f6",
version = "26.2.5",
)
erlang_config.internal_erlang_from_http_archive(
name = "git_master",
extra_make_opts = ["-j 4"],
strip_prefix = "otp-master",
url = "https://github.com/erlang/otp/archive/refs/heads/master.tar.gz",
version = "27",
)
use_repo(
erlang_config,
"erlang_config",
@ -134,50 +77,13 @@ elixir_config = use_extension(
"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(
elixir_config,
"elixir_config",
)
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//1_13:toolchain",
"@elixir_config//1_14:toolchain",
"@elixir_config//1_15:toolchain",
)
erlang_package = use_extension(
@ -516,21 +422,6 @@ use_repo(
"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(
"//bazel/bzlmod:extensions.bzl",
"secondary_umbrella",

View File

@ -557,3 +557,77 @@ install-windows-docs: install-windows-erlapp
*) mv "$$file" "$$file.txt" ;; \
esac; \
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:/'> $@

View File

@ -34,55 +34,6 @@ load("@rules_erlang//gazelle:deps.bzl", "gazelle_deps")
gazelle_deps()
http_file(
name = "otp_src_24",
downloaded_file_path = "OTP-24.3.4.6.tar.gz",
sha256 = "dc3d2c54eeb093e0dc9a0fe493bc69d6dfac0affbe77c9e3c935aa86c0f63cd5",
urls = ["https://github.com/erlang/otp/archive/OTP-24.3.4.6.tar.gz"],
)
http_file(
name = "otp_src_25_0",
downloaded_file_path = "OTP-25.0.4.tar.gz",
sha256 = "05878cb51a64b33c86836b12a21903075c300409b609ad5e941ddb0feb8c2120",
urls = ["https://github.com/erlang/otp/archive/OTP-25.0.4.tar.gz"],
)
http_file(
name = "otp_src_25_1",
downloaded_file_path = "OTP-25.1.2.1.tar.gz",
sha256 = "79f8e31bb9ff7d43a920f207ef104d1106b2332fdbadf11241d714eacb6d8d1a",
urls = ["https://github.com/erlang/otp/archive/OTP-25.1.2.1.tar.gz"],
)
http_file(
name = "otp_src_25_2",
downloaded_file_path = "OTP-25.2.3.tar.gz",
sha256 = "637bc5cf68dd229fd3c3fe889a6f84dd32c4a827488550a0a98123b00c2d78b5",
urls = ["https://github.com/erlang/otp/archive/OTP-25.2.3.tar.gz"],
)
http_file(
name = "otp_src_25_3",
downloaded_file_path = "OTP-25.3.2.12.tar.gz",
sha256 = "2fd35a207278569bb56746fd2ba55037d439922875422dd29d458cf36ddf0618",
urls = ["https://github.com/erlang/otp/archive/OTP-25.3.2.12.tar.gz"],
)
http_file(
name = "otp_src_26_1",
downloaded_file_path = "OTP-26.1.2.tar.gz",
sha256 = "56042d53b30863d4e720ebf463d777f0502f8c986957fc3a9e63dae870bbafe0",
urls = ["https://github.com/erlang/otp/archive/OTP-26.1.2.tar.gz"],
)
http_file(
name = "otp_src_26_2",
downloaded_file_path = "OTP-26.2.5.tar.gz",
sha256 = "d34b409cb5968ae47dd5a0c4f85b925d5601898d90788bbb08d514964a3a141d",
urls = ["https://github.com/erlang/otp/archive/OTP-26.2.5.tar.gz"],
)
new_git_repository(
name = "bats",
build_file = "@//:BUILD.bats",
@ -97,9 +48,3 @@ activemq_archive()
load("//bazel/bzlmod:secondary_umbrella.bzl", "secondary_umbrella")
secondary_umbrella()
git_repository(
name = "rbe",
branch = "linux-rbe",
remote = "https://github.com/rabbitmq/rbe-erlang-platform.git",
)

View File

@ -95,64 +95,14 @@ elixir_config = module_extension(
},
)
def _rbe(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):
def _secondary_umbrella(_ctx):
fetch_secondary_umbrella()
secondary_umbrella = module_extension(
implementation = _secondary_umbrella,
)
def _hex(ctx):
def _hex(_ctx):
http_archive(
name = "hex",
sha256 = "0e3e3290d0fcbdc6bb0526b73ca174d68dcff4d53ee86015c49ad0493e39ee65",

View File

@ -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"],
)

View File

@ -23,7 +23,7 @@ connect {
# Addresses and ports
client_addr = "0.0.0.0"
bind_addr = "0.0.0.0"
bind_addr = "{{ GetInterfaceIP \"eth0\" }}"
addresses {
grpc = "0.0.0.0"