* Turn off BuildBuddy integration (#11343) Builds now execute on the github actions workers, using Google Cloud Storage (GCS) as a cache (cherry picked from commita6874e39cc
) # Conflicts: # .github/workflows/update-elixir-patches.yaml # .github/workflows/update-otp-patches.yaml # MODULE.bazel # WORKSPACE # deps/rabbitmq_peer_discovery_consul/test/system_SUITE_data/consul.hcl (cherry picked from commit2c62185317
) # Conflicts: # .bazelrc # .github/workflows/rabbitmq_peer_discovery_aws.yaml # .github/workflows/templates/test-mixed-versions.template.yaml # .github/workflows/templates/test.template.yaml # .github/workflows/test-mixed-versions.yaml # .github/workflows/test.yaml # MODULE.bazel # bazel/platforms/BUILD.bazel * fixup backport (cherry picked from commitdd62ac16f3
) # Conflicts: # .github/workflows/update-elixir-patches.yaml # .github/workflows/update-otp-patches.yaml * remove rabbitmq_amqp_client tests from this branch as the plugin does not exist here (cherry picked from commit28ee2ddee6
) # Conflicts: # .github/workflows/test-mixed-versions.yaml * Reduce bazel sandbox for rabbitmq_amqp1_0 tests in CI since they use java (cherry picked from commit0d5c0e5086
) * Install daemonize as needed in the peer_discovery_etcd suite (cherry picked from commit23f6e5cc7e
) * fixup backport * oauth2_client does not exist on this branch and rabbitmq_prelaunch will run as part of the rabbit shards * Use erlang 25.0/elixir 1.14 for mixed version tests --------- Co-authored-by: Rin Kuryloski <rin.kuryloski@broadcom.com>
This commit is contained in:
parent
81e12147d0
commit
c78563a335
61
.bazelrc
61
.bazelrc
|
@ -13,67 +13,6 @@ build --flag_alias=test_build=//:enable_test_build
|
|||
|
||||
build --combined_report=lcov
|
||||
|
||||
build:buildbuddy --bes_results_url=https://app.buildbuddy.io/invocation/
|
||||
build:buildbuddy --bes_backend=grpcs://remote.buildbuddy.io
|
||||
build:buildbuddy --remote_cache=grpcs://remote.buildbuddy.io
|
||||
build:buildbuddy --remote_timeout=1200
|
||||
build:buildbuddy --grpc_keepalive_time=360s
|
||||
build:buildbuddy --grpc_keepalive_timeout=360s
|
||||
build:buildbuddy --remote_download_minimal
|
||||
build:buildbuddy --build_metadata=REPO_URL=https://github.com/rabbitmq/rabbitmq-server.git
|
||||
build:buildbuddy --experimental_remote_cache_compression
|
||||
build:buildbuddy --experimental_remote_cache_async
|
||||
build:buildbuddy --noslim_profile
|
||||
build:buildbuddy --experimental_profile_include_target_label
|
||||
build:buildbuddy --experimental_profile_include_primary_output
|
||||
build:buildbuddy --remote_build_event_upload=minimal
|
||||
build:buildbuddy --nolegacy_important_outputs
|
||||
|
||||
# buildbuddy implies remote cache, so ct_logdir is restored to its default for reproducibility
|
||||
build:buildbuddy --@rules_erlang//:ct_logdir=
|
||||
|
||||
build:rbe --config=buildbuddy
|
||||
|
||||
build:rbe --remote_executor=grpcs://remote.buildbuddy.io
|
||||
|
||||
build:rbe --strategy=TestRunner=remote,worker,sandboxed,local
|
||||
build:rbe --jobs=50
|
||||
|
||||
build:rbe --crosstool_top=@rbe//cc:toolchain
|
||||
build:rbe --extra_toolchains=@rbe//config:cc-toolchain
|
||||
|
||||
build:rbe --host_platform=//bazel/platforms:erlang_internal_platform
|
||||
|
||||
build:rbe --host_cpu=k8
|
||||
build:rbe --cpu=k8
|
||||
|
||||
build:rbe-24 --config=rbe
|
||||
build:rbe-24 --platforms=//bazel/platforms:erlang_linux_24_platform
|
||||
|
||||
build:rbe-25 --config=rbe
|
||||
build:rbe-25 --platforms=//bazel/platforms:erlang_linux_25_3_platform
|
||||
|
||||
build:rbe-25_0 --config=rbe
|
||||
build:rbe-25_0 --platforms=//bazel/platforms:erlang_linux_25_0_platform
|
||||
|
||||
build:rbe-25_1 --config=rbe
|
||||
build:rbe-25_1 --platforms=//bazel/platforms:erlang_linux_25_1_platform
|
||||
|
||||
build:rbe-25_2 --config=rbe
|
||||
build:rbe-25_2 --platforms=//bazel/platforms:erlang_linux_25_2_platform
|
||||
|
||||
build:rbe-25_3 --config=rbe
|
||||
build:rbe-25_3 --platforms=//bazel/platforms:erlang_linux_25_3_platform
|
||||
|
||||
build:rbe-26 --config=rbe
|
||||
build:rbe-26 --platforms=//bazel/platforms:erlang_linux_26_1_platform
|
||||
|
||||
build:rbe-26_1 --config=rbe
|
||||
build:rbe-26_1 --platforms=//bazel/platforms:erlang_linux_26_1_platform
|
||||
|
||||
# no-op config so that --config=local does not error
|
||||
build:local --color=auto
|
||||
|
||||
# Try importing a user specific .bazelrc
|
||||
# You can create your own by copying and editing the template-user.bazelrc template:
|
||||
# cp template-user.bazelrc user.bazelrc
|
||||
|
|
|
@ -5,10 +5,6 @@ jobs:
|
|||
peer-discovery-aws-integration-test:
|
||||
name: Integration Test
|
||||
runs-on: ubuntu-22.04
|
||||
strategy:
|
||||
matrix:
|
||||
otp_version_id:
|
||||
- 26
|
||||
timeout-minutes: 45
|
||||
steps:
|
||||
- name: CHECKOUT REPOSITORY
|
||||
|
@ -16,33 +12,70 @@ jobs:
|
|||
- name: WAIT FOR OCI IMAGE WORKFLOW
|
||||
uses: lewagon/wait-on-check-action@v1.2.0
|
||||
with:
|
||||
ref: ${{ github.ref }}
|
||||
check-name: build-publish-dev-bazel
|
||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
wait-interval: 30 # seconds
|
||||
images: pivotalrabbitmq/rabbitmq
|
||||
tags: |
|
||||
type=sha,format=long
|
||||
- uses: int128/wait-for-docker-image-action@v1
|
||||
if: steps.authorized.outputs.authorized == 'true'
|
||||
with:
|
||||
tags: ${{ steps.metadata.outputs.tags }}
|
||||
timeout-seconds: 3600
|
||||
polling-seconds: 60
|
||||
- name: COMPUTE REPO CACHE KEY
|
||||
if: steps.authorized.outputs.authorized == 'true'
|
||||
id: repo-cache-key
|
||||
run: |
|
||||
echo "value=bazel-repo-cache-${{ hashFiles('MODULE.bazel') }}" | tee -a $GITHUB_OUTPUT
|
||||
- name: LOAD REPO CACHE
|
||||
if: steps.authorized.outputs.authorized == 'true'
|
||||
uses: actions/cache/restore@v4
|
||||
with:
|
||||
key: ${{ steps.repo-cache-key.outputs.value }}
|
||||
path: /home/runner/repo-cache/
|
||||
- name: CONFIGURE OTP & ELIXIR
|
||||
if: steps.authorized.outputs.authorized == 'true'
|
||||
uses: erlef/setup-beam@v1.17
|
||||
with:
|
||||
otp-version: 26
|
||||
elixir-version: 1.15
|
||||
- name: SETUP ecs-cli
|
||||
if: steps.authorized.outputs.authorized == 'true'
|
||||
env:
|
||||
ECS_CLI_VERSION: 1.21.0
|
||||
run: |
|
||||
curl -Lo /usr/local/bin/ecs-cli https://amazon-ecs-cli.s3.amazonaws.com/ecs-cli-linux-amd64-v${ECS_CLI_VERSION} && \
|
||||
chmod +x /usr/local/bin/ecs-cli && \
|
||||
ecs-cli --version
|
||||
- name: AUTHENTICATE TO GOOGLE CLOUD
|
||||
if: steps.authorized.outputs.authorized == 'true'
|
||||
uses: google-github-actions/auth@v2.1.2
|
||||
with:
|
||||
credentials_json: ${{ secrets.REMOTE_CACHE_CREDENTIALS_JSON }}
|
||||
- name: CONFIGURE BAZEL
|
||||
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:buildbuddy --build_metadata=ROLE=CI
|
||||
build:buildbuddy --build_metadata=VISIBILITY=PRIVATE
|
||||
build:buildbuddy --color=yes
|
||||
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
|
||||
- name: RUN INTEGRATION 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
|
||||
|
||||
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:${{ github.sha }}" \
|
||||
--test_env AWS_ECS_CLUSTER_NAME="rabbitmq-peer-discovery-aws-actions-${branch_or_tag//[._]/-}" \
|
||||
--test_output=streamed \
|
||||
--verbose_failures
|
||||
|
|
|
@ -142,8 +142,8 @@ jobs:
|
|||
- name: SETUP ERLANG/ELIXIR
|
||||
uses: erlef/setup-beam@v1
|
||||
with:
|
||||
otp-version: 26
|
||||
elixir-version: 1.15
|
||||
otp-version: 25.0
|
||||
elixir-version: 1.14
|
||||
- name: ENSURE WORKFLOWS ARE UP TO DATE
|
||||
run: |
|
||||
mkdir local-bin/
|
||||
|
|
|
@ -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@v3
|
||||
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
|
||||
|
@ -66,7 +63,7 @@ jobs:
|
|||
echo "version=${VERSION}" | tee -a $GITHUB_OUTPUT
|
||||
- name: CHECKOUT REPOSITORY (MIXED VERSION)
|
||||
if: env.exists != 'true'
|
||||
uses: actions/checkout@v3
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
ref: v${{ steps.check.outputs.version }}
|
||||
path: secondary-umbrella
|
||||
|
@ -111,53 +108,91 @@ 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:
|
||||
- "25_0"
|
||||
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: 25
|
||||
elixir-version: 1.14
|
||||
- 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_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-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:
|
||||
<<<<<<< HEAD
|
||||
- test-mixed-versions
|
||||
=======
|
||||
- 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
|
||||
|
@ -176,7 +211,6 @@ jobs:
|
|||
- test-amqp10_client
|
||||
- test-amqp10_common
|
||||
- test-amqp_client
|
||||
- test-oauth2_client
|
||||
- test-rabbit_common
|
||||
- test-rabbitmq_ct_client_helpers
|
||||
- test-rabbitmq_ct_helpers
|
||||
|
@ -195,7 +229,6 @@ jobs:
|
|||
- test-amqp10_client
|
||||
- test-amqp10_common
|
||||
- test-amqp_client
|
||||
- test-oauth2_client
|
||||
- test-rabbit_common
|
||||
- test-rabbitmq_ct_client_helpers
|
||||
- test-rabbitmq_ct_helpers
|
||||
|
@ -214,7 +247,6 @@ jobs:
|
|||
- test-amqp10_client
|
||||
- test-amqp10_common
|
||||
- test-amqp_client
|
||||
- test-oauth2_client
|
||||
- test-rabbit_common
|
||||
- test-rabbitmq_ct_client_helpers
|
||||
- test-rabbitmq_ct_helpers
|
||||
|
@ -233,7 +265,6 @@ jobs:
|
|||
- test-amqp10_client
|
||||
- test-amqp10_common
|
||||
- test-amqp_client
|
||||
- test-oauth2_client
|
||||
- test-rabbit_common
|
||||
- test-rabbitmq_ct_client_helpers
|
||||
- test-rabbitmq_ct_helpers
|
||||
|
@ -252,7 +283,6 @@ jobs:
|
|||
- test-amqp10_client
|
||||
- test-amqp10_common
|
||||
- test-amqp_client
|
||||
- test-oauth2_client
|
||||
- test-rabbit_common
|
||||
- test-rabbitmq_ct_client_helpers
|
||||
- test-rabbitmq_ct_helpers
|
||||
|
@ -271,7 +301,6 @@ jobs:
|
|||
- test-amqp10_client
|
||||
- test-amqp10_common
|
||||
- test-amqp_client
|
||||
- test-oauth2_client
|
||||
- test-rabbit_common
|
||||
- test-rabbitmq_ct_client_helpers
|
||||
- test-rabbitmq_ct_helpers
|
||||
|
@ -290,7 +319,6 @@ jobs:
|
|||
- test-amqp10_client
|
||||
- test-amqp10_common
|
||||
- test-amqp_client
|
||||
- test-oauth2_client
|
||||
- test-rabbit_common
|
||||
- test-rabbitmq_ct_client_helpers
|
||||
- test-rabbitmq_ct_helpers
|
||||
|
@ -309,7 +337,6 @@ jobs:
|
|||
- test-amqp10_client
|
||||
- test-amqp10_common
|
||||
- test-amqp_client
|
||||
- test-oauth2_client
|
||||
- test-rabbit_common
|
||||
- test-rabbitmq_ct_client_helpers
|
||||
- test-rabbitmq_ct_helpers
|
||||
|
@ -328,7 +355,6 @@ jobs:
|
|||
- test-amqp10_client
|
||||
- test-amqp10_common
|
||||
- test-amqp_client
|
||||
- test-oauth2_client
|
||||
- test-rabbit_common
|
||||
- test-rabbitmq_ct_client_helpers
|
||||
- test-rabbitmq_ct_helpers
|
||||
|
@ -348,24 +374,6 @@ jobs:
|
|||
repo_cache_key: ${{ needs.check-workflow.outputs.repo_cache_key }}
|
||||
plugin: rabbitmq_cli
|
||||
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
|
||||
|
@ -726,24 +734,6 @@ jobs:
|
|||
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
|
||||
|
@ -1055,13 +1045,11 @@ jobs:
|
|||
- 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
|
||||
|
@ -1082,7 +1070,6 @@ jobs:
|
|||
- 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
|
||||
|
@ -1111,9 +1098,10 @@ jobs:
|
|||
- test-rabbit-8
|
||||
- test-rabbit-9
|
||||
- test-rabbitmq_cli
|
||||
>>>>>>> bdd18ed800 (Add back rabbitmq_cli tests to CI)
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: SUMMARY
|
||||
run: |
|
||||
echo "SUCCESS"
|
||||
cat << 'EOF' | jq -e 'map(.result == "success") | all(.)'
|
||||
${{ toJson(needs) }}
|
||||
EOF
|
||||
|
|
|
@ -0,0 +1,182 @@
|
|||
name: Test Plugin Mixed Version Clusters
|
||||
on:
|
||||
workflow_call:
|
||||
inputs:
|
||||
repo_cache_key:
|
||||
required: true
|
||||
type: string
|
||||
plugin:
|
||||
required: true
|
||||
type: string
|
||||
shard_index:
|
||||
default: 0
|
||||
type: number
|
||||
shard_count:
|
||||
default: 1
|
||||
type: number
|
||||
secrets:
|
||||
REMOTE_CACHE_BUCKET_NAME:
|
||||
required: true
|
||||
REMOTE_CACHE_CREDENTIALS_JSON:
|
||||
required: true
|
||||
jobs:
|
||||
test:
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
erlang_version:
|
||||
- 25.0
|
||||
metadata_store:
|
||||
- mnesia
|
||||
- khepri
|
||||
include:
|
||||
- erlang_version: 25.0
|
||||
elixir_version: 1.15
|
||||
timeout-minutes: 120
|
||||
steps:
|
||||
- name: LOAD REPO CACHE
|
||||
uses: actions/cache/restore@v4
|
||||
with:
|
||||
key: ${{ inputs.repo_cache_key }}
|
||||
path: /home/runner/repo-cache/
|
||||
- name: CHECKOUT REPOSITORY
|
||||
uses: actions/checkout@v4
|
||||
- name: CONFIGURE OTP & ELIXIR
|
||||
uses: erlef/setup-beam@v1.17
|
||||
with:
|
||||
otp-version: ${{ matrix.erlang_version }}
|
||||
elixir-version: ${{ matrix.elixir_version }}
|
||||
- name: AUTHENTICATE TO GOOGLE CLOUD
|
||||
uses: google-github-actions/auth@v2.1.2
|
||||
with:
|
||||
credentials_json: ${{ secrets.REMOTE_CACHE_CREDENTIALS_JSON }}
|
||||
- name: CONFIGURE BAZEL
|
||||
run: |
|
||||
if [ -n "${{ secrets.REMOTE_CACHE_BUCKET_NAME }}" ]; then
|
||||
cat << EOF >> user.bazelrc
|
||||
build --remote_cache=https://storage.googleapis.com/${{ secrets.REMOTE_CACHE_BUCKET_NAME }}
|
||||
build --google_default_credentials
|
||||
EOF
|
||||
fi
|
||||
cat << EOF >> user.bazelrc
|
||||
build --repository_cache=/home/runner/repo-cache/
|
||||
build --color=yes
|
||||
EOF
|
||||
|
||||
bazelisk info release
|
||||
#! - name: Setup tmate session
|
||||
#! uses: mxschmitt/action-tmate@v3
|
||||
- uses: actions/setup-dotnet@v4
|
||||
if: inputs.plugin == 'rabbit'
|
||||
with:
|
||||
dotnet-version: '3.1.x'
|
||||
- name: deps/amqp10_client SETUP
|
||||
if: inputs.plugin == 'amqp10_client'
|
||||
run: |
|
||||
# reduce sandboxing so that activemq works
|
||||
cat << EOF >> user.bazelrc
|
||||
build --strategy=TestRunner=local
|
||||
EOF
|
||||
- name: deps/rabbit SETUP
|
||||
if: inputs.plugin == 'rabbit'
|
||||
run: |
|
||||
# reduce sandboxing so that maven works
|
||||
cat << EOF >> user.bazelrc
|
||||
build --strategy=TestRunner=local
|
||||
EOF
|
||||
- name: deps/rabbitmq_amqp1_0 SETUP
|
||||
if: inputs.plugin == 'rabbitmq_amqp1_0'
|
||||
run: |
|
||||
cat << EOF >> user.bazelrc
|
||||
build --strategy=TestRunner=local
|
||||
EOF
|
||||
- name: deps/rabbitmq_auth_backend_ldap SETUP
|
||||
if: inputs.plugin == 'rabbitmq_auth_backend_ldap'
|
||||
run: |
|
||||
sudo apt-get update && \
|
||||
sudo apt-get install -y \
|
||||
apparmor-utils \
|
||||
ldap-utils \
|
||||
slapd
|
||||
|
||||
sudo aa-complain `which slapd`
|
||||
|
||||
cat << EOF >> user.bazelrc
|
||||
build --strategy=TestRunner=local
|
||||
EOF
|
||||
- name: deps/rabbitmq_mqtt SETUP
|
||||
if: inputs.plugin == 'rabbitmq_mqtt'
|
||||
run: |
|
||||
cat << EOF >> user.bazelrc
|
||||
build --strategy=TestRunner=local
|
||||
EOF
|
||||
- name: deps/rabbitmq_peer_discovery_consul SETUP
|
||||
if: inputs.plugin == 'rabbitmq_peer_discovery_consul'
|
||||
run: |
|
||||
cat << EOF >> user.bazelrc
|
||||
build --strategy=TestRunner=local
|
||||
EOF
|
||||
- name: deps/rabbitmq_peer_discovery_etcd SETUP
|
||||
if: inputs.plugin == 'rabbitmq_peer_discovery_etcd'
|
||||
run: |
|
||||
sudo apt-get update && \
|
||||
sudo apt-get install -y \
|
||||
daemonize
|
||||
- name: deps/rabbitmq_stream SETUP
|
||||
if: inputs.plugin == 'rabbitmq_stream'
|
||||
run: |
|
||||
cat << EOF >> user.bazelrc
|
||||
build --strategy=TestRunner=local
|
||||
EOF
|
||||
- name: deps/rabbitmq_stream_management SETUP
|
||||
if: inputs.plugin == 'rabbitmq_stream_management'
|
||||
run: |
|
||||
cat << EOF >> user.bazelrc
|
||||
build --strategy=TestRunner=local
|
||||
EOF
|
||||
- name: deps/rabbitmq_tracing SETUP
|
||||
if: inputs.plugin == 'rabbitmq_tracing'
|
||||
run: |
|
||||
cat << EOF >> user.bazelrc
|
||||
build --strategy=TestRunner=local
|
||||
EOF
|
||||
- name: COMPUTE TESTS IN SHARD
|
||||
id: shard
|
||||
run: |
|
||||
bazelisk cquery \
|
||||
'attr("tags", "mixed-version-cluster", tests(//deps/${{ inputs.plugin }}/...)) except attr("tags", "manual", //deps/${{ inputs.plugin }}/...)' \
|
||||
--output=label \
|
||||
| awk '{print $1;}' > tests.log
|
||||
if [[ $(wc -l < tests.log) != "0" ]]; then
|
||||
split -da 3 -l $((`wc -l < tests.log`/${{ inputs.shard_count }})) tests.log shard
|
||||
printf -v padded_index "%03d" ${{ inputs.shard_index }}
|
||||
echo "file=shard$padded_index" | tee -a $GITHUB_OUTPUT
|
||||
else
|
||||
echo "No tests in this shard"
|
||||
echo "file=" | tee -a $GITHUB_OUTPUT
|
||||
fi
|
||||
- name: RUN TESTS
|
||||
if: steps.shard.outputs.file != '' && inputs.plugin != 'rabbitmq_peer_discovery_aws'
|
||||
run: |
|
||||
echo "Tests in shard:"
|
||||
cat ${{ steps.shard.outputs.file }}
|
||||
echo ""
|
||||
|
||||
## WARNING:
|
||||
## secrets must not be set in --test_env or --action_env,
|
||||
## or otherwise logs must not be saved as artifacts.
|
||||
## rabbit_ct_helpers or other code may log portions of the
|
||||
## env vars and leak them
|
||||
|
||||
bazelisk test $(< ${{ steps.shard.outputs.file }}) \
|
||||
--test_env RABBITMQ_METADATA_STORE=${{ matrix.metadata_store }} \
|
||||
--build_tests_only \
|
||||
--verbose_failures
|
||||
- name: UPLOAD TEST LOGS
|
||||
if: always()
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: bazel-testlogs-${{ inputs.plugin }}-${{ inputs.shard_index }}-${{ matrix.erlang_version }}-${{ matrix.metadata_store }}-mixed
|
||||
path: |
|
||||
bazel-testlogs/deps/${{ inputs.plugin }}/*
|
|
@ -0,0 +1,177 @@
|
|||
name: Test Plugin
|
||||
on:
|
||||
workflow_call:
|
||||
inputs:
|
||||
repo_cache_key:
|
||||
required: true
|
||||
type: string
|
||||
plugin:
|
||||
required: true
|
||||
type: string
|
||||
shard_index:
|
||||
default: 0
|
||||
type: number
|
||||
shard_count:
|
||||
default: 1
|
||||
type: number
|
||||
secrets:
|
||||
REMOTE_CACHE_BUCKET_NAME:
|
||||
required: true
|
||||
REMOTE_CACHE_CREDENTIALS_JSON:
|
||||
required: true
|
||||
jobs:
|
||||
test:
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
erlang_version:
|
||||
- 26
|
||||
metadata_store:
|
||||
- mnesia
|
||||
- khepri
|
||||
include:
|
||||
- erlang_version: 26
|
||||
elixir_version: 1.15
|
||||
timeout-minutes: 120
|
||||
steps:
|
||||
- name: LOAD REPO CACHE
|
||||
uses: actions/cache/restore@v4
|
||||
with:
|
||||
key: ${{ inputs.repo_cache_key }}
|
||||
path: /home/runner/repo-cache/
|
||||
- name: CHECKOUT REPOSITORY
|
||||
uses: actions/checkout@v4
|
||||
- name: CONFIGURE OTP & ELIXIR
|
||||
uses: erlef/setup-beam@v1.17
|
||||
with:
|
||||
otp-version: ${{ matrix.erlang_version }}
|
||||
elixir-version: ${{ matrix.elixir_version }}
|
||||
- name: AUTHENTICATE TO GOOGLE CLOUD
|
||||
uses: google-github-actions/auth@v2.1.2
|
||||
with:
|
||||
credentials_json: ${{ secrets.REMOTE_CACHE_CREDENTIALS_JSON }}
|
||||
- name: CONFIGURE BAZEL
|
||||
run: |
|
||||
if [ -n "${{ secrets.REMOTE_CACHE_BUCKET_NAME }}" ]; then
|
||||
cat << EOF >> user.bazelrc
|
||||
build --remote_cache=https://storage.googleapis.com/${{ secrets.REMOTE_CACHE_BUCKET_NAME }}
|
||||
build --google_default_credentials
|
||||
EOF
|
||||
fi
|
||||
cat << EOF >> user.bazelrc
|
||||
build --repository_cache=/home/runner/repo-cache/
|
||||
build --color=yes
|
||||
EOF
|
||||
|
||||
bazelisk info release
|
||||
#! - name: Setup tmate session
|
||||
#! uses: mxschmitt/action-tmate@v3
|
||||
- uses: actions/setup-dotnet@v4
|
||||
if: inputs.plugin == 'rabbit'
|
||||
with:
|
||||
dotnet-version: '3.1.x'
|
||||
- name: deps/amqp10_client SETUP
|
||||
if: inputs.plugin == 'amqp10_client'
|
||||
run: |
|
||||
# reduce sandboxing so that activemq works
|
||||
cat << EOF >> user.bazelrc
|
||||
build --strategy=TestRunner=local
|
||||
EOF
|
||||
- name: deps/rabbit SETUP
|
||||
if: inputs.plugin == 'rabbit'
|
||||
run: |
|
||||
# reduce sandboxing so that maven works
|
||||
cat << EOF >> user.bazelrc
|
||||
build --strategy=TestRunner=local
|
||||
EOF
|
||||
- name: deps/rabbitmq_amqp1_0 SETUP
|
||||
if: inputs.plugin == 'rabbitmq_amqp1_0'
|
||||
run: |
|
||||
cat << EOF >> user.bazelrc
|
||||
build --strategy=TestRunner=local
|
||||
EOF
|
||||
- name: deps/rabbitmq_auth_backend_ldap SETUP
|
||||
if: inputs.plugin == 'rabbitmq_auth_backend_ldap'
|
||||
run: |
|
||||
sudo apt-get update && \
|
||||
sudo apt-get install -y \
|
||||
apparmor-utils \
|
||||
ldap-utils \
|
||||
slapd
|
||||
|
||||
sudo aa-complain `which slapd`
|
||||
|
||||
cat << EOF >> user.bazelrc
|
||||
build --strategy=TestRunner=local
|
||||
EOF
|
||||
- name: deps/rabbitmq_mqtt SETUP
|
||||
if: inputs.plugin == 'rabbitmq_mqtt'
|
||||
run: |
|
||||
cat << EOF >> user.bazelrc
|
||||
build --strategy=TestRunner=local
|
||||
EOF
|
||||
- name: deps/rabbitmq_peer_discovery_consul SETUP
|
||||
if: inputs.plugin == 'rabbitmq_peer_discovery_consul'
|
||||
run: |
|
||||
cat << EOF >> user.bazelrc
|
||||
build --strategy=TestRunner=local
|
||||
EOF
|
||||
- name: deps/rabbitmq_peer_discovery_etcd SETUP
|
||||
if: inputs.plugin == 'rabbitmq_peer_discovery_etcd'
|
||||
run: |
|
||||
sudo apt-get update && \
|
||||
sudo apt-get install -y \
|
||||
daemonize
|
||||
- name: deps/rabbitmq_stream SETUP
|
||||
if: inputs.plugin == 'rabbitmq_stream'
|
||||
run: |
|
||||
cat << EOF >> user.bazelrc
|
||||
build --strategy=TestRunner=local
|
||||
EOF
|
||||
- name: deps/rabbitmq_stream_management SETUP
|
||||
if: inputs.plugin == 'rabbitmq_stream_management'
|
||||
run: |
|
||||
cat << EOF >> user.bazelrc
|
||||
build --strategy=TestRunner=local
|
||||
EOF
|
||||
- name: deps/rabbitmq_tracing SETUP
|
||||
if: inputs.plugin == 'rabbitmq_tracing'
|
||||
run: |
|
||||
cat << EOF >> user.bazelrc
|
||||
build --strategy=TestRunner=local
|
||||
EOF
|
||||
- name: COMPUTE TESTS IN SHARD
|
||||
id: shard
|
||||
run: |
|
||||
bazelisk cquery \
|
||||
'tests(//deps/${{ inputs.plugin }}/...) except attr("tags", "manual|mixed-version-cluster", //deps/...)' \
|
||||
--output=label \
|
||||
| awk '{print $1;}' > tests.log
|
||||
split -da 3 -l $((`wc -l < tests.log`/${{ inputs.shard_count }})) tests.log shard
|
||||
printf -v padded_index "%03d" ${{ inputs.shard_index }}
|
||||
echo "file=shard$padded_index" | tee -a $GITHUB_OUTPUT
|
||||
- name: RUN TESTS
|
||||
if: inputs.plugin != 'rabbitmq_peer_discovery_aws'
|
||||
run: |
|
||||
echo "Tests in shard:"
|
||||
cat ${{ steps.shard.outputs.file }}
|
||||
echo ""
|
||||
|
||||
## WARNING:
|
||||
## secrets must not be set in --test_env or --action_env,
|
||||
## or otherwise logs must not be saved as artifacts.
|
||||
## rabbit_ct_helpers or other code may log portions of the
|
||||
## env vars and leak them
|
||||
|
||||
bazelisk test $(< ${{ steps.shard.outputs.file }}) \
|
||||
--test_env RABBITMQ_METADATA_STORE=${{ matrix.metadata_store }} \
|
||||
--build_tests_only \
|
||||
--verbose_failures
|
||||
- name: UPLOAD TEST LOGS
|
||||
if: always()
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: bazel-testlogs-${{ inputs.plugin }}-${{ inputs.shard_index }}-${{ matrix.erlang_version }}-${{ matrix.metadata_store }}
|
||||
path: |
|
||||
bazel-testlogs/deps/${{ inputs.plugin }}/*
|
|
@ -2,75 +2,76 @@ name: Test
|
|||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
- v3.12.x
|
||||
- v3.11.x
|
||||
- v3.10.x
|
||||
- v3.9.x
|
||||
- v3.8.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:
|
||||
- 25_0
|
||||
- 26
|
||||
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: |
|
||||
if [ -n "${{ secrets.BUILDBUDDY_API_KEY }}" ]; then
|
||||
mkdir local-bin/
|
||||
curl -L https://carvel.dev/install.sh | K14SIO_INSTALL_BIN_DIR=local-bin bash
|
||||
make actions-workflows YTT=$PWD/local-bin/ytt
|
||||
git diff --exit-code
|
||||
- name: COMPUTE REPO CACHE KEY
|
||||
id: repo-cache-key
|
||||
run: |
|
||||
echo "value=bazel-repo-cache-${{ hashFiles('MODULE.bazel') }}" | tee -a $GITHUB_OUTPUT
|
||||
- name: AUTHENTICATE TO GOOGLE CLOUD
|
||||
uses: google-github-actions/auth@v2.1.2
|
||||
with:
|
||||
credentials_json: ${{ secrets.REMOTE_CACHE_CREDENTIALS_JSON }}
|
||||
- name: REPO CACHE
|
||||
id: cache
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
key: ${{ steps.repo-cache-key.outputs.value }}
|
||||
path: /home/runner/repo-cache/
|
||||
- name: PRIME CACHE
|
||||
if: steps.cache.outputs.cache-hit != 'true'
|
||||
run: |
|
||||
if [ -n "${{ secrets.REMOTE_CACHE_BUCKET_NAME }}" ]; then
|
||||
cat << EOF >> user.bazelrc
|
||||
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
|
||||
|
||||
<<<<<<< HEAD
|
||||
bazelisk info release
|
||||
#! - name: Setup tmate session
|
||||
#! uses: mxschmitt/action-tmate@v3
|
||||
- name: RUN TESTS
|
||||
run: |
|
||||
sudo sysctl -w net.ipv4.tcp_keepalive_time=60
|
||||
sudo ethtool -K eth0 tso off gso off gro off tx off rx off lro off
|
||||
bazelisk test //... \
|
||||
--config=rbe-${{ matrix.otp_version_id }} \
|
||||
--test_tag_filters=-aws,-docker,-mixed-version-cluster \
|
||||
--build_tests_only \
|
||||
--verbose_failures
|
||||
summary-test:
|
||||
needs:
|
||||
- test
|
||||
=======
|
||||
bazelisk cquery \
|
||||
'tests(//...) except attr("tags", "manual|mixed-version-cluster", //deps/...)' \
|
||||
--output=label
|
||||
|
@ -95,13 +96,6 @@ jobs:
|
|||
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
|
||||
|
@ -143,7 +137,6 @@ jobs:
|
|||
- test-amqp10_client
|
||||
- test-amqp10_common
|
||||
- test-amqp_client
|
||||
- test-oauth2_client
|
||||
- test-rabbit_common
|
||||
- test-rabbitmq_ct_client_helpers
|
||||
- test-rabbitmq_ct_helpers
|
||||
|
@ -162,7 +155,6 @@ jobs:
|
|||
- test-amqp10_client
|
||||
- test-amqp10_common
|
||||
- test-amqp_client
|
||||
- test-oauth2_client
|
||||
- test-rabbit_common
|
||||
- test-rabbitmq_ct_client_helpers
|
||||
- test-rabbitmq_ct_helpers
|
||||
|
@ -181,7 +173,6 @@ jobs:
|
|||
- test-amqp10_client
|
||||
- test-amqp10_common
|
||||
- test-amqp_client
|
||||
- test-oauth2_client
|
||||
- test-rabbit_common
|
||||
- test-rabbitmq_ct_client_helpers
|
||||
- test-rabbitmq_ct_helpers
|
||||
|
@ -200,7 +191,6 @@ jobs:
|
|||
- test-amqp10_client
|
||||
- test-amqp10_common
|
||||
- test-amqp_client
|
||||
- test-oauth2_client
|
||||
- test-rabbit_common
|
||||
- test-rabbitmq_ct_client_helpers
|
||||
- test-rabbitmq_ct_helpers
|
||||
|
@ -219,7 +209,6 @@ jobs:
|
|||
- test-amqp10_client
|
||||
- test-amqp10_common
|
||||
- test-amqp_client
|
||||
- test-oauth2_client
|
||||
- test-rabbit_common
|
||||
- test-rabbitmq_ct_client_helpers
|
||||
- test-rabbitmq_ct_helpers
|
||||
|
@ -238,7 +227,6 @@ jobs:
|
|||
- test-amqp10_client
|
||||
- test-amqp10_common
|
||||
- test-amqp_client
|
||||
- test-oauth2_client
|
||||
- test-rabbit_common
|
||||
- test-rabbitmq_ct_client_helpers
|
||||
- test-rabbitmq_ct_helpers
|
||||
|
@ -257,7 +245,6 @@ jobs:
|
|||
- test-amqp10_client
|
||||
- test-amqp10_common
|
||||
- test-amqp_client
|
||||
- test-oauth2_client
|
||||
- test-rabbit_common
|
||||
- test-rabbitmq_ct_client_helpers
|
||||
- test-rabbitmq_ct_helpers
|
||||
|
@ -276,7 +263,6 @@ jobs:
|
|||
- test-amqp10_client
|
||||
- test-amqp10_common
|
||||
- test-amqp_client
|
||||
- test-oauth2_client
|
||||
- test-rabbit_common
|
||||
- test-rabbitmq_ct_client_helpers
|
||||
- test-rabbitmq_ct_helpers
|
||||
|
@ -295,7 +281,6 @@ jobs:
|
|||
- test-amqp10_client
|
||||
- test-amqp10_common
|
||||
- test-amqp_client
|
||||
- test-oauth2_client
|
||||
- test-rabbit_common
|
||||
- test-rabbitmq_ct_client_helpers
|
||||
- test-rabbitmq_ct_helpers
|
||||
|
@ -314,7 +299,6 @@ jobs:
|
|||
- test-amqp10_client
|
||||
- test-amqp10_common
|
||||
- test-amqp_client
|
||||
- test-oauth2_client
|
||||
- test-rabbit_common
|
||||
- test-rabbitmq_ct_client_helpers
|
||||
- test-rabbitmq_ct_helpers
|
||||
|
@ -334,24 +318,6 @@ jobs:
|
|||
repo_cache_key: ${{ needs.check-workflow.outputs.repo_cache_key }}
|
||||
plugin: rabbitmq_cli
|
||||
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
|
||||
|
@ -712,24 +678,6 @@ jobs:
|
|||
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
|
||||
|
@ -1041,13 +989,11 @@ jobs:
|
|||
- 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
|
||||
|
@ -1068,7 +1014,6 @@ jobs:
|
|||
- 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
|
||||
|
@ -1097,9 +1042,10 @@ jobs:
|
|||
- test-rabbit-8
|
||||
- test-rabbit-9
|
||||
- test-rabbitmq_cli
|
||||
>>>>>>> bdd18ed800 (Add back rabbitmq_cli tests to CI)
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: SUMMARY
|
||||
run: |
|
||||
echo "SUCCESS"
|
||||
cat << 'EOF' | jq -e 'map(.result == "success") | all(.)'
|
||||
${{ toJson(needs) }}
|
||||
EOF
|
||||
|
|
|
@ -1,89 +0,0 @@
|
|||
name: Update Elixir Patch Versions for Bazel Based Workflows
|
||||
on:
|
||||
schedule:
|
||||
- cron: '0 3 * * *'
|
||||
workflow_dispatch:
|
||||
jobs:
|
||||
update-toolchains:
|
||||
name: Update Elixir Versions
|
||||
runs-on: ubuntu-22.04
|
||||
strategy:
|
||||
max-parallel: 1
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
- elixir_version: "1.13"
|
||||
name: '1_13'
|
||||
- elixir_version: "1.14"
|
||||
name: '1_14'
|
||||
timeout-minutes: 10
|
||||
env:
|
||||
branch: bump-elixir-${{ matrix.elixir_version }}
|
||||
steps:
|
||||
- name: CHECKOUT REPOSITORY
|
||||
uses: actions/checkout@v3
|
||||
- name: FAIL IF THE PR ALREADY EXISTS
|
||||
id: check-for-branch
|
||||
run: |
|
||||
set +e
|
||||
if git ls-remote --exit-code --heads origin ${{ env.branch }}; then
|
||||
echo "Branch ${{ env.branch }} already exits"
|
||||
exit 1
|
||||
fi
|
||||
- name: DETERMINE LATEST PATCH & SHA
|
||||
id: fetch-version
|
||||
run: |
|
||||
TAG_NAME=$(curl -s GET https://api.github.com/repos/elixir-lang/elixir/tags?per_page=100 \
|
||||
| jq -r 'map(select(.name | contains("v${{ matrix.elixir_version }}"))) | first | .name')
|
||||
|
||||
if [[ -z "${TAG_NAME}" ]]; then
|
||||
echo "Failed to determine latest TAG_NAME for v${{ matrix.elixir_version }}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
ARCHIVE_URL="https://github.com/elixir-lang/elixir/archive/${TAG_NAME}.tar.gz"
|
||||
wget --continue --quiet --output-document="/tmp/elixir.tar.gz" "${ARCHIVE_URL}" && \
|
||||
SHA="$(shasum -a 256 "/tmp/elixir.tar.gz" | awk '{print $1}')"
|
||||
|
||||
if [[ -z "${SHA}" ]]; then
|
||||
echo "Failed to determine SHA for ${TAG_NAME}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "VERSION=${TAG_NAME#v}" >> $GITHUB_OUTPUT
|
||||
echo "SHA=${SHA}" >> $GITHUB_OUTPUT
|
||||
- name: MODIFY VERSION FILE
|
||||
run: |
|
||||
sudo npm install --global --silent @bazel/buildozer
|
||||
|
||||
OLD_SHA="$(cat MODULE.bazel | buildozer 'print sha256' -:${{ matrix.name }})"
|
||||
OLD_VERSION="$(cat MODULE.bazel | buildozer 'print version' -:${{ matrix.name }})"
|
||||
|
||||
echo "$(cat MODULE.bazel | buildozer 'set sha256 "${{ steps.fetch-version.outputs.SHA }}"' -:${{ matrix.name }})" > MODULE.bazel
|
||||
echo "$(cat MODULE.bazel | buildozer 'set version "${{ steps.fetch-version.outputs.VERSION }}"' -:${{ matrix.name }})" > MODULE.bazel
|
||||
|
||||
sed -i"_orig" "s/${OLD_SHA}/${{ steps.fetch-version.outputs.SHA }}/" WORKSPACE
|
||||
sed -i"_orig" "s/${OLD_VERSION}/${{ steps.fetch-version.outputs.VERSION }}/" WORKSPACE
|
||||
rm *_orig
|
||||
|
||||
set -x
|
||||
git diff
|
||||
- name: CREATE PULL REQUEST
|
||||
uses: peter-evans/create-pull-request@v5.0.0
|
||||
with:
|
||||
token: ${{ secrets.REPO_SCOPED_TOKEN }}
|
||||
committer: GitHub <noreply@github.com>
|
||||
author: GitHub <noreply@github.com>
|
||||
title: Adopt elixir ${{ steps.fetch-version.outputs.VERSION }}
|
||||
body: >
|
||||
Automated changes created by
|
||||
${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
|
||||
using the [create-pull-request](https://github.com/peter-evans/create-pull-request)
|
||||
GitHub action in the ${{ github.workflow }} workflow.
|
||||
commit-message: |
|
||||
Adopt elixir ${{ steps.fetch-version.outputs.VERSION }}
|
||||
labels: |
|
||||
backport-v3.11.x
|
||||
backport-v3.10.x
|
||||
branch: ${{ env.branch }}
|
||||
delete-branch: true
|
|
@ -1,168 +0,0 @@
|
|||
name: Update OTP Patch Versions for Bazel Based Workflows
|
||||
on:
|
||||
schedule:
|
||||
- cron: '0 3 * * *'
|
||||
workflow_dispatch:
|
||||
jobs:
|
||||
update-toolchains:
|
||||
name: Update OTP Versions
|
||||
runs-on: ubuntu-22.04
|
||||
strategy:
|
||||
max-parallel: 1
|
||||
fail-fast: false
|
||||
matrix:
|
||||
erlang_version:
|
||||
- "24.3"
|
||||
- "25.0"
|
||||
- "25.1"
|
||||
- "25.2"
|
||||
- "25.3"
|
||||
- "26.1"
|
||||
include:
|
||||
- erlang_version: "24.3"
|
||||
name: '24'
|
||||
branch: v3.10.x
|
||||
labels: |
|
||||
backport-v3.9.x
|
||||
- erlang_version: "25.0"
|
||||
name: '25_0'
|
||||
branch: main
|
||||
labels: |
|
||||
backport-v3.11.x
|
||||
- erlang_version: "25.1"
|
||||
name: '25_1'
|
||||
branch: main
|
||||
labels: |
|
||||
backport-v3.11.x
|
||||
backport-v3.10.x
|
||||
- erlang_version: "25.2"
|
||||
name: '25_2'
|
||||
branch: main
|
||||
labels: |
|
||||
backport-v3.11.x
|
||||
backport-v3.10.x
|
||||
- erlang_version: "25.3"
|
||||
name: '25_3'
|
||||
branch: main
|
||||
labels: |
|
||||
backport-v3.12.x
|
||||
backport-v3.11.x
|
||||
backport-v3.10.x
|
||||
- erlang_version: "26.1"
|
||||
name: '26_1'
|
||||
branch: main
|
||||
labels: |
|
||||
backport-v3.12.x
|
||||
backport-v3.11.x
|
||||
timeout-minutes: 10
|
||||
env:
|
||||
branch: bump-otp-${{ matrix.erlang_version }}
|
||||
steps:
|
||||
- name: CHECKOUT REPOSITORY
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
ref: ${{ matrix.branch }}
|
||||
- name: FAIL IF THE PR ALREADY EXISTS
|
||||
id: check-for-branch
|
||||
run: |
|
||||
set +e
|
||||
if git ls-remote --exit-code --heads origin ${{ env.branch }}; then
|
||||
echo "Branch ${{ env.branch }} already exits"
|
||||
exit 1
|
||||
fi
|
||||
- name: DETERMINE LATEST PATCH & SHA
|
||||
id: fetch-version
|
||||
run: |
|
||||
TAG_NAME=$(curl -s GET https://api.github.com/repos/erlang/otp/tags?per_page=100 \
|
||||
| jq -r 'map(select(.name | contains("OTP-${{ matrix.erlang_version }}"))) | first | .name')
|
||||
VERSION=${TAG_NAME#OTP-}
|
||||
|
||||
if [[ -z "${VERSION}" ]]; then
|
||||
echo "Failed to determine latest VERSION for OTP-${{ matrix.erlang_version }}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
ARCHIVE_RBE_URL="https://github.com/erlang/otp/releases/download/${TAG_NAME}/otp_src_${VERSION}.tar.gz"
|
||||
wget --continue --quiet --output-document="/tmp/otp_src_${VERSION}.tar.gz" "${ARCHIVE_RBE_URL}"
|
||||
SHA="$(shasum -a 256 "/tmp/otp_src_${VERSION}.tar.gz" | awk '{print $1}')"
|
||||
|
||||
if [[ -z "${SHA}" ]]; then
|
||||
echo "Failed to determine SHA for ${TAG_NAME}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
ARCHIVE_OCI_URL="https://github.com/erlang/otp/archive/OTP-${VERSION}.tar.gz"
|
||||
wget --continue --quiet --output-document="/tmp/OTP-${VERSION}.tar.gz" "${ARCHIVE_OCI_URL}"
|
||||
SHA2="$(shasum -a 256 "/tmp/OTP-${VERSION}.tar.gz" | awk '{print $1}')"
|
||||
|
||||
if [[ -z "${SHA2}" ]]; then
|
||||
echo "Failed to determine SHA2 for ${TAG_NAME}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "VERSION=${VERSION}" >> $GITHUB_OUTPUT
|
||||
echo "SHA=${SHA}" >> $GITHUB_OUTPUT
|
||||
echo "SHA2=${SHA2}" >> $GITHUB_OUTPUT
|
||||
- name: MODIFY VERSION FILE
|
||||
run: |
|
||||
sudo npm install --global --silent @bazel/buildozer
|
||||
|
||||
OLD_SHA="$(cat MODULE.bazel | buildozer 'print sha256' -:${{ matrix.name }})"
|
||||
OLD_VERSION="$(cat MODULE.bazel | buildozer 'print version' -:${{ matrix.name }})"
|
||||
|
||||
echo "$(cat MODULE.bazel | buildozer 'set sha256 "${{ steps.fetch-version.outputs.SHA }}"' -:${{ matrix.name }})" > MODULE.bazel
|
||||
echo "$(cat MODULE.bazel | buildozer 'set version "${{ steps.fetch-version.outputs.VERSION }}"' -:${{ matrix.name }})" > MODULE.bazel
|
||||
|
||||
echo "$(cat WORKSPACE | buildozer 'set downloaded_file_path "OTP-${{ steps.fetch-version.outputs.VERSION }}.tar.gz"' -:otp_src_${{ matrix.name }})" > WORKSPACE
|
||||
echo "$(cat WORKSPACE | buildozer 'set urls ["https://github.com/erlang/otp/archive/OTP-${{ steps.fetch-version.outputs.VERSION }}.tar.gz"]' -:otp_src_${{ matrix.name }})" > WORKSPACE
|
||||
echo "$(cat WORKSPACE | buildozer 'set sha256 "${{ steps.fetch-version.outputs.SHA2 }}"' -:otp_src_${{ matrix.name }})" > WORKSPACE
|
||||
|
||||
cat << EOF > replacer.mjs
|
||||
import { readFile, writeFile } from 'node:fs/promises';
|
||||
let [_node, _script, s, p, r] = process.argv;
|
||||
let source = await readFile(s, 'utf-8');
|
||||
let pattern = await readFile(p, 'utf-8');
|
||||
let replacement = await readFile(r, 'utf-8');
|
||||
if (!source.includes(pattern)) process.exit(1);
|
||||
let updated = source.replace(pattern, replacement);
|
||||
await writeFile(s, updated);
|
||||
EOF
|
||||
|
||||
cat << EOF > old.txt
|
||||
internal_erlang_from_github_release(
|
||||
name = "${{ matrix.name }}",
|
||||
sha256 = "${OLD_SHA}",
|
||||
version = "${OLD_VERSION}",
|
||||
),
|
||||
EOF
|
||||
|
||||
cat << EOF > new.txt
|
||||
internal_erlang_from_github_release(
|
||||
name = "${{ matrix.name }}",
|
||||
sha256 = "${{ steps.fetch-version.outputs.SHA }}",
|
||||
version = "${{ steps.fetch-version.outputs.VERSION }}",
|
||||
),
|
||||
EOF
|
||||
|
||||
node replacer.mjs WORKSPACE old.txt new.txt
|
||||
rm replacer.mjs old.txt new.txt
|
||||
|
||||
set -x
|
||||
git diff
|
||||
- name: CREATE PULL REQUEST
|
||||
uses: peter-evans/create-pull-request@v5.0.0
|
||||
with:
|
||||
token: ${{ secrets.REPO_SCOPED_TOKEN }}
|
||||
committer: GitHub <noreply@github.com>
|
||||
author: GitHub <noreply@github.com>
|
||||
title: Adopt otp ${{ steps.fetch-version.outputs.VERSION }}
|
||||
body: >
|
||||
Automated changes created by
|
||||
${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
|
||||
using the [create-pull-request](https://github.com/peter-evans/create-pull-request)
|
||||
GitHub action in the ${{ github.workflow }} workflow.
|
||||
commit-message: |
|
||||
Adopt otp ${{ steps.fetch-version.outputs.VERSION }}
|
||||
labels: ${{ matrix.labels }}
|
||||
branch: ${{ env.branch }}
|
||||
delete-branch: true
|
107
MODULE.bazel
107
MODULE.bazel
|
@ -74,63 +74,6 @@ erlang_config = use_extension(
|
|||
"erlang_config",
|
||||
)
|
||||
|
||||
erlang_config.internal_erlang_from_github_release(
|
||||
name = "24",
|
||||
sha256 = "8444ff9abe23aea268adbb95463561fc222c965052d35d7c950b17be01c3ad82",
|
||||
version = "24.3.4.6",
|
||||
extra_make_opts = ["-j 4"],
|
||||
)
|
||||
|
||||
erlang_config.internal_erlang_from_github_release(
|
||||
name = "25_0",
|
||||
sha256 = "8fc707f92a124b2aeb0f65dcf9ac8e27b2a305e7bcc4cc1b2fdf770eec0165bf",
|
||||
version = "25.0.4",
|
||||
extra_make_opts = ["-j 4"],
|
||||
)
|
||||
|
||||
erlang_config.internal_erlang_from_github_release(
|
||||
name = "25_1",
|
||||
sha256 = "1cd2fbe225a412009cda9b1fd9f3fff0293e75e3020daa48abf68721471e91eb",
|
||||
version = "25.1.2.1",
|
||||
extra_make_opts = ["-j 4"],
|
||||
)
|
||||
|
||||
erlang_config.internal_erlang_from_github_release(
|
||||
name = "25_2",
|
||||
sha256 = "f4d9f11d67ba478a053d72e635a44722a975603fe1284063fdf38276366bc61c",
|
||||
version = "25.2.3",
|
||||
extra_make_opts = ["-j 4"],
|
||||
)
|
||||
|
||||
erlang_config.internal_erlang_from_github_release(
|
||||
name = "25_3",
|
||||
sha256 = "0a7338415c8eb6ae25664bfd1a10631c293838ef072665223a524831b823a8b7",
|
||||
version = "25.3.2.10",
|
||||
extra_make_opts = ["-j 4"],
|
||||
)
|
||||
|
||||
erlang_config.internal_erlang_from_github_release(
|
||||
name = "26_1",
|
||||
sha256 = "f1074cf3a54f1f87e66027d5abebab2fa76a0243453fa58bc5f30d0ce0313921",
|
||||
version = "26.1.2",
|
||||
extra_make_opts = ["-j 4"],
|
||||
)
|
||||
|
||||
erlang_config.internal_erlang_from_github_release(
|
||||
name = "26_2",
|
||||
extra_make_opts = ["-j 4"],
|
||||
sha256 = "de155c4ad9baab2b9e6c96dbd03bf955575a04dd6feee9c08758beb28484c9f6",
|
||||
version = "26.2.5",
|
||||
)
|
||||
|
||||
erlang_config.internal_erlang_from_http_archive(
|
||||
name = "git_master",
|
||||
strip_prefix = "otp-master",
|
||||
url = "https://github.com/erlang/otp/archive/refs/heads/master.tar.gz",
|
||||
version = "27",
|
||||
extra_make_opts = ["-j 4"],
|
||||
)
|
||||
|
||||
use_repo(
|
||||
erlang_config,
|
||||
"erlang_config",
|
||||
|
@ -141,48 +84,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//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(
|
||||
|
@ -480,21 +388,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",
|
||||
|
|
71
Makefile
71
Makefile
|
@ -559,3 +559,74 @@ install-windows-docs: install-windows-erlapp
|
|||
*) mv "$$file" "$$file.txt" ;; \
|
||||
esac; \
|
||||
done
|
||||
|
||||
INTERNAL_DEPS := \
|
||||
amqp10_client \
|
||||
amqp10_common \
|
||||
amqp_client \
|
||||
rabbit_common \
|
||||
rabbitmq_ct_client_helpers \
|
||||
rabbitmq_ct_helpers \
|
||||
rabbitmq_stream_common \
|
||||
trust_store_http
|
||||
|
||||
TIER1_PLUGINS := \
|
||||
rabbitmq_amqp1_0 \
|
||||
rabbitmq_auth_backend_cache \
|
||||
rabbitmq_auth_backend_http \
|
||||
rabbitmq_auth_backend_ldap \
|
||||
rabbitmq_auth_backend_oauth2 \
|
||||
rabbitmq_auth_mechanism_ssl \
|
||||
rabbitmq_aws \
|
||||
rabbitmq_consistent_hash_exchange \
|
||||
rabbitmq_event_exchange \
|
||||
rabbitmq_federation \
|
||||
rabbitmq_federation_management \
|
||||
rabbitmq_jms_topic_exchange \
|
||||
rabbitmq_management \
|
||||
rabbitmq_management_agent \
|
||||
rabbitmq_mqtt \
|
||||
rabbitmq_peer_discovery_aws \
|
||||
rabbitmq_peer_discovery_common \
|
||||
rabbitmq_peer_discovery_consul \
|
||||
rabbitmq_peer_discovery_etcd \
|
||||
rabbitmq_peer_discovery_k8s \
|
||||
rabbitmq_prometheus \
|
||||
rabbitmq_random_exchange \
|
||||
rabbitmq_recent_history_exchange \
|
||||
rabbitmq_sharding \
|
||||
rabbitmq_shovel \
|
||||
rabbitmq_shovel_management \
|
||||
rabbitmq_stomp \
|
||||
rabbitmq_stream \
|
||||
rabbitmq_stream_management \
|
||||
rabbitmq_top \
|
||||
rabbitmq_tracing \
|
||||
rabbitmq_trust_store \
|
||||
rabbitmq_web_dispatch \
|
||||
rabbitmq_web_mqtt \
|
||||
rabbitmq_web_mqtt_examples \
|
||||
rabbitmq_web_stomp \
|
||||
rabbitmq_web_stomp_examples
|
||||
|
||||
YTT ?= ytt
|
||||
|
||||
actions-workflows: .github/workflows/test.yaml .github/workflows/test-mixed-versions.yaml
|
||||
|
||||
.PHONY: .github/workflows/test.yaml .github/workflows/test-mixed-versions.yaml
|
||||
|
||||
.github/workflows/test.yaml: .github/workflows/templates/test.template.yaml
|
||||
$(gen_verbose) $(YTT) \
|
||||
--file $< \
|
||||
--data-value-yaml internal_deps=[$(subst $(space),$(comma),$(foreach s,$(INTERNAL_DEPS),"$s"))] \
|
||||
--data-value-yaml tier1_plugins=[$(subst $(space),$(comma),$(foreach s,$(TIER1_PLUGINS),"$s"))] \
|
||||
| sed 's/^true:/on:/' \
|
||||
| sed 's/pull_request: null/pull_request:/'> $@
|
||||
|
||||
.github/workflows/test-mixed-versions.yaml: .github/workflows/templates/test-mixed-versions.template.yaml
|
||||
$(gen_verbose) $(YTT) \
|
||||
--file $< \
|
||||
--data-value-yaml internal_deps=[$(subst $(space),$(comma),$(foreach s,$(INTERNAL_DEPS),"$s"))] \
|
||||
--data-value-yaml tier1_plugins=[$(subst $(space),$(comma),$(foreach s,$(TIER1_PLUGINS),"$s"))] \
|
||||
| sed 's/^true:/on:/' \
|
||||
| sed 's/pull_request: null/pull_request:/'> $@
|
||||
|
|
55
WORKSPACE
55
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.10.tar.gz",
|
||||
sha256 = "be76f05bd38c60df056ed35f01085f088474a1942ce1778c2217e5658d435b35",
|
||||
urls = ["https://github.com/erlang/otp/archive/OTP-25.3.2.10.tar.gz"],
|
||||
)
|
||||
|
||||
http_file(
|
||||
name = "otp_src_26_1",
|
||||
downloaded_file_path = "OTP-26.1.2.tar.gz",
|
||||
sha256 = "56042d53b30863d4e720ebf463d777f0502f8c986957fc3a9e63dae870bbafe0",
|
||||
urls = ["https://github.com/erlang/otp/archive/OTP-26.1.2.tar.gz"],
|
||||
)
|
||||
|
||||
http_file(
|
||||
name = "otp_src_26_2",
|
||||
downloaded_file_path = "OTP-26.2.5.tar.gz",
|
||||
sha256 = "d34b409cb5968ae47dd5a0c4f85b925d5601898d90788bbb08d514964a3a141d",
|
||||
urls = ["https://github.com/erlang/otp/archive/OTP-26.2.5.tar.gz"],
|
||||
)
|
||||
|
||||
new_git_repository(
|
||||
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",
|
||||
)
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -1,75 +0,0 @@
|
|||
package(
|
||||
default_visibility = ["//visibility:public"],
|
||||
)
|
||||
|
||||
platform(
|
||||
name = "erlang_internal_platform",
|
||||
constraint_values = [
|
||||
"@erlang_config//:erlang_internal",
|
||||
"@elixir_config//:elixir_internal",
|
||||
],
|
||||
parents = ["@rbe//config:platform"],
|
||||
)
|
||||
|
||||
platform(
|
||||
name = "erlang_linux_24_platform",
|
||||
constraint_values = [
|
||||
"@erlang_config//:erlang_24",
|
||||
"@elixir_config//:elixir_1_13",
|
||||
],
|
||||
parents = ["@rbe//config:platform"],
|
||||
)
|
||||
|
||||
platform(
|
||||
name = "erlang_linux_25_0_platform",
|
||||
constraint_values = [
|
||||
"@erlang_config//:erlang_25_0",
|
||||
"@elixir_config//:elixir_1_14",
|
||||
],
|
||||
parents = ["@rbe//config:platform"],
|
||||
)
|
||||
|
||||
platform(
|
||||
name = "erlang_linux_25_1_platform",
|
||||
constraint_values = [
|
||||
"@erlang_config//:erlang_25_1",
|
||||
"@elixir_config//:elixir_1_14",
|
||||
],
|
||||
parents = ["@rbe//config:platform"],
|
||||
)
|
||||
|
||||
platform(
|
||||
name = "erlang_linux_25_2_platform",
|
||||
constraint_values = [
|
||||
"@erlang_config//:erlang_25_2",
|
||||
"@elixir_config//:elixir_1_14",
|
||||
],
|
||||
parents = ["@rbe//config:platform"],
|
||||
)
|
||||
|
||||
platform(
|
||||
name = "erlang_linux_25_3_platform",
|
||||
constraint_values = [
|
||||
"@erlang_config//:erlang_25_3",
|
||||
"@elixir_config//:elixir_1_14",
|
||||
],
|
||||
parents = ["@rbe//config:platform"],
|
||||
)
|
||||
|
||||
platform(
|
||||
name = "erlang_linux_26_1_platform",
|
||||
constraint_values = [
|
||||
"@erlang_config//:erlang_26_1",
|
||||
"@elixir_config//:elixir_1_15",
|
||||
],
|
||||
parents = ["@rbe//config:platform"],
|
||||
)
|
||||
|
||||
platform(
|
||||
name = "erlang_linux_git_master_platform",
|
||||
constraint_values = [
|
||||
"@erlang_config//:erlang_27_unknown",
|
||||
"@elixir_config//:elixir_1_15",
|
||||
],
|
||||
parents = ["@rbe//config:platform"],
|
||||
)
|
Loading…
Reference in New Issue