Turn off BuildBuddy integration (backport #11343) (backport #11390) (#11416)

* 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
(cherry picked from commit 2c62185317)

# Conflicts:
#	.bazelrc
#	.github/workflows/rabbitmq_peer_discovery_aws.yaml
#	.github/workflows/templates/test-mixed-versions.template.yaml
#	.github/workflows/templates/test.template.yaml
#	.github/workflows/test-mixed-versions.yaml
#	.github/workflows/test.yaml
#	MODULE.bazel
#	bazel/platforms/BUILD.bazel

* fixup backport

(cherry picked from commit dd62ac16f3)

# Conflicts:
#	.github/workflows/update-elixir-patches.yaml
#	.github/workflows/update-otp-patches.yaml

* remove rabbitmq_amqp_client tests from this branch

as the plugin does not exist here

(cherry picked from commit 28ee2ddee6)

# Conflicts:
#	.github/workflows/test-mixed-versions.yaml

* Reduce bazel sandbox for rabbitmq_amqp1_0 tests in CI

since they use java

(cherry picked from commit 0d5c0e5086)

* Install daemonize as needed in the peer_discovery_etcd suite

(cherry picked from commit 23f6e5cc7e)

* fixup backport

* oauth2_client does not exist on this branch

and rabbitmq_prelaunch will run as part of the rabbit shards

* Use erlang 25.0/elixir 1.14 for mixed version tests

---------

Co-authored-by: Rin Kuryloski <rin.kuryloski@broadcom.com>
This commit is contained in:
mergify[bot] 2024-06-10 17:26:49 +02:00 committed by GitHub
parent 81e12147d0
commit c78563a335
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
14 changed files with 641 additions and 849 deletions

View File

@ -13,67 +13,6 @@ build --flag_alias=test_build=//:enable_test_build
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_1_platform
build:rbe-26_1 --config=rbe
build:rbe-26_1 --platforms=//bazel/platforms:erlang_linux_26_1_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

View File

@ -5,10 +5,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
timeout-minutes: 45 timeout-minutes: 45
steps: steps:
- name: CHECKOUT REPOSITORY - name: CHECKOUT REPOSITORY
@ -16,33 +12,70 @@ jobs:
- name: WAIT FOR OCI IMAGE WORKFLOW - name: WAIT FOR OCI IMAGE WORKFLOW
uses: lewagon/wait-on-check-action@v1.2.0 uses: lewagon/wait-on-check-action@v1.2.0
with: with:
ref: ${{ github.ref }} images: pivotalrabbitmq/rabbitmq
check-name: build-publish-dev-bazel tags: |
repo-token: ${{ secrets.GITHUB_TOKEN }} type=sha,format=long
wait-interval: 30 # seconds - uses: int128/wait-for-docker-image-action@v1
if: steps.authorized.outputs.authorized == 'true'
with:
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 - name: CONFIGURE BAZEL
run: | run: |
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
build:buildbuddy --build_metadata=ROLE=CI
build:buildbuddy --build_metadata=VISIBILITY=PRIVATE
build:buildbuddy --color=yes
EOF EOF
fi
cat << EOF >> user.bazelrc
build --repository_cache=/home/runner/repo-cache/
build --color=yes
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
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:${{ github.sha }}" \ --test_env RABBITMQ_IMAGE="pivotalrabbitmq/rabbitmq:${{ 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

View File

@ -142,8 +142,8 @@ jobs:
- name: SETUP ERLANG/ELIXIR - name: SETUP ERLANG/ELIXIR
uses: erlef/setup-beam@v1 uses: erlef/setup-beam@v1
with: with:
otp-version: 26 otp-version: 25.0
elixir-version: 1.15 elixir-version: 1.14
- name: ENSURE WORKFLOWS ARE UP TO DATE - name: ENSURE WORKFLOWS ARE UP TO DATE
run: | run: |
mkdir local-bin/ mkdir local-bin/

View File

@ -13,8 +13,8 @@ on:
- bump-rbe-* - bump-rbe-*
- bump-rules_erlang - bump-rules_erlang
paths: paths:
- 'deps/**' - deps/**
- 'scripts/**' - scripts/**
- Makefile - Makefile
- plugins.mk - plugins.mk
- rabbitmq-components.mk - rabbitmq-components.mk
@ -30,15 +30,12 @@ concurrency:
cancel-in-progress: true cancel-in-progress: true
jobs: jobs:
ensure-mixed-version-archive: ensure-mixed-version-archive:
name: Prepare Artifacts
runs-on: ubuntu-22.04 runs-on: ubuntu-22.04
steps: steps:
- name: CHECKOUT REPOSITORY - name: CHECKOUT REPOSITORY
uses: actions/checkout@v3 uses: actions/checkout@v4
with: with:
path: primary-umbrella path: primary-umbrella
#! - name: Setup tmate session
#! uses: mxschmitt/action-tmate@v3
- name: CHECK FOR ARCHIVE ON S3 - name: CHECK FOR ARCHIVE ON S3
id: check id: check
working-directory: primary-umbrella working-directory: primary-umbrella
@ -66,7 +63,7 @@ jobs:
echo "version=${VERSION}" | tee -a $GITHUB_OUTPUT echo "version=${VERSION}" | tee -a $GITHUB_OUTPUT
- name: CHECKOUT REPOSITORY (MIXED VERSION) - name: CHECKOUT REPOSITORY (MIXED VERSION)
if: env.exists != 'true' if: env.exists != 'true'
uses: actions/checkout@v3 uses: actions/checkout@v4
with: with:
ref: v${{ steps.check.outputs.version }} ref: v${{ steps.check.outputs.version }}
path: secondary-umbrella path: secondary-umbrella
@ -111,53 +108,91 @@ jobs:
AWS_REGION: ${{ secrets.AWS_REGION }} AWS_REGION: ${{ secrets.AWS_REGION }}
SOURCE_DIR: output SOURCE_DIR: output
DEST_DIR: secondary-umbrellas DEST_DIR: secondary-umbrellas
check-workflow:
test-mixed-versions:
name: Test (Mixed Version Cluster)
runs-on: ubuntu-22.04
needs: ensure-mixed-version-archive needs: ensure-mixed-version-archive
strategy: runs-on: ubuntu-latest
fail-fast: false outputs:
matrix: repo_cache_key: ${{ steps.repo-cache-key.outputs.value }}
otp_version_id:
- "25_0"
timeout-minutes: 120
steps: steps:
- name: CHECKOUT REPOSITORY - name: CHECKOUT REPOSITORY
uses: actions/checkout@v4 uses: actions/checkout@v4
- name: CONFIGURE BAZEL - name: SETUP ERLANG/ELIXIR
uses: erlef/setup-beam@v1
with:
otp-version: 25
elixir-version: 1.14
- name: ENSURE WORKFLOWS ARE UP TO DATE
run: | run: |
if [ -n "${{ secrets.BUILDBUDDY_API_KEY }}" ]; then mkdir local-bin/
cat << EOF >> user.bazelrc curl -L https://carvel.dev/install.sh | K14SIO_INSTALL_BIN_DIR=local-bin bash
build:buildbuddy --remote_header=x-buildbuddy-api-key=${{ secrets.BUILDBUDDY_API_KEY }} make actions-workflows YTT=$PWD/local-bin/ytt
EOF git diff --exit-code
fi - name: COMPUTE REPO CACHE KEY
cat << EOF >> user.bazelrc id: repo-cache-key
build:buildbuddy --build_metadata=ROLE=CI
build:buildbuddy --build_metadata=VISIBILITY=PUBLIC
build:buildbuddy --color=yes
EOF
#! - name: Setup tmate session
#! uses: mxschmitt/action-tmate@v3
- name: RUN TESTS
run: | run: |
sudo sysctl -w net.ipv4.tcp_keepalive_time=60 echo "value=bazel-repo-cache-${{ hashFiles('MODULE.bazel') }}" | tee -a $GITHUB_OUTPUT
sudo ethtool -K eth0 tso off gso off gro off tx off rx off lro off test-amqp10_client:
bazelisk test //... \ needs: check-workflow
--config=rbe-${{ matrix.otp_version_id }} \ uses: ./.github/workflows/test-plugin-mixed.yaml
--test_tag_filters=mixed-version-cluster,-aws,-docker \ with:
--build_tests_only \ repo_cache_key: ${{ needs.check-workflow.outputs.repo_cache_key }}
--verbose_failures plugin: amqp10_client
summary-mixed-versions: secrets: inherit
test-amqp10_common:
needs: check-workflow
uses: ./.github/workflows/test-plugin-mixed.yaml
with:
repo_cache_key: ${{ needs.check-workflow.outputs.repo_cache_key }}
plugin: amqp10_common
secrets: inherit
test-amqp_client:
needs: check-workflow
uses: ./.github/workflows/test-plugin-mixed.yaml
with:
repo_cache_key: ${{ needs.check-workflow.outputs.repo_cache_key }}
plugin: amqp_client
secrets: inherit
test-rabbit_common:
needs: check-workflow
uses: ./.github/workflows/test-plugin-mixed.yaml
with:
repo_cache_key: ${{ needs.check-workflow.outputs.repo_cache_key }}
plugin: rabbit_common
secrets: inherit
test-rabbitmq_ct_client_helpers:
needs: check-workflow
uses: ./.github/workflows/test-plugin-mixed.yaml
with:
repo_cache_key: ${{ needs.check-workflow.outputs.repo_cache_key }}
plugin: rabbitmq_ct_client_helpers
secrets: inherit
test-rabbitmq_ct_helpers:
needs: check-workflow
uses: ./.github/workflows/test-plugin-mixed.yaml
with:
repo_cache_key: ${{ needs.check-workflow.outputs.repo_cache_key }}
plugin: rabbitmq_ct_helpers
secrets: inherit
test-rabbitmq_stream_common:
needs: check-workflow
uses: ./.github/workflows/test-plugin-mixed.yaml
with:
repo_cache_key: ${{ needs.check-workflow.outputs.repo_cache_key }}
plugin: rabbitmq_stream_common
secrets: inherit
test-trust_store_http:
needs: check-workflow
uses: ./.github/workflows/test-plugin-mixed.yaml
with:
repo_cache_key: ${{ needs.check-workflow.outputs.repo_cache_key }}
plugin: trust_store_http
secrets: inherit
test-rabbit-0:
needs: needs:
<<<<<<< HEAD
- test-mixed-versions
=======
- check-workflow - check-workflow
- test-amqp10_client - test-amqp10_client
- test-amqp10_common - test-amqp10_common
- test-amqp_client - test-amqp_client
- test-oauth2_client
- test-rabbit_common - test-rabbit_common
- test-rabbitmq_ct_client_helpers - test-rabbitmq_ct_client_helpers
- test-rabbitmq_ct_helpers - test-rabbitmq_ct_helpers
@ -176,7 +211,6 @@ jobs:
- test-amqp10_client - test-amqp10_client
- test-amqp10_common - test-amqp10_common
- test-amqp_client - test-amqp_client
- test-oauth2_client
- test-rabbit_common - test-rabbit_common
- test-rabbitmq_ct_client_helpers - test-rabbitmq_ct_client_helpers
- test-rabbitmq_ct_helpers - test-rabbitmq_ct_helpers
@ -195,7 +229,6 @@ jobs:
- test-amqp10_client - test-amqp10_client
- test-amqp10_common - test-amqp10_common
- test-amqp_client - test-amqp_client
- test-oauth2_client
- test-rabbit_common - test-rabbit_common
- test-rabbitmq_ct_client_helpers - test-rabbitmq_ct_client_helpers
- test-rabbitmq_ct_helpers - test-rabbitmq_ct_helpers
@ -214,7 +247,6 @@ jobs:
- test-amqp10_client - test-amqp10_client
- test-amqp10_common - test-amqp10_common
- test-amqp_client - test-amqp_client
- test-oauth2_client
- test-rabbit_common - test-rabbit_common
- test-rabbitmq_ct_client_helpers - test-rabbitmq_ct_client_helpers
- test-rabbitmq_ct_helpers - test-rabbitmq_ct_helpers
@ -233,7 +265,6 @@ jobs:
- test-amqp10_client - test-amqp10_client
- test-amqp10_common - test-amqp10_common
- test-amqp_client - test-amqp_client
- test-oauth2_client
- test-rabbit_common - test-rabbit_common
- test-rabbitmq_ct_client_helpers - test-rabbitmq_ct_client_helpers
- test-rabbitmq_ct_helpers - test-rabbitmq_ct_helpers
@ -252,7 +283,6 @@ jobs:
- test-amqp10_client - test-amqp10_client
- test-amqp10_common - test-amqp10_common
- test-amqp_client - test-amqp_client
- test-oauth2_client
- test-rabbit_common - test-rabbit_common
- test-rabbitmq_ct_client_helpers - test-rabbitmq_ct_client_helpers
- test-rabbitmq_ct_helpers - test-rabbitmq_ct_helpers
@ -271,7 +301,6 @@ jobs:
- test-amqp10_client - test-amqp10_client
- test-amqp10_common - test-amqp10_common
- test-amqp_client - test-amqp_client
- test-oauth2_client
- test-rabbit_common - test-rabbit_common
- test-rabbitmq_ct_client_helpers - test-rabbitmq_ct_client_helpers
- test-rabbitmq_ct_helpers - test-rabbitmq_ct_helpers
@ -290,7 +319,6 @@ jobs:
- test-amqp10_client - test-amqp10_client
- test-amqp10_common - test-amqp10_common
- test-amqp_client - test-amqp_client
- test-oauth2_client
- test-rabbit_common - test-rabbit_common
- test-rabbitmq_ct_client_helpers - test-rabbitmq_ct_client_helpers
- test-rabbitmq_ct_helpers - test-rabbitmq_ct_helpers
@ -309,7 +337,6 @@ jobs:
- test-amqp10_client - test-amqp10_client
- test-amqp10_common - test-amqp10_common
- test-amqp_client - test-amqp_client
- test-oauth2_client
- test-rabbit_common - test-rabbit_common
- test-rabbitmq_ct_client_helpers - test-rabbitmq_ct_client_helpers
- test-rabbitmq_ct_helpers - test-rabbitmq_ct_helpers
@ -328,7 +355,6 @@ jobs:
- test-amqp10_client - test-amqp10_client
- test-amqp10_common - test-amqp10_common
- test-amqp_client - test-amqp_client
- test-oauth2_client
- test-rabbit_common - test-rabbit_common
- test-rabbitmq_ct_client_helpers - test-rabbitmq_ct_client_helpers
- test-rabbitmq_ct_helpers - test-rabbitmq_ct_helpers
@ -348,24 +374,6 @@ jobs:
repo_cache_key: ${{ needs.check-workflow.outputs.repo_cache_key }} repo_cache_key: ${{ needs.check-workflow.outputs.repo_cache_key }}
plugin: rabbitmq_cli plugin: rabbitmq_cli
secrets: inherit secrets: inherit
test-rabbitmq_amqp_client:
needs:
- check-workflow
- test-rabbit-0
- test-rabbit-1
- test-rabbit-2
- test-rabbit-3
- test-rabbit-4
- test-rabbit-5
- test-rabbit-6
- test-rabbit-7
- test-rabbit-8
- test-rabbit-9
uses: ./.github/workflows/test-plugin-mixed.yaml
with:
repo_cache_key: ${{ needs.check-workflow.outputs.repo_cache_key }}
plugin: rabbitmq_amqp_client
secrets: inherit
test-rabbitmq_amqp1_0: test-rabbitmq_amqp1_0:
needs: needs:
- check-workflow - check-workflow
@ -726,24 +734,6 @@ jobs:
repo_cache_key: ${{ needs.check-workflow.outputs.repo_cache_key }} repo_cache_key: ${{ needs.check-workflow.outputs.repo_cache_key }}
plugin: rabbitmq_peer_discovery_k8s plugin: rabbitmq_peer_discovery_k8s
secrets: inherit secrets: inherit
test-rabbitmq_prelaunch:
needs:
- check-workflow
- test-rabbit-0
- test-rabbit-1
- test-rabbit-2
- test-rabbit-3
- test-rabbit-4
- test-rabbit-5
- test-rabbit-6
- test-rabbit-7
- test-rabbit-8
- test-rabbit-9
uses: ./.github/workflows/test-plugin-mixed.yaml
with:
repo_cache_key: ${{ needs.check-workflow.outputs.repo_cache_key }}
plugin: rabbitmq_prelaunch
secrets: inherit
test-rabbitmq_prometheus: test-rabbitmq_prometheus:
needs: needs:
- check-workflow - check-workflow
@ -1055,13 +1045,11 @@ jobs:
- test-amqp10_client - test-amqp10_client
- test-amqp10_common - test-amqp10_common
- test-amqp_client - test-amqp_client
- test-oauth2_client
- test-rabbit_common - test-rabbit_common
- test-rabbitmq_ct_client_helpers - test-rabbitmq_ct_client_helpers
- test-rabbitmq_ct_helpers - test-rabbitmq_ct_helpers
- test-rabbitmq_stream_common - test-rabbitmq_stream_common
- test-trust_store_http - test-trust_store_http
- test-rabbitmq_amqp_client
- test-rabbitmq_amqp1_0 - test-rabbitmq_amqp1_0
- test-rabbitmq_auth_backend_cache - test-rabbitmq_auth_backend_cache
- test-rabbitmq_auth_backend_http - test-rabbitmq_auth_backend_http
@ -1082,7 +1070,6 @@ jobs:
- test-rabbitmq_peer_discovery_consul - test-rabbitmq_peer_discovery_consul
- test-rabbitmq_peer_discovery_etcd - test-rabbitmq_peer_discovery_etcd
- test-rabbitmq_peer_discovery_k8s - test-rabbitmq_peer_discovery_k8s
- test-rabbitmq_prelaunch
- test-rabbitmq_prometheus - test-rabbitmq_prometheus
- test-rabbitmq_random_exchange - test-rabbitmq_random_exchange
- test-rabbitmq_recent_history_exchange - test-rabbitmq_recent_history_exchange
@ -1111,9 +1098,10 @@ jobs:
- test-rabbit-8 - test-rabbit-8
- test-rabbit-9 - test-rabbit-9
- test-rabbitmq_cli - test-rabbitmq_cli
>>>>>>> bdd18ed800 (Add back rabbitmq_cli tests to CI)
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: SUMMARY - name: SUMMARY
run: | run: |
echo "SUCCESS" cat << 'EOF' | jq -e 'map(.result == "success") | all(.)'
${{ toJson(needs) }}
EOF

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

@ -0,0 +1,182 @@
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:
- 25.0
metadata_store:
- mnesia
- khepri
include:
- erlang_version: 25.0
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_amqp1_0 SETUP
if: inputs.plugin == 'rabbitmq_amqp1_0'
run: |
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_peer_discovery_etcd SETUP
if: inputs.plugin == 'rabbitmq_peer_discovery_etcd'
run: |
sudo apt-get update && \
sudo apt-get install -y \
daemonize
- 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 }}/*

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

@ -0,0 +1,177 @@
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_amqp1_0 SETUP
if: inputs.plugin == 'rabbitmq_amqp1_0'
run: |
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_peer_discovery_etcd SETUP
if: inputs.plugin == 'rabbitmq_peer_discovery_etcd'
run: |
sudo apt-get update && \
sudo apt-get install -y \
daemonize
- 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 }}/*

View File

@ -3,17 +3,15 @@ on:
push: push:
branches: branches:
- main - main
- v3.13.x
- v3.12.x - v3.12.x
- v3.11.x - v3.11.x
- v3.10.x
- v3.9.x
- v3.8.x
- bump-otp-for-oci - bump-otp-for-oci
- bump-rbe-* - bump-rbe-*
- bump-rules_erlang - bump-rules_erlang
paths: paths:
- 'deps/**' - deps/**
- 'scripts/**' - scripts/**
- Makefile - Makefile
- plugins.mk - plugins.mk
- rabbitmq-components.mk - rabbitmq-components.mk
@ -28,49 +26,52 @@ concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true cancel-in-progress: true
jobs: jobs:
test: check-workflow:
name: Test runs-on: ubuntu-latest
runs-on: ubuntu-22.04 outputs:
strategy: repo_cache_key: ${{ steps.repo-cache-key.outputs.value }}
fail-fast: false
matrix:
otp_version_id:
- 25_0
- 26
timeout-minutes: 120
steps: steps:
- name: CHECKOUT REPOSITORY - name: CHECKOUT REPOSITORY
uses: actions/checkout@v4 uses: actions/checkout@v4
- name: CONFIGURE BAZEL - 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: | run: |
if [ -n "${{ secrets.BUILDBUDDY_API_KEY }}" ]; then 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 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=PUBLIC build --color=yes
build:buildbuddy --color=yes
EOF EOF
<<<<<<< HEAD
bazelisk info release
#! - name: Setup tmate session
#! uses: mxschmitt/action-tmate@v3
- name: RUN TESTS
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
bazelisk test //... \
--config=rbe-${{ matrix.otp_version_id }} \
--test_tag_filters=-aws,-docker,-mixed-version-cluster \
--build_tests_only \
--verbose_failures
summary-test:
needs:
- test
=======
bazelisk cquery \ bazelisk cquery \
'tests(//...) except attr("tags", "manual|mixed-version-cluster", //deps/...)' \ 'tests(//...) except attr("tags", "manual|mixed-version-cluster", //deps/...)' \
--output=label --output=label
@ -95,13 +96,6 @@ jobs:
repo_cache_key: ${{ needs.check-workflow.outputs.repo_cache_key }} repo_cache_key: ${{ needs.check-workflow.outputs.repo_cache_key }}
plugin: amqp_client plugin: amqp_client
secrets: inherit secrets: inherit
test-oauth2_client:
needs: check-workflow
uses: ./.github/workflows/test-plugin.yaml
with:
repo_cache_key: ${{ needs.check-workflow.outputs.repo_cache_key }}
plugin: oauth2_client
secrets: inherit
test-rabbit_common: test-rabbit_common:
needs: check-workflow needs: check-workflow
uses: ./.github/workflows/test-plugin.yaml uses: ./.github/workflows/test-plugin.yaml
@ -143,7 +137,6 @@ jobs:
- test-amqp10_client - test-amqp10_client
- test-amqp10_common - test-amqp10_common
- test-amqp_client - test-amqp_client
- test-oauth2_client
- test-rabbit_common - test-rabbit_common
- test-rabbitmq_ct_client_helpers - test-rabbitmq_ct_client_helpers
- test-rabbitmq_ct_helpers - test-rabbitmq_ct_helpers
@ -162,7 +155,6 @@ jobs:
- test-amqp10_client - test-amqp10_client
- test-amqp10_common - test-amqp10_common
- test-amqp_client - test-amqp_client
- test-oauth2_client
- test-rabbit_common - test-rabbit_common
- test-rabbitmq_ct_client_helpers - test-rabbitmq_ct_client_helpers
- test-rabbitmq_ct_helpers - test-rabbitmq_ct_helpers
@ -181,7 +173,6 @@ jobs:
- test-amqp10_client - test-amqp10_client
- test-amqp10_common - test-amqp10_common
- test-amqp_client - test-amqp_client
- test-oauth2_client
- test-rabbit_common - test-rabbit_common
- test-rabbitmq_ct_client_helpers - test-rabbitmq_ct_client_helpers
- test-rabbitmq_ct_helpers - test-rabbitmq_ct_helpers
@ -200,7 +191,6 @@ jobs:
- test-amqp10_client - test-amqp10_client
- test-amqp10_common - test-amqp10_common
- test-amqp_client - test-amqp_client
- test-oauth2_client
- test-rabbit_common - test-rabbit_common
- test-rabbitmq_ct_client_helpers - test-rabbitmq_ct_client_helpers
- test-rabbitmq_ct_helpers - test-rabbitmq_ct_helpers
@ -219,7 +209,6 @@ jobs:
- test-amqp10_client - test-amqp10_client
- test-amqp10_common - test-amqp10_common
- test-amqp_client - test-amqp_client
- test-oauth2_client
- test-rabbit_common - test-rabbit_common
- test-rabbitmq_ct_client_helpers - test-rabbitmq_ct_client_helpers
- test-rabbitmq_ct_helpers - test-rabbitmq_ct_helpers
@ -238,7 +227,6 @@ jobs:
- test-amqp10_client - test-amqp10_client
- test-amqp10_common - test-amqp10_common
- test-amqp_client - test-amqp_client
- test-oauth2_client
- test-rabbit_common - test-rabbit_common
- test-rabbitmq_ct_client_helpers - test-rabbitmq_ct_client_helpers
- test-rabbitmq_ct_helpers - test-rabbitmq_ct_helpers
@ -257,7 +245,6 @@ jobs:
- test-amqp10_client - test-amqp10_client
- test-amqp10_common - test-amqp10_common
- test-amqp_client - test-amqp_client
- test-oauth2_client
- test-rabbit_common - test-rabbit_common
- test-rabbitmq_ct_client_helpers - test-rabbitmq_ct_client_helpers
- test-rabbitmq_ct_helpers - test-rabbitmq_ct_helpers
@ -276,7 +263,6 @@ jobs:
- test-amqp10_client - test-amqp10_client
- test-amqp10_common - test-amqp10_common
- test-amqp_client - test-amqp_client
- test-oauth2_client
- test-rabbit_common - test-rabbit_common
- test-rabbitmq_ct_client_helpers - test-rabbitmq_ct_client_helpers
- test-rabbitmq_ct_helpers - test-rabbitmq_ct_helpers
@ -295,7 +281,6 @@ jobs:
- test-amqp10_client - test-amqp10_client
- test-amqp10_common - test-amqp10_common
- test-amqp_client - test-amqp_client
- test-oauth2_client
- test-rabbit_common - test-rabbit_common
- test-rabbitmq_ct_client_helpers - test-rabbitmq_ct_client_helpers
- test-rabbitmq_ct_helpers - test-rabbitmq_ct_helpers
@ -314,7 +299,6 @@ jobs:
- test-amqp10_client - test-amqp10_client
- test-amqp10_common - test-amqp10_common
- test-amqp_client - test-amqp_client
- test-oauth2_client
- test-rabbit_common - test-rabbit_common
- test-rabbitmq_ct_client_helpers - test-rabbitmq_ct_client_helpers
- test-rabbitmq_ct_helpers - test-rabbitmq_ct_helpers
@ -334,24 +318,6 @@ jobs:
repo_cache_key: ${{ needs.check-workflow.outputs.repo_cache_key }} repo_cache_key: ${{ needs.check-workflow.outputs.repo_cache_key }}
plugin: rabbitmq_cli plugin: rabbitmq_cli
secrets: inherit secrets: inherit
test-rabbitmq_amqp_client:
needs:
- check-workflow
- test-rabbit-0
- test-rabbit-1
- test-rabbit-2
- test-rabbit-3
- test-rabbit-4
- test-rabbit-5
- test-rabbit-6
- test-rabbit-7
- test-rabbit-8
- test-rabbit-9
uses: ./.github/workflows/test-plugin.yaml
with:
repo_cache_key: ${{ needs.check-workflow.outputs.repo_cache_key }}
plugin: rabbitmq_amqp_client
secrets: inherit
test-rabbitmq_amqp1_0: test-rabbitmq_amqp1_0:
needs: needs:
- check-workflow - check-workflow
@ -712,24 +678,6 @@ jobs:
repo_cache_key: ${{ needs.check-workflow.outputs.repo_cache_key }} repo_cache_key: ${{ needs.check-workflow.outputs.repo_cache_key }}
plugin: rabbitmq_peer_discovery_k8s plugin: rabbitmq_peer_discovery_k8s
secrets: inherit secrets: inherit
test-rabbitmq_prelaunch:
needs:
- check-workflow
- test-rabbit-0
- test-rabbit-1
- test-rabbit-2
- test-rabbit-3
- test-rabbit-4
- test-rabbit-5
- test-rabbit-6
- test-rabbit-7
- test-rabbit-8
- test-rabbit-9
uses: ./.github/workflows/test-plugin.yaml
with:
repo_cache_key: ${{ needs.check-workflow.outputs.repo_cache_key }}
plugin: rabbitmq_prelaunch
secrets: inherit
test-rabbitmq_prometheus: test-rabbitmq_prometheus:
needs: needs:
- check-workflow - check-workflow
@ -1041,13 +989,11 @@ jobs:
- test-amqp10_client - test-amqp10_client
- test-amqp10_common - test-amqp10_common
- test-amqp_client - test-amqp_client
- test-oauth2_client
- test-rabbit_common - test-rabbit_common
- test-rabbitmq_ct_client_helpers - test-rabbitmq_ct_client_helpers
- test-rabbitmq_ct_helpers - test-rabbitmq_ct_helpers
- test-rabbitmq_stream_common - test-rabbitmq_stream_common
- test-trust_store_http - test-trust_store_http
- test-rabbitmq_amqp_client
- test-rabbitmq_amqp1_0 - test-rabbitmq_amqp1_0
- test-rabbitmq_auth_backend_cache - test-rabbitmq_auth_backend_cache
- test-rabbitmq_auth_backend_http - test-rabbitmq_auth_backend_http
@ -1068,7 +1014,6 @@ jobs:
- test-rabbitmq_peer_discovery_consul - test-rabbitmq_peer_discovery_consul
- test-rabbitmq_peer_discovery_etcd - test-rabbitmq_peer_discovery_etcd
- test-rabbitmq_peer_discovery_k8s - test-rabbitmq_peer_discovery_k8s
- test-rabbitmq_prelaunch
- test-rabbitmq_prometheus - test-rabbitmq_prometheus
- test-rabbitmq_random_exchange - test-rabbitmq_random_exchange
- test-rabbitmq_recent_history_exchange - test-rabbitmq_recent_history_exchange
@ -1097,9 +1042,10 @@ jobs:
- test-rabbit-8 - test-rabbit-8
- test-rabbit-9 - test-rabbit-9
- test-rabbitmq_cli - test-rabbitmq_cli
>>>>>>> bdd18ed800 (Add back rabbitmq_cli tests to CI)
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: SUMMARY - name: SUMMARY
run: | run: |
echo "SUCCESS" cat << 'EOF' | jq -e 'map(.result == "success") | all(.)'
${{ toJson(needs) }}
EOF

View File

@ -1,89 +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'
timeout-minutes: 10
env:
branch: bump-elixir-${{ matrix.elixir_version }}
steps:
- name: CHECKOUT REPOSITORY
uses: actions/checkout@v3
- 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 "$(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
sed -i"_orig" "s/${OLD_SHA}/${{ steps.fetch-version.outputs.SHA }}/" WORKSPACE
sed -i"_orig" "s/${OLD_VERSION}/${{ steps.fetch-version.outputs.VERSION }}/" WORKSPACE
rm *_orig
set -x
git diff
- name: CREATE PULL REQUEST
uses: peter-evans/create-pull-request@v5.0.0
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.11.x
backport-v3.10.x
branch: ${{ env.branch }}
delete-branch: true

View File

@ -1,168 +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:
- "24.3"
- "25.0"
- "25.1"
- "25.2"
- "25.3"
- "26.1"
include:
- erlang_version: "24.3"
name: '24'
branch: v3.10.x
labels: |
backport-v3.9.x
- erlang_version: "25.0"
name: '25_0'
branch: main
labels: |
backport-v3.11.x
- erlang_version: "25.1"
name: '25_1'
branch: main
labels: |
backport-v3.11.x
backport-v3.10.x
- erlang_version: "25.2"
name: '25_2'
branch: main
labels: |
backport-v3.11.x
backport-v3.10.x
- erlang_version: "25.3"
name: '25_3'
branch: main
labels: |
backport-v3.12.x
backport-v3.11.x
backport-v3.10.x
- erlang_version: "26.1"
name: '26_1'
branch: main
labels: |
backport-v3.12.x
backport-v3.11.x
timeout-minutes: 10
env:
branch: bump-otp-${{ matrix.erlang_version }}
steps:
- name: CHECKOUT REPOSITORY
uses: actions/checkout@v3
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 "$(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 "$(cat WORKSPACE | buildozer 'set downloaded_file_path "OTP-${{ steps.fetch-version.outputs.VERSION }}.tar.gz"' -:otp_src_${{ matrix.name }})" > WORKSPACE
echo "$(cat WORKSPACE | buildozer 'set urls ["https://github.com/erlang/otp/archive/OTP-${{ steps.fetch-version.outputs.VERSION }}.tar.gz"]' -:otp_src_${{ matrix.name }})" > WORKSPACE
echo "$(cat WORKSPACE | buildozer 'set sha256 "${{ steps.fetch-version.outputs.SHA2 }}"' -:otp_src_${{ matrix.name }})" > WORKSPACE
cat << EOF > replacer.mjs
import { readFile, writeFile } from 'node:fs/promises';
let [_node, _script, s, p, r] = process.argv;
let source = await readFile(s, 'utf-8');
let pattern = await readFile(p, 'utf-8');
let replacement = await readFile(r, 'utf-8');
if (!source.includes(pattern)) process.exit(1);
let updated = source.replace(pattern, replacement);
await writeFile(s, updated);
EOF
cat << EOF > old.txt
internal_erlang_from_github_release(
name = "${{ matrix.name }}",
sha256 = "${OLD_SHA}",
version = "${OLD_VERSION}",
),
EOF
cat << EOF > new.txt
internal_erlang_from_github_release(
name = "${{ matrix.name }}",
sha256 = "${{ steps.fetch-version.outputs.SHA }}",
version = "${{ steps.fetch-version.outputs.VERSION }}",
),
EOF
node replacer.mjs WORKSPACE old.txt new.txt
rm replacer.mjs old.txt new.txt
set -x
git diff
- name: CREATE PULL REQUEST
uses: peter-evans/create-pull-request@v5.0.0
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

@ -74,63 +74,6 @@ erlang_config = use_extension(
"erlang_config", "erlang_config",
) )
erlang_config.internal_erlang_from_github_release(
name = "24",
sha256 = "8444ff9abe23aea268adbb95463561fc222c965052d35d7c950b17be01c3ad82",
version = "24.3.4.6",
extra_make_opts = ["-j 4"],
)
erlang_config.internal_erlang_from_github_release(
name = "25_0",
sha256 = "8fc707f92a124b2aeb0f65dcf9ac8e27b2a305e7bcc4cc1b2fdf770eec0165bf",
version = "25.0.4",
extra_make_opts = ["-j 4"],
)
erlang_config.internal_erlang_from_github_release(
name = "25_1",
sha256 = "1cd2fbe225a412009cda9b1fd9f3fff0293e75e3020daa48abf68721471e91eb",
version = "25.1.2.1",
extra_make_opts = ["-j 4"],
)
erlang_config.internal_erlang_from_github_release(
name = "25_2",
sha256 = "f4d9f11d67ba478a053d72e635a44722a975603fe1284063fdf38276366bc61c",
version = "25.2.3",
extra_make_opts = ["-j 4"],
)
erlang_config.internal_erlang_from_github_release(
name = "25_3",
sha256 = "0a7338415c8eb6ae25664bfd1a10631c293838ef072665223a524831b823a8b7",
version = "25.3.2.10",
extra_make_opts = ["-j 4"],
)
erlang_config.internal_erlang_from_github_release(
name = "26_1",
sha256 = "f1074cf3a54f1f87e66027d5abebab2fa76a0243453fa58bc5f30d0ce0313921",
version = "26.1.2",
extra_make_opts = ["-j 4"],
)
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",
strip_prefix = "otp-master",
url = "https://github.com/erlang/otp/archive/refs/heads/master.tar.gz",
version = "27",
extra_make_opts = ["-j 4"],
)
use_repo( use_repo(
erlang_config, erlang_config,
"erlang_config", "erlang_config",
@ -141,48 +84,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//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(
@ -480,21 +388,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",

View File

@ -559,3 +559,74 @@ 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 \
rabbit_common \
rabbitmq_ct_client_helpers \
rabbitmq_ct_helpers \
rabbitmq_stream_common \
trust_store_http
TIER1_PLUGINS := \
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_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() 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.10.tar.gz",
sha256 = "be76f05bd38c60df056ed35f01085f088474a1942ce1778c2217e5658d435b35",
urls = ["https://github.com/erlang/otp/archive/OTP-25.3.2.10.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( new_git_repository(
name = "bats", name = "bats",
build_file = "@//:BUILD.bats", build_file = "@//:BUILD.bats",
@ -97,9 +48,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",
)

View File

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

View File

@ -1,75 +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_git_master_platform",
constraint_values = [
"@erlang_config//:erlang_27_unknown",
"@elixir_config//:elixir_1_15",
],
parents = ["@rbe//config:platform"],
)