From a6874e39cc920bce3cd06c062a8ecee953995eed Mon Sep 17 00:00:00 2001 From: Rin Kuryloski Date: Thu, 6 Jun 2024 11:37:10 +0200 Subject: [PATCH] Turn off BuildBuddy integration (#11343) Builds now execute on the github actions workers, using Google Cloud Storage (GCS) as a cache --- .bazelrc | 64 - .../rabbitmq_peer_discovery_aws.yaml | 51 +- .../test-mixed-versions.template.yaml | 199 +++ .../workflows/templates/test.template.yaml | 140 ++ .github/workflows/test-mixed-versions.yaml | 1117 +++++++++++++++- .github/workflows/test-plugin-mixed.yaml | 170 +++ .github/workflows/test-plugin.yaml | 165 +++ .github/workflows/test.yaml | 1124 ++++++++++++++++- .github/workflows/update-elixir-patches.yaml | 93 -- .github/workflows/update-otp-patches.yaml | 145 --- MODULE.bazel | 109 -- Makefile | 74 ++ WORKSPACE | 55 - bazel/bzlmod/extensions.bzl | 54 +- bazel/platforms/BUILD.bazel | 84 -- .../test/system_SUITE_data/consul.hcl | 2 +- 16 files changed, 2917 insertions(+), 729 deletions(-) create mode 100644 .github/workflows/templates/test-mixed-versions.template.yaml create mode 100644 .github/workflows/templates/test.template.yaml create mode 100644 .github/workflows/test-plugin-mixed.yaml create mode 100644 .github/workflows/test-plugin.yaml delete mode 100644 .github/workflows/update-elixir-patches.yaml delete mode 100644 .github/workflows/update-otp-patches.yaml delete mode 100644 bazel/platforms/BUILD.bazel diff --git a/.bazelrc b/.bazelrc index 5398d8fb4984..b1e3a90686f2 100644 --- a/.bazelrc +++ b/.bazelrc @@ -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 diff --git a/.github/workflows/rabbitmq_peer_discovery_aws.yaml b/.github/workflows/rabbitmq_peer_discovery_aws.yaml index 9baada183cd4..eabe53f49a90 100644 --- a/.github/workflows/rabbitmq_peer_discovery_aws.yaml +++ b/.github/workflows/rabbitmq_peer_discovery_aws.yaml @@ -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 diff --git a/.github/workflows/templates/test-mixed-versions.template.yaml b/.github/workflows/templates/test-mixed-versions.template.yaml new file mode 100644 index 000000000000..28b8c416e8ba --- /dev/null +++ b/.github/workflows/templates/test-mixed-versions.template.yaml @@ -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 diff --git a/.github/workflows/templates/test.template.yaml b/.github/workflows/templates/test.template.yaml new file mode 100644 index 000000000000..681fde9cd28a --- /dev/null +++ b/.github/workflows/templates/test.template.yaml @@ -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 diff --git a/.github/workflows/test-mixed-versions.yaml b/.github/workflows/test-mixed-versions.yaml index 2540958960f4..4b767c3a4076 100644 --- a/.github/workflows/test-mixed-versions.yaml +++ b/.github/workflows/test-mixed-versions.yaml @@ -2,43 +2,40 @@ 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 + - 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 + - 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: - name: Prepare Artifacts 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 @@ -111,52 +108,1048 @@ jobs: AWS_REGION: ${{ secrets.AWS_REGION }} SOURCE_DIR: output DEST_DIR: secondary-umbrellas - - test-mixed-versions: - name: Test (Mixed Version Cluster) - runs-on: ubuntu-22.04 + check-workflow: needs: ensure-mixed-version-archive - strategy: - fail-fast: false - matrix: - otp_version_id: - - "26_1" - metadata_store: - - mnesia - - khepri - timeout-minutes: 120 + runs-on: ubuntu-latest + outputs: + repo_cache_key: ${{ steps.repo-cache-key.outputs.value }} steps: - name: CHECKOUT REPOSITORY 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: | - 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=PUBLIC - build:buildbuddy --color=yes - EOF - #! - name: Setup tmate session - #! uses: mxschmitt/action-tmate@v3 - - name: RUN TESTS + 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: | - 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_env RABBITMQ_METADATA_STORE=${{ matrix.metadata_store }} \ - --test_tag_filters=mixed-version-cluster,-aws,-docker \ - --build_tests_only \ - --verbose_failures - summary-mixed-versions: + echo "value=bazel-repo-cache-${{ hashFiles('MODULE.bazel') }}" | tee -a $GITHUB_OUTPUT + test-amqp10_client: + needs: check-workflow + uses: ./.github/workflows/test-plugin-mixed.yaml + with: + repo_cache_key: ${{ needs.check-workflow.outputs.repo_cache_key }} + plugin: amqp10_client + 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-oauth2_client: + needs: check-workflow + uses: ./.github/workflows/test-plugin-mixed.yaml + with: + repo_cache_key: ${{ needs.check-workflow.outputs.repo_cache_key }} + plugin: oauth2_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: + - check-workflow + - test-amqp10_client + - test-amqp10_common + - test-amqp_client + - test-oauth2_client + - test-rabbit_common + - test-rabbitmq_ct_client_helpers + - test-rabbitmq_ct_helpers + - test-rabbitmq_stream_common + - test-trust_store_http + uses: ./.github/workflows/test-plugin-mixed.yaml + with: + repo_cache_key: ${{ needs.check-workflow.outputs.repo_cache_key }} + plugin: rabbit + shard_index: 0 + shard_count: 10 + secrets: inherit + test-rabbit-1: + needs: + - check-workflow + - test-amqp10_client + - test-amqp10_common + - test-amqp_client + - test-oauth2_client + - test-rabbit_common + - test-rabbitmq_ct_client_helpers + - test-rabbitmq_ct_helpers + - test-rabbitmq_stream_common + - test-trust_store_http + uses: ./.github/workflows/test-plugin-mixed.yaml + with: + repo_cache_key: ${{ needs.check-workflow.outputs.repo_cache_key }} + plugin: rabbit + shard_index: 1 + shard_count: 10 + secrets: inherit + test-rabbit-2: + needs: + - check-workflow + - test-amqp10_client + - test-amqp10_common + - test-amqp_client + - test-oauth2_client + - test-rabbit_common + - test-rabbitmq_ct_client_helpers + - test-rabbitmq_ct_helpers + - test-rabbitmq_stream_common + - test-trust_store_http + uses: ./.github/workflows/test-plugin-mixed.yaml + with: + repo_cache_key: ${{ needs.check-workflow.outputs.repo_cache_key }} + plugin: rabbit + shard_index: 2 + shard_count: 10 + secrets: inherit + test-rabbit-3: + needs: + - check-workflow + - test-amqp10_client + - test-amqp10_common + - test-amqp_client + - test-oauth2_client + - test-rabbit_common + - test-rabbitmq_ct_client_helpers + - test-rabbitmq_ct_helpers + - test-rabbitmq_stream_common + - test-trust_store_http + uses: ./.github/workflows/test-plugin-mixed.yaml + with: + repo_cache_key: ${{ needs.check-workflow.outputs.repo_cache_key }} + plugin: rabbit + shard_index: 3 + shard_count: 10 + secrets: inherit + test-rabbit-4: + needs: + - check-workflow + - test-amqp10_client + - test-amqp10_common + - test-amqp_client + - test-oauth2_client + - test-rabbit_common + - test-rabbitmq_ct_client_helpers + - test-rabbitmq_ct_helpers + - test-rabbitmq_stream_common + - test-trust_store_http + uses: ./.github/workflows/test-plugin-mixed.yaml + with: + repo_cache_key: ${{ needs.check-workflow.outputs.repo_cache_key }} + plugin: rabbit + shard_index: 4 + shard_count: 10 + secrets: inherit + test-rabbit-5: + needs: + - check-workflow + - test-amqp10_client + - test-amqp10_common + - test-amqp_client + - test-oauth2_client + - test-rabbit_common + - test-rabbitmq_ct_client_helpers + - test-rabbitmq_ct_helpers + - test-rabbitmq_stream_common + - test-trust_store_http + uses: ./.github/workflows/test-plugin-mixed.yaml + with: + repo_cache_key: ${{ needs.check-workflow.outputs.repo_cache_key }} + plugin: rabbit + shard_index: 5 + shard_count: 10 + secrets: inherit + test-rabbit-6: + needs: + - check-workflow + - test-amqp10_client + - test-amqp10_common + - test-amqp_client + - test-oauth2_client + - test-rabbit_common + - test-rabbitmq_ct_client_helpers + - test-rabbitmq_ct_helpers + - test-rabbitmq_stream_common + - test-trust_store_http + uses: ./.github/workflows/test-plugin-mixed.yaml + with: + repo_cache_key: ${{ needs.check-workflow.outputs.repo_cache_key }} + plugin: rabbit + shard_index: 6 + shard_count: 10 + secrets: inherit + test-rabbit-7: + needs: + - check-workflow + - test-amqp10_client + - test-amqp10_common + - test-amqp_client + - test-oauth2_client + - test-rabbit_common + - test-rabbitmq_ct_client_helpers + - test-rabbitmq_ct_helpers + - test-rabbitmq_stream_common + - test-trust_store_http + uses: ./.github/workflows/test-plugin-mixed.yaml + with: + repo_cache_key: ${{ needs.check-workflow.outputs.repo_cache_key }} + plugin: rabbit + shard_index: 7 + shard_count: 10 + secrets: inherit + test-rabbit-8: + needs: + - check-workflow + - test-amqp10_client + - test-amqp10_common + - test-amqp_client + - test-oauth2_client + - test-rabbit_common + - test-rabbitmq_ct_client_helpers + - test-rabbitmq_ct_helpers + - test-rabbitmq_stream_common + - test-trust_store_http + uses: ./.github/workflows/test-plugin-mixed.yaml + with: + repo_cache_key: ${{ needs.check-workflow.outputs.repo_cache_key }} + plugin: rabbit + shard_index: 8 + shard_count: 10 + secrets: inherit + test-rabbit-9: + needs: + - check-workflow + - test-amqp10_client + - test-amqp10_common + - test-amqp_client + - test-oauth2_client + - test-rabbit_common + - test-rabbitmq_ct_client_helpers + - test-rabbitmq_ct_helpers + - test-rabbitmq_stream_common + - test-trust_store_http + uses: ./.github/workflows/test-plugin-mixed.yaml + with: + repo_cache_key: ${{ needs.check-workflow.outputs.repo_cache_key }} + plugin: rabbit + shard_index: 9 + shard_count: 10 + 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: + 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_amqp1_0 + secrets: inherit + test-rabbitmq_auth_backend_cache: + 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_auth_backend_cache + secrets: inherit + test-rabbitmq_auth_backend_http: + 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_auth_backend_http + secrets: inherit + test-rabbitmq_auth_backend_ldap: + 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_auth_backend_ldap + secrets: inherit + test-rabbitmq_auth_backend_oauth2: + 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_auth_backend_oauth2 + secrets: inherit + test-rabbitmq_auth_mechanism_ssl: + 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_auth_mechanism_ssl + secrets: inherit + test-rabbitmq_aws: + 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_aws + secrets: inherit + test-rabbitmq_consistent_hash_exchange: needs: - - test-mixed-versions + - 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_consistent_hash_exchange + secrets: inherit + test-rabbitmq_event_exchange: + 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_event_exchange + secrets: inherit + test-rabbitmq_federation: + 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_federation + secrets: inherit + test-rabbitmq_federation_management: + 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_federation_management + secrets: inherit + test-rabbitmq_jms_topic_exchange: + 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_jms_topic_exchange + secrets: inherit + test-rabbitmq_management: + 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_management + secrets: inherit + test-rabbitmq_management_agent: + 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_management_agent + secrets: inherit + test-rabbitmq_mqtt: + 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_mqtt + secrets: inherit + test-rabbitmq_peer_discovery_aws: + 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_peer_discovery_aws + secrets: inherit + test-rabbitmq_peer_discovery_common: + 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_peer_discovery_common + secrets: inherit + test-rabbitmq_peer_discovery_consul: + 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_peer_discovery_consul + secrets: inherit + test-rabbitmq_peer_discovery_etcd: + 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_peer_discovery_etcd + secrets: inherit + test-rabbitmq_peer_discovery_k8s: + 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_peer_discovery_k8s + 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: + 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_prometheus + secrets: inherit + test-rabbitmq_random_exchange: + 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_random_exchange + secrets: inherit + test-rabbitmq_recent_history_exchange: + 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_recent_history_exchange + secrets: inherit + test-rabbitmq_sharding: + 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_sharding + secrets: inherit + test-rabbitmq_shovel: + 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_shovel + secrets: inherit + test-rabbitmq_shovel_management: + 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_shovel_management + secrets: inherit + test-rabbitmq_stomp: + 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_stomp + secrets: inherit + test-rabbitmq_stream: + 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_stream + secrets: inherit + test-rabbitmq_stream_management: + 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_stream_management + secrets: inherit + test-rabbitmq_top: + 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_top + secrets: inherit + test-rabbitmq_tracing: + 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_tracing + secrets: inherit + test-rabbitmq_trust_store: + 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_trust_store + secrets: inherit + test-rabbitmq_web_dispatch: + 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_web_dispatch + secrets: inherit + test-rabbitmq_web_mqtt: + 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_web_mqtt + secrets: inherit + test-rabbitmq_web_mqtt_examples: + 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_web_mqtt_examples + secrets: inherit + test-rabbitmq_web_stomp: + 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_web_stomp + secrets: inherit + test-rabbitmq_web_stomp_examples: + 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_web_stomp_examples + secrets: inherit + summary-test: + needs: + - test-amqp10_client + - test-amqp10_common + - test-amqp_client + - test-oauth2_client + - test-rabbit_common + - test-rabbitmq_ct_client_helpers + - test-rabbitmq_ct_helpers + - test-rabbitmq_stream_common + - test-trust_store_http + - test-rabbitmq_amqp_client + - test-rabbitmq_amqp1_0 + - test-rabbitmq_auth_backend_cache + - test-rabbitmq_auth_backend_http + - test-rabbitmq_auth_backend_ldap + - test-rabbitmq_auth_backend_oauth2 + - test-rabbitmq_auth_mechanism_ssl + - test-rabbitmq_aws + - test-rabbitmq_consistent_hash_exchange + - test-rabbitmq_event_exchange + - test-rabbitmq_federation + - test-rabbitmq_federation_management + - test-rabbitmq_jms_topic_exchange + - test-rabbitmq_management + - test-rabbitmq_management_agent + - test-rabbitmq_mqtt + - test-rabbitmq_peer_discovery_aws + - test-rabbitmq_peer_discovery_common + - test-rabbitmq_peer_discovery_consul + - test-rabbitmq_peer_discovery_etcd + - test-rabbitmq_peer_discovery_k8s + - test-rabbitmq_prelaunch + - test-rabbitmq_prometheus + - test-rabbitmq_random_exchange + - test-rabbitmq_recent_history_exchange + - test-rabbitmq_sharding + - test-rabbitmq_shovel + - test-rabbitmq_shovel_management + - test-rabbitmq_stomp + - test-rabbitmq_stream + - test-rabbitmq_stream_management + - test-rabbitmq_top + - test-rabbitmq_tracing + - test-rabbitmq_trust_store + - test-rabbitmq_web_dispatch + - test-rabbitmq_web_mqtt + - test-rabbitmq_web_mqtt_examples + - test-rabbitmq_web_stomp + - test-rabbitmq_web_stomp_examples + - 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 runs-on: ubuntu-latest steps: - name: SUMMARY run: | - echo "SUCCESS" + cat << 'EOF' | jq -e 'map(.result == "success") | all(.)' + ${{ toJson(needs) }} + EOF diff --git a/.github/workflows/test-plugin-mixed.yaml b/.github/workflows/test-plugin-mixed.yaml new file mode 100644 index 000000000000..43560a27b52f --- /dev/null +++ b/.github/workflows/test-plugin-mixed.yaml @@ -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 }}/* diff --git a/.github/workflows/test-plugin.yaml b/.github/workflows/test-plugin.yaml new file mode 100644 index 000000000000..64573b00be02 --- /dev/null +++ b/.github/workflows/test-plugin.yaml @@ -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 }}/* diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index d2cec2b974a4..602613742b81 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -2,76 +2,1098 @@ name: Test on: push: branches: - - main - - v3.13.x - - v3.12.x - - v3.11.x - - bump-otp-for-oci - - bump-rbe-* - - bump-rules_erlang + - 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 + - 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: - test: - name: Test - runs-on: ubuntu-22.04 - strategy: - fail-fast: false - matrix: - otp_version_id: - - 26 - metadata_store: - - mnesia - - khepri - timeout-minutes: 120 + 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: 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: | + 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: | - if [ -n "${{ secrets.BUILDBUDDY_API_KEY }}" ]; then + 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: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=PUBLIC - 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 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_env RABBITMQ_METADATA_STORE=${{ matrix.metadata_store }} \ - --test_tag_filters=-aws,-docker,-mixed-version-cluster \ - --build_tests_only \ - --verbose_failures + bazelisk cquery \ + 'tests(//...) except attr("tags", "manual|mixed-version-cluster", //deps/...)' \ + --output=label + test-amqp10_client: + needs: check-workflow + uses: ./.github/workflows/test-plugin.yaml + with: + repo_cache_key: ${{ needs.check-workflow.outputs.repo_cache_key }} + plugin: amqp10_client + secrets: inherit + test-amqp10_common: + needs: check-workflow + uses: ./.github/workflows/test-plugin.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.yaml + with: + repo_cache_key: ${{ needs.check-workflow.outputs.repo_cache_key }} + plugin: amqp_client + 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: + needs: check-workflow + uses: ./.github/workflows/test-plugin.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.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.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.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.yaml + with: + repo_cache_key: ${{ needs.check-workflow.outputs.repo_cache_key }} + plugin: trust_store_http + secrets: inherit + test-rabbit-0: + needs: + - check-workflow + - test-amqp10_client + - test-amqp10_common + - test-amqp_client + - test-oauth2_client + - test-rabbit_common + - test-rabbitmq_ct_client_helpers + - test-rabbitmq_ct_helpers + - test-rabbitmq_stream_common + - test-trust_store_http + uses: ./.github/workflows/test-plugin.yaml + with: + repo_cache_key: ${{ needs.check-workflow.outputs.repo_cache_key }} + plugin: rabbit + shard_index: 0 + shard_count: 10 + secrets: inherit + test-rabbit-1: + needs: + - check-workflow + - test-amqp10_client + - test-amqp10_common + - test-amqp_client + - test-oauth2_client + - test-rabbit_common + - test-rabbitmq_ct_client_helpers + - test-rabbitmq_ct_helpers + - test-rabbitmq_stream_common + - test-trust_store_http + uses: ./.github/workflows/test-plugin.yaml + with: + repo_cache_key: ${{ needs.check-workflow.outputs.repo_cache_key }} + plugin: rabbit + shard_index: 1 + shard_count: 10 + secrets: inherit + test-rabbit-2: + needs: + - check-workflow + - test-amqp10_client + - test-amqp10_common + - test-amqp_client + - test-oauth2_client + - test-rabbit_common + - test-rabbitmq_ct_client_helpers + - test-rabbitmq_ct_helpers + - test-rabbitmq_stream_common + - test-trust_store_http + uses: ./.github/workflows/test-plugin.yaml + with: + repo_cache_key: ${{ needs.check-workflow.outputs.repo_cache_key }} + plugin: rabbit + shard_index: 2 + shard_count: 10 + secrets: inherit + test-rabbit-3: + needs: + - check-workflow + - test-amqp10_client + - test-amqp10_common + - test-amqp_client + - test-oauth2_client + - test-rabbit_common + - test-rabbitmq_ct_client_helpers + - test-rabbitmq_ct_helpers + - test-rabbitmq_stream_common + - test-trust_store_http + uses: ./.github/workflows/test-plugin.yaml + with: + repo_cache_key: ${{ needs.check-workflow.outputs.repo_cache_key }} + plugin: rabbit + shard_index: 3 + shard_count: 10 + secrets: inherit + test-rabbit-4: + needs: + - check-workflow + - test-amqp10_client + - test-amqp10_common + - test-amqp_client + - test-oauth2_client + - test-rabbit_common + - test-rabbitmq_ct_client_helpers + - test-rabbitmq_ct_helpers + - test-rabbitmq_stream_common + - test-trust_store_http + uses: ./.github/workflows/test-plugin.yaml + with: + repo_cache_key: ${{ needs.check-workflow.outputs.repo_cache_key }} + plugin: rabbit + shard_index: 4 + shard_count: 10 + secrets: inherit + test-rabbit-5: + needs: + - check-workflow + - test-amqp10_client + - test-amqp10_common + - test-amqp_client + - test-oauth2_client + - test-rabbit_common + - test-rabbitmq_ct_client_helpers + - test-rabbitmq_ct_helpers + - test-rabbitmq_stream_common + - test-trust_store_http + uses: ./.github/workflows/test-plugin.yaml + with: + repo_cache_key: ${{ needs.check-workflow.outputs.repo_cache_key }} + plugin: rabbit + shard_index: 5 + shard_count: 10 + secrets: inherit + test-rabbit-6: + needs: + - check-workflow + - test-amqp10_client + - test-amqp10_common + - test-amqp_client + - test-oauth2_client + - test-rabbit_common + - test-rabbitmq_ct_client_helpers + - test-rabbitmq_ct_helpers + - test-rabbitmq_stream_common + - test-trust_store_http + uses: ./.github/workflows/test-plugin.yaml + with: + repo_cache_key: ${{ needs.check-workflow.outputs.repo_cache_key }} + plugin: rabbit + shard_index: 6 + shard_count: 10 + secrets: inherit + test-rabbit-7: + needs: + - check-workflow + - test-amqp10_client + - test-amqp10_common + - test-amqp_client + - test-oauth2_client + - test-rabbit_common + - test-rabbitmq_ct_client_helpers + - test-rabbitmq_ct_helpers + - test-rabbitmq_stream_common + - test-trust_store_http + uses: ./.github/workflows/test-plugin.yaml + with: + repo_cache_key: ${{ needs.check-workflow.outputs.repo_cache_key }} + plugin: rabbit + shard_index: 7 + shard_count: 10 + secrets: inherit + test-rabbit-8: + needs: + - check-workflow + - test-amqp10_client + - test-amqp10_common + - test-amqp_client + - test-oauth2_client + - test-rabbit_common + - test-rabbitmq_ct_client_helpers + - test-rabbitmq_ct_helpers + - test-rabbitmq_stream_common + - test-trust_store_http + uses: ./.github/workflows/test-plugin.yaml + with: + repo_cache_key: ${{ needs.check-workflow.outputs.repo_cache_key }} + plugin: rabbit + shard_index: 8 + shard_count: 10 + secrets: inherit + test-rabbit-9: + needs: + - check-workflow + - test-amqp10_client + - test-amqp10_common + - test-amqp_client + - test-oauth2_client + - test-rabbit_common + - test-rabbitmq_ct_client_helpers + - test-rabbitmq_ct_helpers + - test-rabbitmq_stream_common + - test-trust_store_http + uses: ./.github/workflows/test-plugin.yaml + with: + repo_cache_key: ${{ needs.check-workflow.outputs.repo_cache_key }} + plugin: rabbit + shard_index: 9 + shard_count: 10 + 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: + 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_amqp1_0 + secrets: inherit + test-rabbitmq_auth_backend_cache: + 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_auth_backend_cache + secrets: inherit + test-rabbitmq_auth_backend_http: + 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_auth_backend_http + secrets: inherit + test-rabbitmq_auth_backend_ldap: + 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_auth_backend_ldap + secrets: inherit + test-rabbitmq_auth_backend_oauth2: + 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_auth_backend_oauth2 + secrets: inherit + test-rabbitmq_auth_mechanism_ssl: + 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_auth_mechanism_ssl + secrets: inherit + test-rabbitmq_aws: + 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_aws + secrets: inherit + test-rabbitmq_consistent_hash_exchange: + 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_consistent_hash_exchange + secrets: inherit + test-rabbitmq_event_exchange: + 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_event_exchange + secrets: inherit + test-rabbitmq_federation: + 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_federation + secrets: inherit + test-rabbitmq_federation_management: + 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_federation_management + secrets: inherit + test-rabbitmq_jms_topic_exchange: + 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_jms_topic_exchange + secrets: inherit + test-rabbitmq_management: + 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_management + secrets: inherit + test-rabbitmq_management_agent: + 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_management_agent + secrets: inherit + test-rabbitmq_mqtt: + 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_mqtt + secrets: inherit + test-rabbitmq_peer_discovery_aws: + 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_peer_discovery_aws + secrets: inherit + test-rabbitmq_peer_discovery_common: + 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_peer_discovery_common + secrets: inherit + test-rabbitmq_peer_discovery_consul: + 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_peer_discovery_consul + secrets: inherit + test-rabbitmq_peer_discovery_etcd: + 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_peer_discovery_etcd + secrets: inherit + test-rabbitmq_peer_discovery_k8s: + 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_peer_discovery_k8s + 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: + 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_prometheus + secrets: inherit + test-rabbitmq_random_exchange: + 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_random_exchange + secrets: inherit + test-rabbitmq_recent_history_exchange: + 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_recent_history_exchange + secrets: inherit + test-rabbitmq_sharding: + 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_sharding + secrets: inherit + test-rabbitmq_shovel: + 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_shovel + secrets: inherit + test-rabbitmq_shovel_management: + 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_shovel_management + secrets: inherit + test-rabbitmq_stomp: + 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_stomp + secrets: inherit + test-rabbitmq_stream: + 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_stream + secrets: inherit + test-rabbitmq_stream_management: + 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_stream_management + secrets: inherit + test-rabbitmq_top: + 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_top + secrets: inherit + test-rabbitmq_tracing: + 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_tracing + secrets: inherit + test-rabbitmq_trust_store: + 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_trust_store + secrets: inherit + test-rabbitmq_web_dispatch: + 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_web_dispatch + secrets: inherit + test-rabbitmq_web_mqtt: + 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_web_mqtt + secrets: inherit + test-rabbitmq_web_mqtt_examples: + 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_web_mqtt_examples + secrets: inherit + test-rabbitmq_web_stomp: + 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_web_stomp + secrets: inherit + test-rabbitmq_web_stomp_examples: + 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_web_stomp_examples + secrets: inherit summary-test: needs: - - test + - test-amqp10_client + - test-amqp10_common + - test-amqp_client + - test-oauth2_client + - test-rabbit_common + - test-rabbitmq_ct_client_helpers + - test-rabbitmq_ct_helpers + - test-rabbitmq_stream_common + - test-trust_store_http + - test-rabbitmq_amqp_client + - test-rabbitmq_amqp1_0 + - test-rabbitmq_auth_backend_cache + - test-rabbitmq_auth_backend_http + - test-rabbitmq_auth_backend_ldap + - test-rabbitmq_auth_backend_oauth2 + - test-rabbitmq_auth_mechanism_ssl + - test-rabbitmq_aws + - test-rabbitmq_consistent_hash_exchange + - test-rabbitmq_event_exchange + - test-rabbitmq_federation + - test-rabbitmq_federation_management + - test-rabbitmq_jms_topic_exchange + - test-rabbitmq_management + - test-rabbitmq_management_agent + - test-rabbitmq_mqtt + - test-rabbitmq_peer_discovery_aws + - test-rabbitmq_peer_discovery_common + - test-rabbitmq_peer_discovery_consul + - test-rabbitmq_peer_discovery_etcd + - test-rabbitmq_peer_discovery_k8s + - test-rabbitmq_prelaunch + - test-rabbitmq_prometheus + - test-rabbitmq_random_exchange + - test-rabbitmq_recent_history_exchange + - test-rabbitmq_sharding + - test-rabbitmq_shovel + - test-rabbitmq_shovel_management + - test-rabbitmq_stomp + - test-rabbitmq_stream + - test-rabbitmq_stream_management + - test-rabbitmq_top + - test-rabbitmq_tracing + - test-rabbitmq_trust_store + - test-rabbitmq_web_dispatch + - test-rabbitmq_web_mqtt + - test-rabbitmq_web_mqtt_examples + - test-rabbitmq_web_stomp + - test-rabbitmq_web_stomp_examples + - 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 runs-on: ubuntu-latest steps: - name: SUMMARY run: | - echo "SUCCESS" + cat << 'EOF' | jq -e 'map(.result == "success") | all(.)' + ${{ toJson(needs) }} + EOF diff --git a/.github/workflows/update-elixir-patches.yaml b/.github/workflows/update-elixir-patches.yaml deleted file mode 100644 index 0b25e7bb44dc..000000000000 --- a/.github/workflows/update-elixir-patches.yaml +++ /dev/null @@ -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 - author: GitHub - 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 diff --git a/.github/workflows/update-otp-patches.yaml b/.github/workflows/update-otp-patches.yaml deleted file mode 100644 index 46b3d43e343b..000000000000 --- a/.github/workflows/update-otp-patches.yaml +++ /dev/null @@ -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 - author: GitHub - 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 diff --git a/MODULE.bazel b/MODULE.bazel index dc6c5c6183da..bc79698f7699 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -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", diff --git a/Makefile b/Makefile index e44675e1ca52..1c9669bf76aa 100644 --- a/Makefile +++ b/Makefile @@ -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:/'> $@ diff --git a/WORKSPACE b/WORKSPACE index ee99c621139a..3bbed84e3656 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -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", -) diff --git a/bazel/bzlmod/extensions.bzl b/bazel/bzlmod/extensions.bzl index 121466979fc3..338c045a8ca8 100644 --- a/bazel/bzlmod/extensions.bzl +++ b/bazel/bzlmod/extensions.bzl @@ -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", diff --git a/bazel/platforms/BUILD.bazel b/bazel/platforms/BUILD.bazel deleted file mode 100644 index c48a1fa72e56..000000000000 --- a/bazel/platforms/BUILD.bazel +++ /dev/null @@ -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"], -) diff --git a/deps/rabbitmq_peer_discovery_consul/test/system_SUITE_data/consul.hcl b/deps/rabbitmq_peer_discovery_consul/test/system_SUITE_data/consul.hcl index 377132117ee6..4a850633c427 100644 --- a/deps/rabbitmq_peer_discovery_consul/test/system_SUITE_data/consul.hcl +++ b/deps/rabbitmq_peer_discovery_consul/test/system_SUITE_data/consul.hcl @@ -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"