summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJean-Sébastien Pédron <jean-sebastien@rabbitmq.com>2020-05-19 19:45:45 +0200
committerJean-Sébastien Pédron <jean-sebastien@rabbitmq.com>2020-05-19 20:33:23 +0200
commit45976d4fcc45aa4f0dfca217eaa40f4a685473dd (patch)
tree77ee1998a826c89b1eaee754f10b77c813c4109a
parent4eeadf827c0361d662ceeedc22b12268325225b1 (diff)
downloadrabbitmq-server-git-backport-github-actions-v3.7.x.tar.gz
GitHub Actions: Initial workflowsbackport-github-actions-v3.7.x
-rw-r--r--.github/workflows/test-erlang-otp-21.3.yaml5606
-rw-r--r--.github/workflows/test-erlang-otp-22.3.yaml5606
2 files changed, 11212 insertions, 0 deletions
diff --git a/.github/workflows/test-erlang-otp-21.3.yaml b/.github/workflows/test-erlang-otp-21.3.yaml
new file mode 100644
index 0000000000..c7b3a24eb6
--- /dev/null
+++ b/.github/workflows/test-erlang-otp-21.3.yaml
@@ -0,0 +1,5606 @@
+# vim:sw=2:et:
+# https://help.github.com/en/actions/configuring-and-managing-workflows/configuring-a-workflow
+name: "Test - Erlang 21.3"
+on:
+ push:
+ repository_dispatch:
+ types:
+ - new-commit-to-dep-release-branch
+jobs:
+ # vim:sw=2:et:
+ checks:
+ name: checks
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ # https://github.com/marketplace/actions/setup-elixir
+ - name: CONFIGURE OTP & ELIXIR
+ uses: actions/setup-elixir@v1
+ with:
+ otp-version: 21.3
+ # https://github.com/elixir-lang/elixir/releases
+ elixir-version: 1.8.0
+ - name: CHECK RABBITMQ COMPONENTS
+ # https://github.community/t5/GitHub-Actions/How-can-I-set-an-expression-as-an-environment-variable-at/m-p/41804/highlight/true#M4751
+ id: ref
+ run: |
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ echo "::set-output name=branch_or_tag_name::$branch_or_tag_name"
+ make check-rabbitmq-components.mk base_rmq_ref=v3.7.x current_rmq_ref=$branch_or_tag_name
+ # https://help.github.com/en/actions/configuring-and-managing-workflows/caching-dependencies-to-speed-up-workflows
+ - name: CACHE DEPS
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-21.3_git-${{ github.sha }}_deps
+ - name: RESOLVE & COMPILE DEPS
+ run: |
+ make deps test-deps base_rmq_ref=v3.7.x current_rmq_ref=${{ steps.ref.outputs.branch_or_tag_name }}
+ echo "Capture versions of the RabbitMQ components used in this workflow..."
+ make rabbit-rabbitmq-deps.mk
+ mv rabbit-rabbitmq-deps.mk deps/
+ echo "Remove directories not used in the subsequent jobs..."
+ rm -fr deps/*/{.git,test}
+ - name: UPLOAD DEPS VERSIONS
+ uses: actions/upload-artifact@v2-preview
+ with:
+ name: rabbit-rabbitmq-deps.mk
+ path: deps/rabbit-rabbitmq-deps.mk
+ - name: CHECK CROSS REFERENCES
+ run: |
+ make xref base_rmq_ref=v3.7.x current_rmq_ref=${{ steps.ref.outputs.branch_or_tag_name }}
+ - name: COMPILE FOR TEST
+ run: |
+ make test-build base_rmq_ref=v3.7.x current_rmq_ref=${{ steps.ref.outputs.branch_or_tag_name }}
+ - name: CACHE SECONDARY UMBRELLAS
+ if: success() && 'oldest' == 'oldest'
+ uses: actions/cache@v1
+ with:
+ path: umbrellas
+ key: secondary-umbrellas-v3.7.0-erlang-21.3-rev3
+ - name: PREPARE SECONDARY UMBRELLA COPIES
+ if: success() && 'oldest' == 'oldest'
+ run: |
+ # ----------------------------------------------------------
+ # CAUTION:
+ # The same script must be copied to `03-CT_SUITE.yaml`. It is used to
+ # recreate the umbrellas if the cache restore fails.
+ # ----------------------------------------------------------
+ set -x
+ for version in v3.7.0; do
+ umbrella="umbrellas/$version"
+ if ! test -d "$umbrella" ||
+ ! make -C "$umbrella/deps/rabbit" test-dist; then
+ rm -rf "$umbrella"
+
+ # Fetch the master Umbrella; the final umbrellas are created from
+ # the master copy.
+ if ! test -d umbrellas/master; then
+ git config --global advice.detachedHead false
+ git clone \
+ https://github.com/rabbitmq/rabbitmq-public-umbrella.git \
+ umbrellas/master
+ make -C umbrellas/master co # To get RabbitMQ components.
+ fi
+
+ # We copy the master Umbrella and checkout the appropriate tag.
+ cp -a umbrellas/master "$umbrella"
+ git -C "$umbrella" checkout "v3.7.x"
+ make -C "$umbrella" up BRANCH="$version"
+ # To remove third-party deps which were checked out when the
+ # projects were on the `master` branch. Thus, possibly not the
+ # version pinning we expect. We update the Umbrella one last time
+ # to fetch the correct third-party deps.
+ make -C "$umbrella" clean-3rd-party-repos
+ make -C "$umbrella" up
+ make -C "$umbrella/deps/rabbit" test-dist
+ rm -fr "$umbrella"/deps/*/{.git,test} "$umbrella"/.git
+ fi
+ done
+ rm -fr umbrellas/master
+ # vim:sw=2:et:
+ dialyzer:
+ name: dialyzer
+ needs: [checks]
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ if: success() && 'oldest' == 'latest'
+ uses: actions/checkout@v2
+ # https://github.com/marketplace/actions/setup-elixir
+ - name: CONFIGURE OTP & ELIXIR
+ if: success() && 'oldest' == 'latest'
+ uses: actions/setup-elixir@v1
+ with:
+ otp-version: 21.3
+ # https://github.com/elixir-lang/elixir/releases
+ elixir-version: 1.8.0
+ - name: CACHE DEPS
+ if: success() && 'oldest' == 'latest'
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-21.3_git-${{ github.sha }}_deps
+ - name: CACHE DIALYZER PLT
+ if: success() && 'oldest' == 'latest'
+ uses: actions/cache@v1
+ with:
+ path: .rabbit.plt
+ key: plt-rabbit-erlang-21.3-g${{ github.sha }}
+ - name: RUN DIALYZER
+ if: success() && 'oldest' == 'latest'
+ run: |
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ make dialyze \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL=
+ # vim:sw=2:et:
+ eunit:
+ needs: [checks]
+ # https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#contexts
+ name: eunit
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ # https://github.com/marketplace/actions/setup-elixir
+ - name: CONFIGURE OTP & ELIXIR
+ uses: actions/setup-elixir@v1
+ with:
+ otp-version: 21.3
+ # https://github.com/elixir-lang/elixir/releases
+ elixir-version: 1.8.0
+ - name: CACHE DEPS
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-21.3_git-${{ github.sha }}_deps
+ - name: RUN TESTS
+ run: |
+ ! test -d ebin || touch ebin/*
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ make eunit \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1
+ # vim:sw=2:et:
+ ct-amqqueue_backward_compatibility:
+ needs: [checks]
+ # https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#contexts
+ name: ct-amqqueue_backward_compatibility
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ # https://github.com/marketplace/actions/setup-elixir
+ - name: CONFIGURE OTP & ELIXIR
+ uses: actions/setup-elixir@v1
+ with:
+ otp-version: 21.3
+ # https://github.com/elixir-lang/elixir/releases
+ elixir-version: 1.8.0
+ - name: CACHE DEPS
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-21.3_git-${{ github.sha }}_deps
+ - name: RUN TESTS
+ run: |
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ ! test -d ebin || touch ebin/*
+ make ct-amqqueue_backward_compatibility \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1
+ - name: CACHE SECONDARY UMBRELLAS
+ if: success() && 'oldest' == 'oldest'
+ uses: actions/cache@v1
+ with:
+ path: umbrellas
+ key: secondary-umbrellas-v3.7.0-erlang-21.3-rev3
+ - name: VERIFY SECONDARY UMBRELLA COPIES (in case of cache restore failure)
+ if: success() && 'oldest' == 'oldest'
+ run: |
+ set -x
+ for version in v3.7.0; do
+ umbrella="umbrellas/$version"
+ if ! test -d "$umbrella" ||
+ ! make -C "$umbrella/deps/rabbit" test-dist; then
+ rm -rf "$umbrella"
+
+ # Fetch the master Umbrella; the final umbrellas are created from
+ # the master copy.
+ if ! test -d umbrellas/master; then
+ git config --global advice.detachedHead false
+ git clone \
+ https://github.com/rabbitmq/rabbitmq-public-umbrella.git \
+ umbrellas/master
+ make -C umbrellas/master co # To get RabbitMQ components.
+ fi
+
+ # We copy the master Umbrella and checkout the appropriate tag.
+ cp -a umbrellas/master "$umbrella"
+ git -C "$umbrella" checkout "v3.7.x"
+ make -C "$umbrella" up BRANCH="$version"
+ # To remove third-party deps which were checked out when the
+ # projects were on the `master` branch. Thus, possibly not the
+ # version pinning we expect. We update the Umbrella one last time
+ # to fetch the correct third-party deps.
+ make -C "$umbrella" clean-3rd-party-repos
+ make -C "$umbrella" up
+ make -C "$umbrella/deps/rabbit" test-dist
+ rm -fr "$umbrella"/deps/*/{.git,test} "$umbrella"/.git
+ fi
+ done
+ rm -fr umbrellas/master
+ - name: RUN TESTS [mixed-versions]
+ if: success() && 'oldest' == 'oldest'
+ run: |
+ set -x
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ for umbrella in umbrellas/*; do
+ test -d "$umbrella"
+ printf '\n\033[1;32mMixing clusters with RabbitMQ %s\033[0m' \
+ $(basename "$umbrella")
+ make distclean-ct ct-amqqueue_backward_compatibility \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1 \
+ SECONDARY_UMBRELLA=$PWD/$umbrella \
+ RABBITMQ_FEATURE_FLAGS=
+ done
+ - name: ON FAILURE ARCHIVE TESTS LOGS
+ if: failure()
+ run: |
+ make ct-logs-archive
+ - name: ON FAILURE UPLOAD TESTS LOGS ARTIFACT
+ # https://github.com/marketplace/actions/upload-artifact
+ uses: actions/upload-artifact@v2-preview
+ if: failure()
+ with:
+ name: ct-amqqueue_backward_compatibility-logs
+ path: "*-ct-logs-*.tar.xz"
+ # vim:sw=2:et:
+ ct-authn_authz_context_propagation:
+ needs: [checks]
+ # https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#contexts
+ name: ct-authn_authz_context_propagation
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ # https://github.com/marketplace/actions/setup-elixir
+ - name: CONFIGURE OTP & ELIXIR
+ uses: actions/setup-elixir@v1
+ with:
+ otp-version: 21.3
+ # https://github.com/elixir-lang/elixir/releases
+ elixir-version: 1.8.0
+ - name: CACHE DEPS
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-21.3_git-${{ github.sha }}_deps
+ - name: RUN TESTS
+ run: |
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ ! test -d ebin || touch ebin/*
+ make ct-authn_authz_context_propagation \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1
+ - name: CACHE SECONDARY UMBRELLAS
+ if: success() && 'oldest' == 'oldest'
+ uses: actions/cache@v1
+ with:
+ path: umbrellas
+ key: secondary-umbrellas-v3.7.0-erlang-21.3-rev3
+ - name: VERIFY SECONDARY UMBRELLA COPIES (in case of cache restore failure)
+ if: success() && 'oldest' == 'oldest'
+ run: |
+ set -x
+ for version in v3.7.0; do
+ umbrella="umbrellas/$version"
+ if ! test -d "$umbrella" ||
+ ! make -C "$umbrella/deps/rabbit" test-dist; then
+ rm -rf "$umbrella"
+
+ # Fetch the master Umbrella; the final umbrellas are created from
+ # the master copy.
+ if ! test -d umbrellas/master; then
+ git config --global advice.detachedHead false
+ git clone \
+ https://github.com/rabbitmq/rabbitmq-public-umbrella.git \
+ umbrellas/master
+ make -C umbrellas/master co # To get RabbitMQ components.
+ fi
+
+ # We copy the master Umbrella and checkout the appropriate tag.
+ cp -a umbrellas/master "$umbrella"
+ git -C "$umbrella" checkout "v3.7.x"
+ make -C "$umbrella" up BRANCH="$version"
+ # To remove third-party deps which were checked out when the
+ # projects were on the `master` branch. Thus, possibly not the
+ # version pinning we expect. We update the Umbrella one last time
+ # to fetch the correct third-party deps.
+ make -C "$umbrella" clean-3rd-party-repos
+ make -C "$umbrella" up
+ make -C "$umbrella/deps/rabbit" test-dist
+ rm -fr "$umbrella"/deps/*/{.git,test} "$umbrella"/.git
+ fi
+ done
+ rm -fr umbrellas/master
+ - name: RUN TESTS [mixed-versions]
+ if: success() && 'oldest' == 'oldest'
+ run: |
+ set -x
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ for umbrella in umbrellas/*; do
+ test -d "$umbrella"
+ printf '\n\033[1;32mMixing clusters with RabbitMQ %s\033[0m' \
+ $(basename "$umbrella")
+ make distclean-ct ct-authn_authz_context_propagation \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1 \
+ SECONDARY_UMBRELLA=$PWD/$umbrella \
+ RABBITMQ_FEATURE_FLAGS=
+ done
+ - name: ON FAILURE ARCHIVE TESTS LOGS
+ if: failure()
+ run: |
+ make ct-logs-archive
+ - name: ON FAILURE UPLOAD TESTS LOGS ARTIFACT
+ # https://github.com/marketplace/actions/upload-artifact
+ uses: actions/upload-artifact@v2-preview
+ if: failure()
+ with:
+ name: ct-authn_authz_context_propagation-logs
+ path: "*-ct-logs-*.tar.xz"
+ # vim:sw=2:et:
+ ct-backing_queue:
+ needs: [checks]
+ # https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#contexts
+ name: ct-backing_queue
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ # https://github.com/marketplace/actions/setup-elixir
+ - name: CONFIGURE OTP & ELIXIR
+ uses: actions/setup-elixir@v1
+ with:
+ otp-version: 21.3
+ # https://github.com/elixir-lang/elixir/releases
+ elixir-version: 1.8.0
+ - name: CACHE DEPS
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-21.3_git-${{ github.sha }}_deps
+ - name: RUN TESTS
+ run: |
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ ! test -d ebin || touch ebin/*
+ make ct-backing_queue \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1
+ - name: CACHE SECONDARY UMBRELLAS
+ if: success() && 'oldest' == 'oldest'
+ uses: actions/cache@v1
+ with:
+ path: umbrellas
+ key: secondary-umbrellas-v3.7.0-erlang-21.3-rev3
+ - name: VERIFY SECONDARY UMBRELLA COPIES (in case of cache restore failure)
+ if: success() && 'oldest' == 'oldest'
+ run: |
+ set -x
+ for version in v3.7.0; do
+ umbrella="umbrellas/$version"
+ if ! test -d "$umbrella" ||
+ ! make -C "$umbrella/deps/rabbit" test-dist; then
+ rm -rf "$umbrella"
+
+ # Fetch the master Umbrella; the final umbrellas are created from
+ # the master copy.
+ if ! test -d umbrellas/master; then
+ git config --global advice.detachedHead false
+ git clone \
+ https://github.com/rabbitmq/rabbitmq-public-umbrella.git \
+ umbrellas/master
+ make -C umbrellas/master co # To get RabbitMQ components.
+ fi
+
+ # We copy the master Umbrella and checkout the appropriate tag.
+ cp -a umbrellas/master "$umbrella"
+ git -C "$umbrella" checkout "v3.7.x"
+ make -C "$umbrella" up BRANCH="$version"
+ # To remove third-party deps which were checked out when the
+ # projects were on the `master` branch. Thus, possibly not the
+ # version pinning we expect. We update the Umbrella one last time
+ # to fetch the correct third-party deps.
+ make -C "$umbrella" clean-3rd-party-repos
+ make -C "$umbrella" up
+ make -C "$umbrella/deps/rabbit" test-dist
+ rm -fr "$umbrella"/deps/*/{.git,test} "$umbrella"/.git
+ fi
+ done
+ rm -fr umbrellas/master
+ - name: RUN TESTS [mixed-versions]
+ if: success() && 'oldest' == 'oldest'
+ run: |
+ set -x
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ for umbrella in umbrellas/*; do
+ test -d "$umbrella"
+ printf '\n\033[1;32mMixing clusters with RabbitMQ %s\033[0m' \
+ $(basename "$umbrella")
+ make distclean-ct ct-backing_queue \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1 \
+ SECONDARY_UMBRELLA=$PWD/$umbrella \
+ RABBITMQ_FEATURE_FLAGS=
+ done
+ - name: ON FAILURE ARCHIVE TESTS LOGS
+ if: failure()
+ run: |
+ make ct-logs-archive
+ - name: ON FAILURE UPLOAD TESTS LOGS ARTIFACT
+ # https://github.com/marketplace/actions/upload-artifact
+ uses: actions/upload-artifact@v2-preview
+ if: failure()
+ with:
+ name: ct-backing_queue-logs
+ path: "*-ct-logs-*.tar.xz"
+ # vim:sw=2:et:
+ ct-channel_interceptor:
+ needs: [checks]
+ # https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#contexts
+ name: ct-channel_interceptor
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ # https://github.com/marketplace/actions/setup-elixir
+ - name: CONFIGURE OTP & ELIXIR
+ uses: actions/setup-elixir@v1
+ with:
+ otp-version: 21.3
+ # https://github.com/elixir-lang/elixir/releases
+ elixir-version: 1.8.0
+ - name: CACHE DEPS
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-21.3_git-${{ github.sha }}_deps
+ - name: RUN TESTS
+ run: |
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ ! test -d ebin || touch ebin/*
+ make ct-channel_interceptor \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1
+ - name: CACHE SECONDARY UMBRELLAS
+ if: success() && 'oldest' == 'oldest'
+ uses: actions/cache@v1
+ with:
+ path: umbrellas
+ key: secondary-umbrellas-v3.7.0-erlang-21.3-rev3
+ - name: VERIFY SECONDARY UMBRELLA COPIES (in case of cache restore failure)
+ if: success() && 'oldest' == 'oldest'
+ run: |
+ set -x
+ for version in v3.7.0; do
+ umbrella="umbrellas/$version"
+ if ! test -d "$umbrella" ||
+ ! make -C "$umbrella/deps/rabbit" test-dist; then
+ rm -rf "$umbrella"
+
+ # Fetch the master Umbrella; the final umbrellas are created from
+ # the master copy.
+ if ! test -d umbrellas/master; then
+ git config --global advice.detachedHead false
+ git clone \
+ https://github.com/rabbitmq/rabbitmq-public-umbrella.git \
+ umbrellas/master
+ make -C umbrellas/master co # To get RabbitMQ components.
+ fi
+
+ # We copy the master Umbrella and checkout the appropriate tag.
+ cp -a umbrellas/master "$umbrella"
+ git -C "$umbrella" checkout "v3.7.x"
+ make -C "$umbrella" up BRANCH="$version"
+ # To remove third-party deps which were checked out when the
+ # projects were on the `master` branch. Thus, possibly not the
+ # version pinning we expect. We update the Umbrella one last time
+ # to fetch the correct third-party deps.
+ make -C "$umbrella" clean-3rd-party-repos
+ make -C "$umbrella" up
+ make -C "$umbrella/deps/rabbit" test-dist
+ rm -fr "$umbrella"/deps/*/{.git,test} "$umbrella"/.git
+ fi
+ done
+ rm -fr umbrellas/master
+ - name: RUN TESTS [mixed-versions]
+ if: success() && 'oldest' == 'oldest'
+ run: |
+ set -x
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ for umbrella in umbrellas/*; do
+ test -d "$umbrella"
+ printf '\n\033[1;32mMixing clusters with RabbitMQ %s\033[0m' \
+ $(basename "$umbrella")
+ make distclean-ct ct-channel_interceptor \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1 \
+ SECONDARY_UMBRELLA=$PWD/$umbrella \
+ RABBITMQ_FEATURE_FLAGS=
+ done
+ - name: ON FAILURE ARCHIVE TESTS LOGS
+ if: failure()
+ run: |
+ make ct-logs-archive
+ - name: ON FAILURE UPLOAD TESTS LOGS ARTIFACT
+ # https://github.com/marketplace/actions/upload-artifact
+ uses: actions/upload-artifact@v2-preview
+ if: failure()
+ with:
+ name: ct-channel_interceptor-logs
+ path: "*-ct-logs-*.tar.xz"
+ # vim:sw=2:et:
+ ct-channel_operation_timeout:
+ needs: [checks]
+ # https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#contexts
+ name: ct-channel_operation_timeout
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ # https://github.com/marketplace/actions/setup-elixir
+ - name: CONFIGURE OTP & ELIXIR
+ uses: actions/setup-elixir@v1
+ with:
+ otp-version: 21.3
+ # https://github.com/elixir-lang/elixir/releases
+ elixir-version: 1.8.0
+ - name: CACHE DEPS
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-21.3_git-${{ github.sha }}_deps
+ - name: RUN TESTS
+ run: |
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ ! test -d ebin || touch ebin/*
+ make ct-channel_operation_timeout \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1
+ - name: CACHE SECONDARY UMBRELLAS
+ if: success() && 'oldest' == 'oldest'
+ uses: actions/cache@v1
+ with:
+ path: umbrellas
+ key: secondary-umbrellas-v3.7.0-erlang-21.3-rev3
+ - name: VERIFY SECONDARY UMBRELLA COPIES (in case of cache restore failure)
+ if: success() && 'oldest' == 'oldest'
+ run: |
+ set -x
+ for version in v3.7.0; do
+ umbrella="umbrellas/$version"
+ if ! test -d "$umbrella" ||
+ ! make -C "$umbrella/deps/rabbit" test-dist; then
+ rm -rf "$umbrella"
+
+ # Fetch the master Umbrella; the final umbrellas are created from
+ # the master copy.
+ if ! test -d umbrellas/master; then
+ git config --global advice.detachedHead false
+ git clone \
+ https://github.com/rabbitmq/rabbitmq-public-umbrella.git \
+ umbrellas/master
+ make -C umbrellas/master co # To get RabbitMQ components.
+ fi
+
+ # We copy the master Umbrella and checkout the appropriate tag.
+ cp -a umbrellas/master "$umbrella"
+ git -C "$umbrella" checkout "v3.7.x"
+ make -C "$umbrella" up BRANCH="$version"
+ # To remove third-party deps which were checked out when the
+ # projects were on the `master` branch. Thus, possibly not the
+ # version pinning we expect. We update the Umbrella one last time
+ # to fetch the correct third-party deps.
+ make -C "$umbrella" clean-3rd-party-repos
+ make -C "$umbrella" up
+ make -C "$umbrella/deps/rabbit" test-dist
+ rm -fr "$umbrella"/deps/*/{.git,test} "$umbrella"/.git
+ fi
+ done
+ rm -fr umbrellas/master
+ - name: RUN TESTS [mixed-versions]
+ if: success() && 'oldest' == 'oldest'
+ run: |
+ set -x
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ for umbrella in umbrellas/*; do
+ test -d "$umbrella"
+ printf '\n\033[1;32mMixing clusters with RabbitMQ %s\033[0m' \
+ $(basename "$umbrella")
+ make distclean-ct ct-channel_operation_timeout \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1 \
+ SECONDARY_UMBRELLA=$PWD/$umbrella \
+ RABBITMQ_FEATURE_FLAGS=
+ done
+ - name: ON FAILURE ARCHIVE TESTS LOGS
+ if: failure()
+ run: |
+ make ct-logs-archive
+ - name: ON FAILURE UPLOAD TESTS LOGS ARTIFACT
+ # https://github.com/marketplace/actions/upload-artifact
+ uses: actions/upload-artifact@v2-preview
+ if: failure()
+ with:
+ name: ct-channel_operation_timeout-logs
+ path: "*-ct-logs-*.tar.xz"
+ # vim:sw=2:et:
+ ct-cluster:
+ needs: [checks]
+ # https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#contexts
+ name: ct-cluster
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ # https://github.com/marketplace/actions/setup-elixir
+ - name: CONFIGURE OTP & ELIXIR
+ uses: actions/setup-elixir@v1
+ with:
+ otp-version: 21.3
+ # https://github.com/elixir-lang/elixir/releases
+ elixir-version: 1.8.0
+ - name: CACHE DEPS
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-21.3_git-${{ github.sha }}_deps
+ - name: RUN TESTS
+ run: |
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ ! test -d ebin || touch ebin/*
+ make ct-cluster \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1
+ - name: CACHE SECONDARY UMBRELLAS
+ if: success() && 'oldest' == 'oldest'
+ uses: actions/cache@v1
+ with:
+ path: umbrellas
+ key: secondary-umbrellas-v3.7.0-erlang-21.3-rev3
+ - name: VERIFY SECONDARY UMBRELLA COPIES (in case of cache restore failure)
+ if: success() && 'oldest' == 'oldest'
+ run: |
+ set -x
+ for version in v3.7.0; do
+ umbrella="umbrellas/$version"
+ if ! test -d "$umbrella" ||
+ ! make -C "$umbrella/deps/rabbit" test-dist; then
+ rm -rf "$umbrella"
+
+ # Fetch the master Umbrella; the final umbrellas are created from
+ # the master copy.
+ if ! test -d umbrellas/master; then
+ git config --global advice.detachedHead false
+ git clone \
+ https://github.com/rabbitmq/rabbitmq-public-umbrella.git \
+ umbrellas/master
+ make -C umbrellas/master co # To get RabbitMQ components.
+ fi
+
+ # We copy the master Umbrella and checkout the appropriate tag.
+ cp -a umbrellas/master "$umbrella"
+ git -C "$umbrella" checkout "v3.7.x"
+ make -C "$umbrella" up BRANCH="$version"
+ # To remove third-party deps which were checked out when the
+ # projects were on the `master` branch. Thus, possibly not the
+ # version pinning we expect. We update the Umbrella one last time
+ # to fetch the correct third-party deps.
+ make -C "$umbrella" clean-3rd-party-repos
+ make -C "$umbrella" up
+ make -C "$umbrella/deps/rabbit" test-dist
+ rm -fr "$umbrella"/deps/*/{.git,test} "$umbrella"/.git
+ fi
+ done
+ rm -fr umbrellas/master
+ - name: RUN TESTS [mixed-versions]
+ if: success() && 'oldest' == 'oldest'
+ run: |
+ set -x
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ for umbrella in umbrellas/*; do
+ test -d "$umbrella"
+ printf '\n\033[1;32mMixing clusters with RabbitMQ %s\033[0m' \
+ $(basename "$umbrella")
+ make distclean-ct ct-cluster \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1 \
+ SECONDARY_UMBRELLA=$PWD/$umbrella \
+ RABBITMQ_FEATURE_FLAGS=
+ done
+ - name: ON FAILURE ARCHIVE TESTS LOGS
+ if: failure()
+ run: |
+ make ct-logs-archive
+ - name: ON FAILURE UPLOAD TESTS LOGS ARTIFACT
+ # https://github.com/marketplace/actions/upload-artifact
+ uses: actions/upload-artifact@v2-preview
+ if: failure()
+ with:
+ name: ct-cluster-logs
+ path: "*-ct-logs-*.tar.xz"
+ # vim:sw=2:et:
+ ct-cluster_formation_locking:
+ needs: [checks]
+ # https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#contexts
+ name: ct-cluster_formation_locking
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ # https://github.com/marketplace/actions/setup-elixir
+ - name: CONFIGURE OTP & ELIXIR
+ uses: actions/setup-elixir@v1
+ with:
+ otp-version: 21.3
+ # https://github.com/elixir-lang/elixir/releases
+ elixir-version: 1.8.0
+ - name: CACHE DEPS
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-21.3_git-${{ github.sha }}_deps
+ - name: RUN TESTS
+ run: |
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ ! test -d ebin || touch ebin/*
+ make ct-cluster_formation_locking \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1
+ - name: CACHE SECONDARY UMBRELLAS
+ if: success() && 'oldest' == 'oldest'
+ uses: actions/cache@v1
+ with:
+ path: umbrellas
+ key: secondary-umbrellas-v3.7.0-erlang-21.3-rev3
+ - name: VERIFY SECONDARY UMBRELLA COPIES (in case of cache restore failure)
+ if: success() && 'oldest' == 'oldest'
+ run: |
+ set -x
+ for version in v3.7.0; do
+ umbrella="umbrellas/$version"
+ if ! test -d "$umbrella" ||
+ ! make -C "$umbrella/deps/rabbit" test-dist; then
+ rm -rf "$umbrella"
+
+ # Fetch the master Umbrella; the final umbrellas are created from
+ # the master copy.
+ if ! test -d umbrellas/master; then
+ git config --global advice.detachedHead false
+ git clone \
+ https://github.com/rabbitmq/rabbitmq-public-umbrella.git \
+ umbrellas/master
+ make -C umbrellas/master co # To get RabbitMQ components.
+ fi
+
+ # We copy the master Umbrella and checkout the appropriate tag.
+ cp -a umbrellas/master "$umbrella"
+ git -C "$umbrella" checkout "v3.7.x"
+ make -C "$umbrella" up BRANCH="$version"
+ # To remove third-party deps which were checked out when the
+ # projects were on the `master` branch. Thus, possibly not the
+ # version pinning we expect. We update the Umbrella one last time
+ # to fetch the correct third-party deps.
+ make -C "$umbrella" clean-3rd-party-repos
+ make -C "$umbrella" up
+ make -C "$umbrella/deps/rabbit" test-dist
+ rm -fr "$umbrella"/deps/*/{.git,test} "$umbrella"/.git
+ fi
+ done
+ rm -fr umbrellas/master
+ - name: RUN TESTS [mixed-versions]
+ if: success() && 'oldest' == 'oldest'
+ run: |
+ set -x
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ for umbrella in umbrellas/*; do
+ test -d "$umbrella"
+ printf '\n\033[1;32mMixing clusters with RabbitMQ %s\033[0m' \
+ $(basename "$umbrella")
+ make distclean-ct ct-cluster_formation_locking \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1 \
+ SECONDARY_UMBRELLA=$PWD/$umbrella \
+ RABBITMQ_FEATURE_FLAGS=
+ done
+ - name: ON FAILURE ARCHIVE TESTS LOGS
+ if: failure()
+ run: |
+ make ct-logs-archive
+ - name: ON FAILURE UPLOAD TESTS LOGS ARTIFACT
+ # https://github.com/marketplace/actions/upload-artifact
+ uses: actions/upload-artifact@v2-preview
+ if: failure()
+ with:
+ name: ct-cluster_formation_locking-logs
+ path: "*-ct-logs-*.tar.xz"
+ # vim:sw=2:et:
+ ct-cluster_rename:
+ needs: [checks]
+ # https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#contexts
+ name: ct-cluster_rename
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ # https://github.com/marketplace/actions/setup-elixir
+ - name: CONFIGURE OTP & ELIXIR
+ uses: actions/setup-elixir@v1
+ with:
+ otp-version: 21.3
+ # https://github.com/elixir-lang/elixir/releases
+ elixir-version: 1.8.0
+ - name: CACHE DEPS
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-21.3_git-${{ github.sha }}_deps
+ - name: RUN TESTS
+ run: |
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ ! test -d ebin || touch ebin/*
+ make ct-cluster_rename \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1
+ - name: CACHE SECONDARY UMBRELLAS
+ if: success() && 'oldest' == 'oldest'
+ uses: actions/cache@v1
+ with:
+ path: umbrellas
+ key: secondary-umbrellas-v3.7.0-erlang-21.3-rev3
+ - name: VERIFY SECONDARY UMBRELLA COPIES (in case of cache restore failure)
+ if: success() && 'oldest' == 'oldest'
+ run: |
+ set -x
+ for version in v3.7.0; do
+ umbrella="umbrellas/$version"
+ if ! test -d "$umbrella" ||
+ ! make -C "$umbrella/deps/rabbit" test-dist; then
+ rm -rf "$umbrella"
+
+ # Fetch the master Umbrella; the final umbrellas are created from
+ # the master copy.
+ if ! test -d umbrellas/master; then
+ git config --global advice.detachedHead false
+ git clone \
+ https://github.com/rabbitmq/rabbitmq-public-umbrella.git \
+ umbrellas/master
+ make -C umbrellas/master co # To get RabbitMQ components.
+ fi
+
+ # We copy the master Umbrella and checkout the appropriate tag.
+ cp -a umbrellas/master "$umbrella"
+ git -C "$umbrella" checkout "v3.7.x"
+ make -C "$umbrella" up BRANCH="$version"
+ # To remove third-party deps which were checked out when the
+ # projects were on the `master` branch. Thus, possibly not the
+ # version pinning we expect. We update the Umbrella one last time
+ # to fetch the correct third-party deps.
+ make -C "$umbrella" clean-3rd-party-repos
+ make -C "$umbrella" up
+ make -C "$umbrella/deps/rabbit" test-dist
+ rm -fr "$umbrella"/deps/*/{.git,test} "$umbrella"/.git
+ fi
+ done
+ rm -fr umbrellas/master
+ - name: RUN TESTS [mixed-versions]
+ if: success() && 'oldest' == 'oldest'
+ run: |
+ set -x
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ for umbrella in umbrellas/*; do
+ test -d "$umbrella"
+ printf '\n\033[1;32mMixing clusters with RabbitMQ %s\033[0m' \
+ $(basename "$umbrella")
+ make distclean-ct ct-cluster_rename \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1 \
+ SECONDARY_UMBRELLA=$PWD/$umbrella \
+ RABBITMQ_FEATURE_FLAGS=
+ done
+ - name: ON FAILURE ARCHIVE TESTS LOGS
+ if: failure()
+ run: |
+ make ct-logs-archive
+ - name: ON FAILURE UPLOAD TESTS LOGS ARTIFACT
+ # https://github.com/marketplace/actions/upload-artifact
+ uses: actions/upload-artifact@v2-preview
+ if: failure()
+ with:
+ name: ct-cluster_rename-logs
+ path: "*-ct-logs-*.tar.xz"
+ # vim:sw=2:et:
+ ct-clustering_management:
+ needs: [checks]
+ # https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#contexts
+ name: ct-clustering_management
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ # https://github.com/marketplace/actions/setup-elixir
+ - name: CONFIGURE OTP & ELIXIR
+ uses: actions/setup-elixir@v1
+ with:
+ otp-version: 21.3
+ # https://github.com/elixir-lang/elixir/releases
+ elixir-version: 1.8.0
+ - name: CACHE DEPS
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-21.3_git-${{ github.sha }}_deps
+ - name: RUN TESTS
+ run: |
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ ! test -d ebin || touch ebin/*
+ make ct-clustering_management \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1
+ - name: CACHE SECONDARY UMBRELLAS
+ if: success() && 'oldest' == 'oldest'
+ uses: actions/cache@v1
+ with:
+ path: umbrellas
+ key: secondary-umbrellas-v3.7.0-erlang-21.3-rev3
+ - name: VERIFY SECONDARY UMBRELLA COPIES (in case of cache restore failure)
+ if: success() && 'oldest' == 'oldest'
+ run: |
+ set -x
+ for version in v3.7.0; do
+ umbrella="umbrellas/$version"
+ if ! test -d "$umbrella" ||
+ ! make -C "$umbrella/deps/rabbit" test-dist; then
+ rm -rf "$umbrella"
+
+ # Fetch the master Umbrella; the final umbrellas are created from
+ # the master copy.
+ if ! test -d umbrellas/master; then
+ git config --global advice.detachedHead false
+ git clone \
+ https://github.com/rabbitmq/rabbitmq-public-umbrella.git \
+ umbrellas/master
+ make -C umbrellas/master co # To get RabbitMQ components.
+ fi
+
+ # We copy the master Umbrella and checkout the appropriate tag.
+ cp -a umbrellas/master "$umbrella"
+ git -C "$umbrella" checkout "v3.7.x"
+ make -C "$umbrella" up BRANCH="$version"
+ # To remove third-party deps which were checked out when the
+ # projects were on the `master` branch. Thus, possibly not the
+ # version pinning we expect. We update the Umbrella one last time
+ # to fetch the correct third-party deps.
+ make -C "$umbrella" clean-3rd-party-repos
+ make -C "$umbrella" up
+ make -C "$umbrella/deps/rabbit" test-dist
+ rm -fr "$umbrella"/deps/*/{.git,test} "$umbrella"/.git
+ fi
+ done
+ rm -fr umbrellas/master
+ - name: RUN TESTS [mixed-versions]
+ if: success() && 'oldest' == 'oldest'
+ run: |
+ set -x
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ for umbrella in umbrellas/*; do
+ test -d "$umbrella"
+ printf '\n\033[1;32mMixing clusters with RabbitMQ %s\033[0m' \
+ $(basename "$umbrella")
+ make distclean-ct ct-clustering_management \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1 \
+ SECONDARY_UMBRELLA=$PWD/$umbrella \
+ RABBITMQ_FEATURE_FLAGS=
+ done
+ - name: ON FAILURE ARCHIVE TESTS LOGS
+ if: failure()
+ run: |
+ make ct-logs-archive
+ - name: ON FAILURE UPLOAD TESTS LOGS ARTIFACT
+ # https://github.com/marketplace/actions/upload-artifact
+ uses: actions/upload-artifact@v2-preview
+ if: failure()
+ with:
+ name: ct-clustering_management-logs
+ path: "*-ct-logs-*.tar.xz"
+ # vim:sw=2:et:
+ ct-config_schema:
+ needs: [checks]
+ # https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#contexts
+ name: ct-config_schema
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ # https://github.com/marketplace/actions/setup-elixir
+ - name: CONFIGURE OTP & ELIXIR
+ uses: actions/setup-elixir@v1
+ with:
+ otp-version: 21.3
+ # https://github.com/elixir-lang/elixir/releases
+ elixir-version: 1.8.0
+ - name: CACHE DEPS
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-21.3_git-${{ github.sha }}_deps
+ - name: RUN TESTS
+ run: |
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ ! test -d ebin || touch ebin/*
+ make ct-config_schema \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1
+ - name: CACHE SECONDARY UMBRELLAS
+ if: success() && 'oldest' == 'oldest'
+ uses: actions/cache@v1
+ with:
+ path: umbrellas
+ key: secondary-umbrellas-v3.7.0-erlang-21.3-rev3
+ - name: VERIFY SECONDARY UMBRELLA COPIES (in case of cache restore failure)
+ if: success() && 'oldest' == 'oldest'
+ run: |
+ set -x
+ for version in v3.7.0; do
+ umbrella="umbrellas/$version"
+ if ! test -d "$umbrella" ||
+ ! make -C "$umbrella/deps/rabbit" test-dist; then
+ rm -rf "$umbrella"
+
+ # Fetch the master Umbrella; the final umbrellas are created from
+ # the master copy.
+ if ! test -d umbrellas/master; then
+ git config --global advice.detachedHead false
+ git clone \
+ https://github.com/rabbitmq/rabbitmq-public-umbrella.git \
+ umbrellas/master
+ make -C umbrellas/master co # To get RabbitMQ components.
+ fi
+
+ # We copy the master Umbrella and checkout the appropriate tag.
+ cp -a umbrellas/master "$umbrella"
+ git -C "$umbrella" checkout "v3.7.x"
+ make -C "$umbrella" up BRANCH="$version"
+ # To remove third-party deps which were checked out when the
+ # projects were on the `master` branch. Thus, possibly not the
+ # version pinning we expect. We update the Umbrella one last time
+ # to fetch the correct third-party deps.
+ make -C "$umbrella" clean-3rd-party-repos
+ make -C "$umbrella" up
+ make -C "$umbrella/deps/rabbit" test-dist
+ rm -fr "$umbrella"/deps/*/{.git,test} "$umbrella"/.git
+ fi
+ done
+ rm -fr umbrellas/master
+ - name: RUN TESTS [mixed-versions]
+ if: success() && 'oldest' == 'oldest'
+ run: |
+ set -x
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ for umbrella in umbrellas/*; do
+ test -d "$umbrella"
+ printf '\n\033[1;32mMixing clusters with RabbitMQ %s\033[0m' \
+ $(basename "$umbrella")
+ make distclean-ct ct-config_schema \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1 \
+ SECONDARY_UMBRELLA=$PWD/$umbrella \
+ RABBITMQ_FEATURE_FLAGS=
+ done
+ - name: ON FAILURE ARCHIVE TESTS LOGS
+ if: failure()
+ run: |
+ make ct-logs-archive
+ - name: ON FAILURE UPLOAD TESTS LOGS ARTIFACT
+ # https://github.com/marketplace/actions/upload-artifact
+ uses: actions/upload-artifact@v2-preview
+ if: failure()
+ with:
+ name: ct-config_schema-logs
+ path: "*-ct-logs-*.tar.xz"
+ # vim:sw=2:et:
+ ct-confirms_rejects:
+ needs: [checks]
+ # https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#contexts
+ name: ct-confirms_rejects
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ # https://github.com/marketplace/actions/setup-elixir
+ - name: CONFIGURE OTP & ELIXIR
+ uses: actions/setup-elixir@v1
+ with:
+ otp-version: 21.3
+ # https://github.com/elixir-lang/elixir/releases
+ elixir-version: 1.8.0
+ - name: CACHE DEPS
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-21.3_git-${{ github.sha }}_deps
+ - name: RUN TESTS
+ run: |
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ ! test -d ebin || touch ebin/*
+ make ct-confirms_rejects \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1
+ - name: CACHE SECONDARY UMBRELLAS
+ if: success() && 'oldest' == 'oldest'
+ uses: actions/cache@v1
+ with:
+ path: umbrellas
+ key: secondary-umbrellas-v3.7.0-erlang-21.3-rev3
+ - name: VERIFY SECONDARY UMBRELLA COPIES (in case of cache restore failure)
+ if: success() && 'oldest' == 'oldest'
+ run: |
+ set -x
+ for version in v3.7.0; do
+ umbrella="umbrellas/$version"
+ if ! test -d "$umbrella" ||
+ ! make -C "$umbrella/deps/rabbit" test-dist; then
+ rm -rf "$umbrella"
+
+ # Fetch the master Umbrella; the final umbrellas are created from
+ # the master copy.
+ if ! test -d umbrellas/master; then
+ git config --global advice.detachedHead false
+ git clone \
+ https://github.com/rabbitmq/rabbitmq-public-umbrella.git \
+ umbrellas/master
+ make -C umbrellas/master co # To get RabbitMQ components.
+ fi
+
+ # We copy the master Umbrella and checkout the appropriate tag.
+ cp -a umbrellas/master "$umbrella"
+ git -C "$umbrella" checkout "v3.7.x"
+ make -C "$umbrella" up BRANCH="$version"
+ # To remove third-party deps which were checked out when the
+ # projects were on the `master` branch. Thus, possibly not the
+ # version pinning we expect. We update the Umbrella one last time
+ # to fetch the correct third-party deps.
+ make -C "$umbrella" clean-3rd-party-repos
+ make -C "$umbrella" up
+ make -C "$umbrella/deps/rabbit" test-dist
+ rm -fr "$umbrella"/deps/*/{.git,test} "$umbrella"/.git
+ fi
+ done
+ rm -fr umbrellas/master
+ - name: RUN TESTS [mixed-versions]
+ if: success() && 'oldest' == 'oldest'
+ run: |
+ set -x
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ for umbrella in umbrellas/*; do
+ test -d "$umbrella"
+ printf '\n\033[1;32mMixing clusters with RabbitMQ %s\033[0m' \
+ $(basename "$umbrella")
+ make distclean-ct ct-confirms_rejects \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1 \
+ SECONDARY_UMBRELLA=$PWD/$umbrella \
+ RABBITMQ_FEATURE_FLAGS=
+ done
+ - name: ON FAILURE ARCHIVE TESTS LOGS
+ if: failure()
+ run: |
+ make ct-logs-archive
+ - name: ON FAILURE UPLOAD TESTS LOGS ARTIFACT
+ # https://github.com/marketplace/actions/upload-artifact
+ uses: actions/upload-artifact@v2-preview
+ if: failure()
+ with:
+ name: ct-confirms_rejects-logs
+ path: "*-ct-logs-*.tar.xz"
+ # vim:sw=2:et:
+ ct-crashing_queues:
+ needs: [checks]
+ # https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#contexts
+ name: ct-crashing_queues
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ # https://github.com/marketplace/actions/setup-elixir
+ - name: CONFIGURE OTP & ELIXIR
+ uses: actions/setup-elixir@v1
+ with:
+ otp-version: 21.3
+ # https://github.com/elixir-lang/elixir/releases
+ elixir-version: 1.8.0
+ - name: CACHE DEPS
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-21.3_git-${{ github.sha }}_deps
+ - name: RUN TESTS
+ run: |
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ ! test -d ebin || touch ebin/*
+ make ct-crashing_queues \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1
+ - name: CACHE SECONDARY UMBRELLAS
+ if: success() && 'oldest' == 'oldest'
+ uses: actions/cache@v1
+ with:
+ path: umbrellas
+ key: secondary-umbrellas-v3.7.0-erlang-21.3-rev3
+ - name: VERIFY SECONDARY UMBRELLA COPIES (in case of cache restore failure)
+ if: success() && 'oldest' == 'oldest'
+ run: |
+ set -x
+ for version in v3.7.0; do
+ umbrella="umbrellas/$version"
+ if ! test -d "$umbrella" ||
+ ! make -C "$umbrella/deps/rabbit" test-dist; then
+ rm -rf "$umbrella"
+
+ # Fetch the master Umbrella; the final umbrellas are created from
+ # the master copy.
+ if ! test -d umbrellas/master; then
+ git config --global advice.detachedHead false
+ git clone \
+ https://github.com/rabbitmq/rabbitmq-public-umbrella.git \
+ umbrellas/master
+ make -C umbrellas/master co # To get RabbitMQ components.
+ fi
+
+ # We copy the master Umbrella and checkout the appropriate tag.
+ cp -a umbrellas/master "$umbrella"
+ git -C "$umbrella" checkout "v3.7.x"
+ make -C "$umbrella" up BRANCH="$version"
+ # To remove third-party deps which were checked out when the
+ # projects were on the `master` branch. Thus, possibly not the
+ # version pinning we expect. We update the Umbrella one last time
+ # to fetch the correct third-party deps.
+ make -C "$umbrella" clean-3rd-party-repos
+ make -C "$umbrella" up
+ make -C "$umbrella/deps/rabbit" test-dist
+ rm -fr "$umbrella"/deps/*/{.git,test} "$umbrella"/.git
+ fi
+ done
+ rm -fr umbrellas/master
+ - name: RUN TESTS [mixed-versions]
+ if: success() && 'oldest' == 'oldest'
+ run: |
+ set -x
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ for umbrella in umbrellas/*; do
+ test -d "$umbrella"
+ printf '\n\033[1;32mMixing clusters with RabbitMQ %s\033[0m' \
+ $(basename "$umbrella")
+ make distclean-ct ct-crashing_queues \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1 \
+ SECONDARY_UMBRELLA=$PWD/$umbrella \
+ RABBITMQ_FEATURE_FLAGS=
+ done
+ - name: ON FAILURE ARCHIVE TESTS LOGS
+ if: failure()
+ run: |
+ make ct-logs-archive
+ - name: ON FAILURE UPLOAD TESTS LOGS ARTIFACT
+ # https://github.com/marketplace/actions/upload-artifact
+ uses: actions/upload-artifact@v2-preview
+ if: failure()
+ with:
+ name: ct-crashing_queues-logs
+ path: "*-ct-logs-*.tar.xz"
+ # vim:sw=2:et:
+ ct-credential_validation:
+ needs: [checks]
+ # https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#contexts
+ name: ct-credential_validation
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ # https://github.com/marketplace/actions/setup-elixir
+ - name: CONFIGURE OTP & ELIXIR
+ uses: actions/setup-elixir@v1
+ with:
+ otp-version: 21.3
+ # https://github.com/elixir-lang/elixir/releases
+ elixir-version: 1.8.0
+ - name: CACHE DEPS
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-21.3_git-${{ github.sha }}_deps
+ - name: RUN TESTS
+ run: |
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ ! test -d ebin || touch ebin/*
+ make ct-credential_validation \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1
+ - name: CACHE SECONDARY UMBRELLAS
+ if: success() && 'oldest' == 'oldest'
+ uses: actions/cache@v1
+ with:
+ path: umbrellas
+ key: secondary-umbrellas-v3.7.0-erlang-21.3-rev3
+ - name: VERIFY SECONDARY UMBRELLA COPIES (in case of cache restore failure)
+ if: success() && 'oldest' == 'oldest'
+ run: |
+ set -x
+ for version in v3.7.0; do
+ umbrella="umbrellas/$version"
+ if ! test -d "$umbrella" ||
+ ! make -C "$umbrella/deps/rabbit" test-dist; then
+ rm -rf "$umbrella"
+
+ # Fetch the master Umbrella; the final umbrellas are created from
+ # the master copy.
+ if ! test -d umbrellas/master; then
+ git config --global advice.detachedHead false
+ git clone \
+ https://github.com/rabbitmq/rabbitmq-public-umbrella.git \
+ umbrellas/master
+ make -C umbrellas/master co # To get RabbitMQ components.
+ fi
+
+ # We copy the master Umbrella and checkout the appropriate tag.
+ cp -a umbrellas/master "$umbrella"
+ git -C "$umbrella" checkout "v3.7.x"
+ make -C "$umbrella" up BRANCH="$version"
+ # To remove third-party deps which were checked out when the
+ # projects were on the `master` branch. Thus, possibly not the
+ # version pinning we expect. We update the Umbrella one last time
+ # to fetch the correct third-party deps.
+ make -C "$umbrella" clean-3rd-party-repos
+ make -C "$umbrella" up
+ make -C "$umbrella/deps/rabbit" test-dist
+ rm -fr "$umbrella"/deps/*/{.git,test} "$umbrella"/.git
+ fi
+ done
+ rm -fr umbrellas/master
+ - name: RUN TESTS [mixed-versions]
+ if: success() && 'oldest' == 'oldest'
+ run: |
+ set -x
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ for umbrella in umbrellas/*; do
+ test -d "$umbrella"
+ printf '\n\033[1;32mMixing clusters with RabbitMQ %s\033[0m' \
+ $(basename "$umbrella")
+ make distclean-ct ct-credential_validation \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1 \
+ SECONDARY_UMBRELLA=$PWD/$umbrella \
+ RABBITMQ_FEATURE_FLAGS=
+ done
+ - name: ON FAILURE ARCHIVE TESTS LOGS
+ if: failure()
+ run: |
+ make ct-logs-archive
+ - name: ON FAILURE UPLOAD TESTS LOGS ARTIFACT
+ # https://github.com/marketplace/actions/upload-artifact
+ uses: actions/upload-artifact@v2-preview
+ if: failure()
+ with:
+ name: ct-credential_validation-logs
+ path: "*-ct-logs-*.tar.xz"
+ # vim:sw=2:et:
+ ct-disconnect_detected_during_alarm:
+ needs: [checks]
+ # https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#contexts
+ name: ct-disconnect_detected_during_alarm
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ # https://github.com/marketplace/actions/setup-elixir
+ - name: CONFIGURE OTP & ELIXIR
+ uses: actions/setup-elixir@v1
+ with:
+ otp-version: 21.3
+ # https://github.com/elixir-lang/elixir/releases
+ elixir-version: 1.8.0
+ - name: CACHE DEPS
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-21.3_git-${{ github.sha }}_deps
+ - name: RUN TESTS
+ run: |
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ ! test -d ebin || touch ebin/*
+ make ct-disconnect_detected_during_alarm \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1
+ - name: CACHE SECONDARY UMBRELLAS
+ if: success() && 'oldest' == 'oldest'
+ uses: actions/cache@v1
+ with:
+ path: umbrellas
+ key: secondary-umbrellas-v3.7.0-erlang-21.3-rev3
+ - name: VERIFY SECONDARY UMBRELLA COPIES (in case of cache restore failure)
+ if: success() && 'oldest' == 'oldest'
+ run: |
+ set -x
+ for version in v3.7.0; do
+ umbrella="umbrellas/$version"
+ if ! test -d "$umbrella" ||
+ ! make -C "$umbrella/deps/rabbit" test-dist; then
+ rm -rf "$umbrella"
+
+ # Fetch the master Umbrella; the final umbrellas are created from
+ # the master copy.
+ if ! test -d umbrellas/master; then
+ git config --global advice.detachedHead false
+ git clone \
+ https://github.com/rabbitmq/rabbitmq-public-umbrella.git \
+ umbrellas/master
+ make -C umbrellas/master co # To get RabbitMQ components.
+ fi
+
+ # We copy the master Umbrella and checkout the appropriate tag.
+ cp -a umbrellas/master "$umbrella"
+ git -C "$umbrella" checkout "v3.7.x"
+ make -C "$umbrella" up BRANCH="$version"
+ # To remove third-party deps which were checked out when the
+ # projects were on the `master` branch. Thus, possibly not the
+ # version pinning we expect. We update the Umbrella one last time
+ # to fetch the correct third-party deps.
+ make -C "$umbrella" clean-3rd-party-repos
+ make -C "$umbrella" up
+ make -C "$umbrella/deps/rabbit" test-dist
+ rm -fr "$umbrella"/deps/*/{.git,test} "$umbrella"/.git
+ fi
+ done
+ rm -fr umbrellas/master
+ - name: RUN TESTS [mixed-versions]
+ if: success() && 'oldest' == 'oldest'
+ run: |
+ set -x
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ for umbrella in umbrellas/*; do
+ test -d "$umbrella"
+ printf '\n\033[1;32mMixing clusters with RabbitMQ %s\033[0m' \
+ $(basename "$umbrella")
+ make distclean-ct ct-disconnect_detected_during_alarm \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1 \
+ SECONDARY_UMBRELLA=$PWD/$umbrella \
+ RABBITMQ_FEATURE_FLAGS=
+ done
+ - name: ON FAILURE ARCHIVE TESTS LOGS
+ if: failure()
+ run: |
+ make ct-logs-archive
+ - name: ON FAILURE UPLOAD TESTS LOGS ARTIFACT
+ # https://github.com/marketplace/actions/upload-artifact
+ uses: actions/upload-artifact@v2-preview
+ if: failure()
+ with:
+ name: ct-disconnect_detected_during_alarm-logs
+ path: "*-ct-logs-*.tar.xz"
+ # vim:sw=2:et:
+ ct-dynamic_ha:
+ needs: [checks]
+ # https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#contexts
+ name: ct-dynamic_ha
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ # https://github.com/marketplace/actions/setup-elixir
+ - name: CONFIGURE OTP & ELIXIR
+ uses: actions/setup-elixir@v1
+ with:
+ otp-version: 21.3
+ # https://github.com/elixir-lang/elixir/releases
+ elixir-version: 1.8.0
+ - name: CACHE DEPS
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-21.3_git-${{ github.sha }}_deps
+ - name: RUN TESTS
+ run: |
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ ! test -d ebin || touch ebin/*
+ make ct-dynamic_ha \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1
+ - name: CACHE SECONDARY UMBRELLAS
+ if: success() && 'oldest' == 'oldest'
+ uses: actions/cache@v1
+ with:
+ path: umbrellas
+ key: secondary-umbrellas-v3.7.0-erlang-21.3-rev3
+ - name: VERIFY SECONDARY UMBRELLA COPIES (in case of cache restore failure)
+ if: success() && 'oldest' == 'oldest'
+ run: |
+ set -x
+ for version in v3.7.0; do
+ umbrella="umbrellas/$version"
+ if ! test -d "$umbrella" ||
+ ! make -C "$umbrella/deps/rabbit" test-dist; then
+ rm -rf "$umbrella"
+
+ # Fetch the master Umbrella; the final umbrellas are created from
+ # the master copy.
+ if ! test -d umbrellas/master; then
+ git config --global advice.detachedHead false
+ git clone \
+ https://github.com/rabbitmq/rabbitmq-public-umbrella.git \
+ umbrellas/master
+ make -C umbrellas/master co # To get RabbitMQ components.
+ fi
+
+ # We copy the master Umbrella and checkout the appropriate tag.
+ cp -a umbrellas/master "$umbrella"
+ git -C "$umbrella" checkout "v3.7.x"
+ make -C "$umbrella" up BRANCH="$version"
+ # To remove third-party deps which were checked out when the
+ # projects were on the `master` branch. Thus, possibly not the
+ # version pinning we expect. We update the Umbrella one last time
+ # to fetch the correct third-party deps.
+ make -C "$umbrella" clean-3rd-party-repos
+ make -C "$umbrella" up
+ make -C "$umbrella/deps/rabbit" test-dist
+ rm -fr "$umbrella"/deps/*/{.git,test} "$umbrella"/.git
+ fi
+ done
+ rm -fr umbrellas/master
+ - name: RUN TESTS [mixed-versions]
+ if: success() && 'oldest' == 'oldest'
+ run: |
+ set -x
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ for umbrella in umbrellas/*; do
+ test -d "$umbrella"
+ printf '\n\033[1;32mMixing clusters with RabbitMQ %s\033[0m' \
+ $(basename "$umbrella")
+ make distclean-ct ct-dynamic_ha \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1 \
+ SECONDARY_UMBRELLA=$PWD/$umbrella \
+ RABBITMQ_FEATURE_FLAGS=
+ done
+ - name: ON FAILURE ARCHIVE TESTS LOGS
+ if: failure()
+ run: |
+ make ct-logs-archive
+ - name: ON FAILURE UPLOAD TESTS LOGS ARTIFACT
+ # https://github.com/marketplace/actions/upload-artifact
+ uses: actions/upload-artifact@v2-preview
+ if: failure()
+ with:
+ name: ct-dynamic_ha-logs
+ path: "*-ct-logs-*.tar.xz"
+ # vim:sw=2:et:
+ ct-eager_sync:
+ needs: [checks]
+ # https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#contexts
+ name: ct-eager_sync
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ # https://github.com/marketplace/actions/setup-elixir
+ - name: CONFIGURE OTP & ELIXIR
+ uses: actions/setup-elixir@v1
+ with:
+ otp-version: 21.3
+ # https://github.com/elixir-lang/elixir/releases
+ elixir-version: 1.8.0
+ - name: CACHE DEPS
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-21.3_git-${{ github.sha }}_deps
+ - name: RUN TESTS
+ run: |
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ ! test -d ebin || touch ebin/*
+ make ct-eager_sync \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1
+ - name: CACHE SECONDARY UMBRELLAS
+ if: success() && 'oldest' == 'oldest'
+ uses: actions/cache@v1
+ with:
+ path: umbrellas
+ key: secondary-umbrellas-v3.7.0-erlang-21.3-rev3
+ - name: VERIFY SECONDARY UMBRELLA COPIES (in case of cache restore failure)
+ if: success() && 'oldest' == 'oldest'
+ run: |
+ set -x
+ for version in v3.7.0; do
+ umbrella="umbrellas/$version"
+ if ! test -d "$umbrella" ||
+ ! make -C "$umbrella/deps/rabbit" test-dist; then
+ rm -rf "$umbrella"
+
+ # Fetch the master Umbrella; the final umbrellas are created from
+ # the master copy.
+ if ! test -d umbrellas/master; then
+ git config --global advice.detachedHead false
+ git clone \
+ https://github.com/rabbitmq/rabbitmq-public-umbrella.git \
+ umbrellas/master
+ make -C umbrellas/master co # To get RabbitMQ components.
+ fi
+
+ # We copy the master Umbrella and checkout the appropriate tag.
+ cp -a umbrellas/master "$umbrella"
+ git -C "$umbrella" checkout "v3.7.x"
+ make -C "$umbrella" up BRANCH="$version"
+ # To remove third-party deps which were checked out when the
+ # projects were on the `master` branch. Thus, possibly not the
+ # version pinning we expect. We update the Umbrella one last time
+ # to fetch the correct third-party deps.
+ make -C "$umbrella" clean-3rd-party-repos
+ make -C "$umbrella" up
+ make -C "$umbrella/deps/rabbit" test-dist
+ rm -fr "$umbrella"/deps/*/{.git,test} "$umbrella"/.git
+ fi
+ done
+ rm -fr umbrellas/master
+ - name: RUN TESTS [mixed-versions]
+ if: success() && 'oldest' == 'oldest'
+ run: |
+ set -x
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ for umbrella in umbrellas/*; do
+ test -d "$umbrella"
+ printf '\n\033[1;32mMixing clusters with RabbitMQ %s\033[0m' \
+ $(basename "$umbrella")
+ make distclean-ct ct-eager_sync \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1 \
+ SECONDARY_UMBRELLA=$PWD/$umbrella \
+ RABBITMQ_FEATURE_FLAGS=
+ done
+ - name: ON FAILURE ARCHIVE TESTS LOGS
+ if: failure()
+ run: |
+ make ct-logs-archive
+ - name: ON FAILURE UPLOAD TESTS LOGS ARTIFACT
+ # https://github.com/marketplace/actions/upload-artifact
+ uses: actions/upload-artifact@v2-preview
+ if: failure()
+ with:
+ name: ct-eager_sync-logs
+ path: "*-ct-logs-*.tar.xz"
+ # vim:sw=2:et:
+ ct-feature_flags:
+ needs: [checks]
+ # https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#contexts
+ name: ct-feature_flags
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ # https://github.com/marketplace/actions/setup-elixir
+ - name: CONFIGURE OTP & ELIXIR
+ uses: actions/setup-elixir@v1
+ with:
+ otp-version: 21.3
+ # https://github.com/elixir-lang/elixir/releases
+ elixir-version: 1.8.0
+ - name: CACHE DEPS
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-21.3_git-${{ github.sha }}_deps
+ - name: RUN TESTS
+ run: |
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ ! test -d ebin || touch ebin/*
+ make ct-feature_flags \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1
+ - name: CACHE SECONDARY UMBRELLAS
+ if: success() && 'oldest' == 'oldest'
+ uses: actions/cache@v1
+ with:
+ path: umbrellas
+ key: secondary-umbrellas-v3.7.0-erlang-21.3-rev3
+ - name: VERIFY SECONDARY UMBRELLA COPIES (in case of cache restore failure)
+ if: success() && 'oldest' == 'oldest'
+ run: |
+ set -x
+ for version in v3.7.0; do
+ umbrella="umbrellas/$version"
+ if ! test -d "$umbrella" ||
+ ! make -C "$umbrella/deps/rabbit" test-dist; then
+ rm -rf "$umbrella"
+
+ # Fetch the master Umbrella; the final umbrellas are created from
+ # the master copy.
+ if ! test -d umbrellas/master; then
+ git config --global advice.detachedHead false
+ git clone \
+ https://github.com/rabbitmq/rabbitmq-public-umbrella.git \
+ umbrellas/master
+ make -C umbrellas/master co # To get RabbitMQ components.
+ fi
+
+ # We copy the master Umbrella and checkout the appropriate tag.
+ cp -a umbrellas/master "$umbrella"
+ git -C "$umbrella" checkout "v3.7.x"
+ make -C "$umbrella" up BRANCH="$version"
+ # To remove third-party deps which were checked out when the
+ # projects were on the `master` branch. Thus, possibly not the
+ # version pinning we expect. We update the Umbrella one last time
+ # to fetch the correct third-party deps.
+ make -C "$umbrella" clean-3rd-party-repos
+ make -C "$umbrella" up
+ make -C "$umbrella/deps/rabbit" test-dist
+ rm -fr "$umbrella"/deps/*/{.git,test} "$umbrella"/.git
+ fi
+ done
+ rm -fr umbrellas/master
+ - name: RUN TESTS [mixed-versions]
+ if: success() && 'oldest' == 'oldest'
+ run: |
+ set -x
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ for umbrella in umbrellas/*; do
+ test -d "$umbrella"
+ printf '\n\033[1;32mMixing clusters with RabbitMQ %s\033[0m' \
+ $(basename "$umbrella")
+ make distclean-ct ct-feature_flags \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1 \
+ SECONDARY_UMBRELLA=$PWD/$umbrella \
+ RABBITMQ_FEATURE_FLAGS=
+ done
+ - name: ON FAILURE ARCHIVE TESTS LOGS
+ if: failure()
+ run: |
+ make ct-logs-archive
+ - name: ON FAILURE UPLOAD TESTS LOGS ARTIFACT
+ # https://github.com/marketplace/actions/upload-artifact
+ uses: actions/upload-artifact@v2-preview
+ if: failure()
+ with:
+ name: ct-feature_flags-logs
+ path: "*-ct-logs-*.tar.xz"
+ # vim:sw=2:et:
+ ct-gm:
+ needs: [checks]
+ # https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#contexts
+ name: ct-gm
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ # https://github.com/marketplace/actions/setup-elixir
+ - name: CONFIGURE OTP & ELIXIR
+ uses: actions/setup-elixir@v1
+ with:
+ otp-version: 21.3
+ # https://github.com/elixir-lang/elixir/releases
+ elixir-version: 1.8.0
+ - name: CACHE DEPS
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-21.3_git-${{ github.sha }}_deps
+ - name: RUN TESTS
+ run: |
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ ! test -d ebin || touch ebin/*
+ make ct-gm \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1
+ - name: CACHE SECONDARY UMBRELLAS
+ if: success() && 'oldest' == 'oldest'
+ uses: actions/cache@v1
+ with:
+ path: umbrellas
+ key: secondary-umbrellas-v3.7.0-erlang-21.3-rev3
+ - name: VERIFY SECONDARY UMBRELLA COPIES (in case of cache restore failure)
+ if: success() && 'oldest' == 'oldest'
+ run: |
+ set -x
+ for version in v3.7.0; do
+ umbrella="umbrellas/$version"
+ if ! test -d "$umbrella" ||
+ ! make -C "$umbrella/deps/rabbit" test-dist; then
+ rm -rf "$umbrella"
+
+ # Fetch the master Umbrella; the final umbrellas are created from
+ # the master copy.
+ if ! test -d umbrellas/master; then
+ git config --global advice.detachedHead false
+ git clone \
+ https://github.com/rabbitmq/rabbitmq-public-umbrella.git \
+ umbrellas/master
+ make -C umbrellas/master co # To get RabbitMQ components.
+ fi
+
+ # We copy the master Umbrella and checkout the appropriate tag.
+ cp -a umbrellas/master "$umbrella"
+ git -C "$umbrella" checkout "v3.7.x"
+ make -C "$umbrella" up BRANCH="$version"
+ # To remove third-party deps which were checked out when the
+ # projects were on the `master` branch. Thus, possibly not the
+ # version pinning we expect. We update the Umbrella one last time
+ # to fetch the correct third-party deps.
+ make -C "$umbrella" clean-3rd-party-repos
+ make -C "$umbrella" up
+ make -C "$umbrella/deps/rabbit" test-dist
+ rm -fr "$umbrella"/deps/*/{.git,test} "$umbrella"/.git
+ fi
+ done
+ rm -fr umbrellas/master
+ - name: RUN TESTS [mixed-versions]
+ if: success() && 'oldest' == 'oldest'
+ run: |
+ set -x
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ for umbrella in umbrellas/*; do
+ test -d "$umbrella"
+ printf '\n\033[1;32mMixing clusters with RabbitMQ %s\033[0m' \
+ $(basename "$umbrella")
+ make distclean-ct ct-gm \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1 \
+ SECONDARY_UMBRELLA=$PWD/$umbrella \
+ RABBITMQ_FEATURE_FLAGS=
+ done
+ - name: ON FAILURE ARCHIVE TESTS LOGS
+ if: failure()
+ run: |
+ make ct-logs-archive
+ - name: ON FAILURE UPLOAD TESTS LOGS ARTIFACT
+ # https://github.com/marketplace/actions/upload-artifact
+ uses: actions/upload-artifact@v2-preview
+ if: failure()
+ with:
+ name: ct-gm-logs
+ path: "*-ct-logs-*.tar.xz"
+ # vim:sw=2:et:
+ ct-health_check:
+ needs: [checks]
+ # https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#contexts
+ name: ct-health_check
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ # https://github.com/marketplace/actions/setup-elixir
+ - name: CONFIGURE OTP & ELIXIR
+ uses: actions/setup-elixir@v1
+ with:
+ otp-version: 21.3
+ # https://github.com/elixir-lang/elixir/releases
+ elixir-version: 1.8.0
+ - name: CACHE DEPS
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-21.3_git-${{ github.sha }}_deps
+ - name: RUN TESTS
+ run: |
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ ! test -d ebin || touch ebin/*
+ make ct-health_check \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1
+ - name: CACHE SECONDARY UMBRELLAS
+ if: success() && 'oldest' == 'oldest'
+ uses: actions/cache@v1
+ with:
+ path: umbrellas
+ key: secondary-umbrellas-v3.7.0-erlang-21.3-rev3
+ - name: VERIFY SECONDARY UMBRELLA COPIES (in case of cache restore failure)
+ if: success() && 'oldest' == 'oldest'
+ run: |
+ set -x
+ for version in v3.7.0; do
+ umbrella="umbrellas/$version"
+ if ! test -d "$umbrella" ||
+ ! make -C "$umbrella/deps/rabbit" test-dist; then
+ rm -rf "$umbrella"
+
+ # Fetch the master Umbrella; the final umbrellas are created from
+ # the master copy.
+ if ! test -d umbrellas/master; then
+ git config --global advice.detachedHead false
+ git clone \
+ https://github.com/rabbitmq/rabbitmq-public-umbrella.git \
+ umbrellas/master
+ make -C umbrellas/master co # To get RabbitMQ components.
+ fi
+
+ # We copy the master Umbrella and checkout the appropriate tag.
+ cp -a umbrellas/master "$umbrella"
+ git -C "$umbrella" checkout "v3.7.x"
+ make -C "$umbrella" up BRANCH="$version"
+ # To remove third-party deps which were checked out when the
+ # projects were on the `master` branch. Thus, possibly not the
+ # version pinning we expect. We update the Umbrella one last time
+ # to fetch the correct third-party deps.
+ make -C "$umbrella" clean-3rd-party-repos
+ make -C "$umbrella" up
+ make -C "$umbrella/deps/rabbit" test-dist
+ rm -fr "$umbrella"/deps/*/{.git,test} "$umbrella"/.git
+ fi
+ done
+ rm -fr umbrellas/master
+ - name: RUN TESTS [mixed-versions]
+ if: success() && 'oldest' == 'oldest'
+ run: |
+ set -x
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ for umbrella in umbrellas/*; do
+ test -d "$umbrella"
+ printf '\n\033[1;32mMixing clusters with RabbitMQ %s\033[0m' \
+ $(basename "$umbrella")
+ make distclean-ct ct-health_check \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1 \
+ SECONDARY_UMBRELLA=$PWD/$umbrella \
+ RABBITMQ_FEATURE_FLAGS=
+ done
+ - name: ON FAILURE ARCHIVE TESTS LOGS
+ if: failure()
+ run: |
+ make ct-logs-archive
+ - name: ON FAILURE UPLOAD TESTS LOGS ARTIFACT
+ # https://github.com/marketplace/actions/upload-artifact
+ uses: actions/upload-artifact@v2-preview
+ if: failure()
+ with:
+ name: ct-health_check-logs
+ path: "*-ct-logs-*.tar.xz"
+ # vim:sw=2:et:
+ ct-lazy_queue:
+ needs: [checks]
+ # https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#contexts
+ name: ct-lazy_queue
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ # https://github.com/marketplace/actions/setup-elixir
+ - name: CONFIGURE OTP & ELIXIR
+ uses: actions/setup-elixir@v1
+ with:
+ otp-version: 21.3
+ # https://github.com/elixir-lang/elixir/releases
+ elixir-version: 1.8.0
+ - name: CACHE DEPS
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-21.3_git-${{ github.sha }}_deps
+ - name: RUN TESTS
+ run: |
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ ! test -d ebin || touch ebin/*
+ make ct-lazy_queue \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1
+ - name: CACHE SECONDARY UMBRELLAS
+ if: success() && 'oldest' == 'oldest'
+ uses: actions/cache@v1
+ with:
+ path: umbrellas
+ key: secondary-umbrellas-v3.7.0-erlang-21.3-rev3
+ - name: VERIFY SECONDARY UMBRELLA COPIES (in case of cache restore failure)
+ if: success() && 'oldest' == 'oldest'
+ run: |
+ set -x
+ for version in v3.7.0; do
+ umbrella="umbrellas/$version"
+ if ! test -d "$umbrella" ||
+ ! make -C "$umbrella/deps/rabbit" test-dist; then
+ rm -rf "$umbrella"
+
+ # Fetch the master Umbrella; the final umbrellas are created from
+ # the master copy.
+ if ! test -d umbrellas/master; then
+ git config --global advice.detachedHead false
+ git clone \
+ https://github.com/rabbitmq/rabbitmq-public-umbrella.git \
+ umbrellas/master
+ make -C umbrellas/master co # To get RabbitMQ components.
+ fi
+
+ # We copy the master Umbrella and checkout the appropriate tag.
+ cp -a umbrellas/master "$umbrella"
+ git -C "$umbrella" checkout "v3.7.x"
+ make -C "$umbrella" up BRANCH="$version"
+ # To remove third-party deps which were checked out when the
+ # projects were on the `master` branch. Thus, possibly not the
+ # version pinning we expect. We update the Umbrella one last time
+ # to fetch the correct third-party deps.
+ make -C "$umbrella" clean-3rd-party-repos
+ make -C "$umbrella" up
+ make -C "$umbrella/deps/rabbit" test-dist
+ rm -fr "$umbrella"/deps/*/{.git,test} "$umbrella"/.git
+ fi
+ done
+ rm -fr umbrellas/master
+ - name: RUN TESTS [mixed-versions]
+ if: success() && 'oldest' == 'oldest'
+ run: |
+ set -x
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ for umbrella in umbrellas/*; do
+ test -d "$umbrella"
+ printf '\n\033[1;32mMixing clusters with RabbitMQ %s\033[0m' \
+ $(basename "$umbrella")
+ make distclean-ct ct-lazy_queue \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1 \
+ SECONDARY_UMBRELLA=$PWD/$umbrella \
+ RABBITMQ_FEATURE_FLAGS=
+ done
+ - name: ON FAILURE ARCHIVE TESTS LOGS
+ if: failure()
+ run: |
+ make ct-logs-archive
+ - name: ON FAILURE UPLOAD TESTS LOGS ARTIFACT
+ # https://github.com/marketplace/actions/upload-artifact
+ uses: actions/upload-artifact@v2-preview
+ if: failure()
+ with:
+ name: ct-lazy_queue-logs
+ path: "*-ct-logs-*.tar.xz"
+ # vim:sw=2:et:
+ ct-list_consumers_sanity_check:
+ needs: [checks]
+ # https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#contexts
+ name: ct-list_consumers_sanity_check
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ # https://github.com/marketplace/actions/setup-elixir
+ - name: CONFIGURE OTP & ELIXIR
+ uses: actions/setup-elixir@v1
+ with:
+ otp-version: 21.3
+ # https://github.com/elixir-lang/elixir/releases
+ elixir-version: 1.8.0
+ - name: CACHE DEPS
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-21.3_git-${{ github.sha }}_deps
+ - name: RUN TESTS
+ run: |
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ ! test -d ebin || touch ebin/*
+ make ct-list_consumers_sanity_check \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1
+ - name: CACHE SECONDARY UMBRELLAS
+ if: success() && 'oldest' == 'oldest'
+ uses: actions/cache@v1
+ with:
+ path: umbrellas
+ key: secondary-umbrellas-v3.7.0-erlang-21.3-rev3
+ - name: VERIFY SECONDARY UMBRELLA COPIES (in case of cache restore failure)
+ if: success() && 'oldest' == 'oldest'
+ run: |
+ set -x
+ for version in v3.7.0; do
+ umbrella="umbrellas/$version"
+ if ! test -d "$umbrella" ||
+ ! make -C "$umbrella/deps/rabbit" test-dist; then
+ rm -rf "$umbrella"
+
+ # Fetch the master Umbrella; the final umbrellas are created from
+ # the master copy.
+ if ! test -d umbrellas/master; then
+ git config --global advice.detachedHead false
+ git clone \
+ https://github.com/rabbitmq/rabbitmq-public-umbrella.git \
+ umbrellas/master
+ make -C umbrellas/master co # To get RabbitMQ components.
+ fi
+
+ # We copy the master Umbrella and checkout the appropriate tag.
+ cp -a umbrellas/master "$umbrella"
+ git -C "$umbrella" checkout "v3.7.x"
+ make -C "$umbrella" up BRANCH="$version"
+ # To remove third-party deps which were checked out when the
+ # projects were on the `master` branch. Thus, possibly not the
+ # version pinning we expect. We update the Umbrella one last time
+ # to fetch the correct third-party deps.
+ make -C "$umbrella" clean-3rd-party-repos
+ make -C "$umbrella" up
+ make -C "$umbrella/deps/rabbit" test-dist
+ rm -fr "$umbrella"/deps/*/{.git,test} "$umbrella"/.git
+ fi
+ done
+ rm -fr umbrellas/master
+ - name: RUN TESTS [mixed-versions]
+ if: success() && 'oldest' == 'oldest'
+ run: |
+ set -x
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ for umbrella in umbrellas/*; do
+ test -d "$umbrella"
+ printf '\n\033[1;32mMixing clusters with RabbitMQ %s\033[0m' \
+ $(basename "$umbrella")
+ make distclean-ct ct-list_consumers_sanity_check \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1 \
+ SECONDARY_UMBRELLA=$PWD/$umbrella \
+ RABBITMQ_FEATURE_FLAGS=
+ done
+ - name: ON FAILURE ARCHIVE TESTS LOGS
+ if: failure()
+ run: |
+ make ct-logs-archive
+ - name: ON FAILURE UPLOAD TESTS LOGS ARTIFACT
+ # https://github.com/marketplace/actions/upload-artifact
+ uses: actions/upload-artifact@v2-preview
+ if: failure()
+ with:
+ name: ct-list_consumers_sanity_check-logs
+ path: "*-ct-logs-*.tar.xz"
+ # vim:sw=2:et:
+ ct-list_queues_online_and_offline:
+ needs: [checks]
+ # https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#contexts
+ name: ct-list_queues_online_and_offline
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ # https://github.com/marketplace/actions/setup-elixir
+ - name: CONFIGURE OTP & ELIXIR
+ uses: actions/setup-elixir@v1
+ with:
+ otp-version: 21.3
+ # https://github.com/elixir-lang/elixir/releases
+ elixir-version: 1.8.0
+ - name: CACHE DEPS
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-21.3_git-${{ github.sha }}_deps
+ - name: RUN TESTS
+ run: |
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ ! test -d ebin || touch ebin/*
+ make ct-list_queues_online_and_offline \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1
+ - name: CACHE SECONDARY UMBRELLAS
+ if: success() && 'oldest' == 'oldest'
+ uses: actions/cache@v1
+ with:
+ path: umbrellas
+ key: secondary-umbrellas-v3.7.0-erlang-21.3-rev3
+ - name: VERIFY SECONDARY UMBRELLA COPIES (in case of cache restore failure)
+ if: success() && 'oldest' == 'oldest'
+ run: |
+ set -x
+ for version in v3.7.0; do
+ umbrella="umbrellas/$version"
+ if ! test -d "$umbrella" ||
+ ! make -C "$umbrella/deps/rabbit" test-dist; then
+ rm -rf "$umbrella"
+
+ # Fetch the master Umbrella; the final umbrellas are created from
+ # the master copy.
+ if ! test -d umbrellas/master; then
+ git config --global advice.detachedHead false
+ git clone \
+ https://github.com/rabbitmq/rabbitmq-public-umbrella.git \
+ umbrellas/master
+ make -C umbrellas/master co # To get RabbitMQ components.
+ fi
+
+ # We copy the master Umbrella and checkout the appropriate tag.
+ cp -a umbrellas/master "$umbrella"
+ git -C "$umbrella" checkout "v3.7.x"
+ make -C "$umbrella" up BRANCH="$version"
+ # To remove third-party deps which were checked out when the
+ # projects were on the `master` branch. Thus, possibly not the
+ # version pinning we expect. We update the Umbrella one last time
+ # to fetch the correct third-party deps.
+ make -C "$umbrella" clean-3rd-party-repos
+ make -C "$umbrella" up
+ make -C "$umbrella/deps/rabbit" test-dist
+ rm -fr "$umbrella"/deps/*/{.git,test} "$umbrella"/.git
+ fi
+ done
+ rm -fr umbrellas/master
+ - name: RUN TESTS [mixed-versions]
+ if: success() && 'oldest' == 'oldest'
+ run: |
+ set -x
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ for umbrella in umbrellas/*; do
+ test -d "$umbrella"
+ printf '\n\033[1;32mMixing clusters with RabbitMQ %s\033[0m' \
+ $(basename "$umbrella")
+ make distclean-ct ct-list_queues_online_and_offline \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1 \
+ SECONDARY_UMBRELLA=$PWD/$umbrella \
+ RABBITMQ_FEATURE_FLAGS=
+ done
+ - name: ON FAILURE ARCHIVE TESTS LOGS
+ if: failure()
+ run: |
+ make ct-logs-archive
+ - name: ON FAILURE UPLOAD TESTS LOGS ARTIFACT
+ # https://github.com/marketplace/actions/upload-artifact
+ uses: actions/upload-artifact@v2-preview
+ if: failure()
+ with:
+ name: ct-list_queues_online_and_offline-logs
+ path: "*-ct-logs-*.tar.xz"
+ # vim:sw=2:et:
+ ct-many_node_ha:
+ needs: [checks]
+ # https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#contexts
+ name: ct-many_node_ha
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ # https://github.com/marketplace/actions/setup-elixir
+ - name: CONFIGURE OTP & ELIXIR
+ uses: actions/setup-elixir@v1
+ with:
+ otp-version: 21.3
+ # https://github.com/elixir-lang/elixir/releases
+ elixir-version: 1.8.0
+ - name: CACHE DEPS
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-21.3_git-${{ github.sha }}_deps
+ - name: RUN TESTS
+ run: |
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ ! test -d ebin || touch ebin/*
+ make ct-many_node_ha \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1
+ - name: CACHE SECONDARY UMBRELLAS
+ if: success() && 'oldest' == 'oldest'
+ uses: actions/cache@v1
+ with:
+ path: umbrellas
+ key: secondary-umbrellas-v3.7.0-erlang-21.3-rev3
+ - name: VERIFY SECONDARY UMBRELLA COPIES (in case of cache restore failure)
+ if: success() && 'oldest' == 'oldest'
+ run: |
+ set -x
+ for version in v3.7.0; do
+ umbrella="umbrellas/$version"
+ if ! test -d "$umbrella" ||
+ ! make -C "$umbrella/deps/rabbit" test-dist; then
+ rm -rf "$umbrella"
+
+ # Fetch the master Umbrella; the final umbrellas are created from
+ # the master copy.
+ if ! test -d umbrellas/master; then
+ git config --global advice.detachedHead false
+ git clone \
+ https://github.com/rabbitmq/rabbitmq-public-umbrella.git \
+ umbrellas/master
+ make -C umbrellas/master co # To get RabbitMQ components.
+ fi
+
+ # We copy the master Umbrella and checkout the appropriate tag.
+ cp -a umbrellas/master "$umbrella"
+ git -C "$umbrella" checkout "v3.7.x"
+ make -C "$umbrella" up BRANCH="$version"
+ # To remove third-party deps which were checked out when the
+ # projects were on the `master` branch. Thus, possibly not the
+ # version pinning we expect. We update the Umbrella one last time
+ # to fetch the correct third-party deps.
+ make -C "$umbrella" clean-3rd-party-repos
+ make -C "$umbrella" up
+ make -C "$umbrella/deps/rabbit" test-dist
+ rm -fr "$umbrella"/deps/*/{.git,test} "$umbrella"/.git
+ fi
+ done
+ rm -fr umbrellas/master
+ - name: RUN TESTS [mixed-versions]
+ if: success() && 'oldest' == 'oldest'
+ run: |
+ set -x
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ for umbrella in umbrellas/*; do
+ test -d "$umbrella"
+ printf '\n\033[1;32mMixing clusters with RabbitMQ %s\033[0m' \
+ $(basename "$umbrella")
+ make distclean-ct ct-many_node_ha \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1 \
+ SECONDARY_UMBRELLA=$PWD/$umbrella \
+ RABBITMQ_FEATURE_FLAGS=
+ done
+ - name: ON FAILURE ARCHIVE TESTS LOGS
+ if: failure()
+ run: |
+ make ct-logs-archive
+ - name: ON FAILURE UPLOAD TESTS LOGS ARTIFACT
+ # https://github.com/marketplace/actions/upload-artifact
+ uses: actions/upload-artifact@v2-preview
+ if: failure()
+ with:
+ name: ct-many_node_ha-logs
+ path: "*-ct-logs-*.tar.xz"
+ # vim:sw=2:et:
+ ct-metrics:
+ needs: [checks]
+ # https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#contexts
+ name: ct-metrics
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ # https://github.com/marketplace/actions/setup-elixir
+ - name: CONFIGURE OTP & ELIXIR
+ uses: actions/setup-elixir@v1
+ with:
+ otp-version: 21.3
+ # https://github.com/elixir-lang/elixir/releases
+ elixir-version: 1.8.0
+ - name: CACHE DEPS
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-21.3_git-${{ github.sha }}_deps
+ - name: RUN TESTS
+ run: |
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ ! test -d ebin || touch ebin/*
+ make ct-metrics \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1
+ - name: CACHE SECONDARY UMBRELLAS
+ if: success() && 'oldest' == 'oldest'
+ uses: actions/cache@v1
+ with:
+ path: umbrellas
+ key: secondary-umbrellas-v3.7.0-erlang-21.3-rev3
+ - name: VERIFY SECONDARY UMBRELLA COPIES (in case of cache restore failure)
+ if: success() && 'oldest' == 'oldest'
+ run: |
+ set -x
+ for version in v3.7.0; do
+ umbrella="umbrellas/$version"
+ if ! test -d "$umbrella" ||
+ ! make -C "$umbrella/deps/rabbit" test-dist; then
+ rm -rf "$umbrella"
+
+ # Fetch the master Umbrella; the final umbrellas are created from
+ # the master copy.
+ if ! test -d umbrellas/master; then
+ git config --global advice.detachedHead false
+ git clone \
+ https://github.com/rabbitmq/rabbitmq-public-umbrella.git \
+ umbrellas/master
+ make -C umbrellas/master co # To get RabbitMQ components.
+ fi
+
+ # We copy the master Umbrella and checkout the appropriate tag.
+ cp -a umbrellas/master "$umbrella"
+ git -C "$umbrella" checkout "v3.7.x"
+ make -C "$umbrella" up BRANCH="$version"
+ # To remove third-party deps which were checked out when the
+ # projects were on the `master` branch. Thus, possibly not the
+ # version pinning we expect. We update the Umbrella one last time
+ # to fetch the correct third-party deps.
+ make -C "$umbrella" clean-3rd-party-repos
+ make -C "$umbrella" up
+ make -C "$umbrella/deps/rabbit" test-dist
+ rm -fr "$umbrella"/deps/*/{.git,test} "$umbrella"/.git
+ fi
+ done
+ rm -fr umbrellas/master
+ - name: RUN TESTS [mixed-versions]
+ if: success() && 'oldest' == 'oldest'
+ run: |
+ set -x
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ for umbrella in umbrellas/*; do
+ test -d "$umbrella"
+ printf '\n\033[1;32mMixing clusters with RabbitMQ %s\033[0m' \
+ $(basename "$umbrella")
+ make distclean-ct ct-metrics \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1 \
+ SECONDARY_UMBRELLA=$PWD/$umbrella \
+ RABBITMQ_FEATURE_FLAGS=
+ done
+ - name: ON FAILURE ARCHIVE TESTS LOGS
+ if: failure()
+ run: |
+ make ct-logs-archive
+ - name: ON FAILURE UPLOAD TESTS LOGS ARTIFACT
+ # https://github.com/marketplace/actions/upload-artifact
+ uses: actions/upload-artifact@v2-preview
+ if: failure()
+ with:
+ name: ct-metrics-logs
+ path: "*-ct-logs-*.tar.xz"
+ # vim:sw=2:et:
+ ct-mirrored_supervisor:
+ needs: [checks]
+ # https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#contexts
+ name: ct-mirrored_supervisor
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ # https://github.com/marketplace/actions/setup-elixir
+ - name: CONFIGURE OTP & ELIXIR
+ uses: actions/setup-elixir@v1
+ with:
+ otp-version: 21.3
+ # https://github.com/elixir-lang/elixir/releases
+ elixir-version: 1.8.0
+ - name: CACHE DEPS
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-21.3_git-${{ github.sha }}_deps
+ - name: RUN TESTS
+ run: |
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ ! test -d ebin || touch ebin/*
+ make ct-mirrored_supervisor \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1
+ - name: CACHE SECONDARY UMBRELLAS
+ if: success() && 'oldest' == 'oldest'
+ uses: actions/cache@v1
+ with:
+ path: umbrellas
+ key: secondary-umbrellas-v3.7.0-erlang-21.3-rev3
+ - name: VERIFY SECONDARY UMBRELLA COPIES (in case of cache restore failure)
+ if: success() && 'oldest' == 'oldest'
+ run: |
+ set -x
+ for version in v3.7.0; do
+ umbrella="umbrellas/$version"
+ if ! test -d "$umbrella" ||
+ ! make -C "$umbrella/deps/rabbit" test-dist; then
+ rm -rf "$umbrella"
+
+ # Fetch the master Umbrella; the final umbrellas are created from
+ # the master copy.
+ if ! test -d umbrellas/master; then
+ git config --global advice.detachedHead false
+ git clone \
+ https://github.com/rabbitmq/rabbitmq-public-umbrella.git \
+ umbrellas/master
+ make -C umbrellas/master co # To get RabbitMQ components.
+ fi
+
+ # We copy the master Umbrella and checkout the appropriate tag.
+ cp -a umbrellas/master "$umbrella"
+ git -C "$umbrella" checkout "v3.7.x"
+ make -C "$umbrella" up BRANCH="$version"
+ # To remove third-party deps which were checked out when the
+ # projects were on the `master` branch. Thus, possibly not the
+ # version pinning we expect. We update the Umbrella one last time
+ # to fetch the correct third-party deps.
+ make -C "$umbrella" clean-3rd-party-repos
+ make -C "$umbrella" up
+ make -C "$umbrella/deps/rabbit" test-dist
+ rm -fr "$umbrella"/deps/*/{.git,test} "$umbrella"/.git
+ fi
+ done
+ rm -fr umbrellas/master
+ - name: RUN TESTS [mixed-versions]
+ if: success() && 'oldest' == 'oldest'
+ run: |
+ set -x
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ for umbrella in umbrellas/*; do
+ test -d "$umbrella"
+ printf '\n\033[1;32mMixing clusters with RabbitMQ %s\033[0m' \
+ $(basename "$umbrella")
+ make distclean-ct ct-mirrored_supervisor \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1 \
+ SECONDARY_UMBRELLA=$PWD/$umbrella \
+ RABBITMQ_FEATURE_FLAGS=
+ done
+ - name: ON FAILURE ARCHIVE TESTS LOGS
+ if: failure()
+ run: |
+ make ct-logs-archive
+ - name: ON FAILURE UPLOAD TESTS LOGS ARTIFACT
+ # https://github.com/marketplace/actions/upload-artifact
+ uses: actions/upload-artifact@v2-preview
+ if: failure()
+ with:
+ name: ct-mirrored_supervisor-logs
+ path: "*-ct-logs-*.tar.xz"
+ # vim:sw=2:et:
+ ct-msg_store:
+ needs: [checks]
+ # https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#contexts
+ name: ct-msg_store
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ # https://github.com/marketplace/actions/setup-elixir
+ - name: CONFIGURE OTP & ELIXIR
+ uses: actions/setup-elixir@v1
+ with:
+ otp-version: 21.3
+ # https://github.com/elixir-lang/elixir/releases
+ elixir-version: 1.8.0
+ - name: CACHE DEPS
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-21.3_git-${{ github.sha }}_deps
+ - name: RUN TESTS
+ run: |
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ ! test -d ebin || touch ebin/*
+ make ct-msg_store \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1
+ - name: CACHE SECONDARY UMBRELLAS
+ if: success() && 'oldest' == 'oldest'
+ uses: actions/cache@v1
+ with:
+ path: umbrellas
+ key: secondary-umbrellas-v3.7.0-erlang-21.3-rev3
+ - name: VERIFY SECONDARY UMBRELLA COPIES (in case of cache restore failure)
+ if: success() && 'oldest' == 'oldest'
+ run: |
+ set -x
+ for version in v3.7.0; do
+ umbrella="umbrellas/$version"
+ if ! test -d "$umbrella" ||
+ ! make -C "$umbrella/deps/rabbit" test-dist; then
+ rm -rf "$umbrella"
+
+ # Fetch the master Umbrella; the final umbrellas are created from
+ # the master copy.
+ if ! test -d umbrellas/master; then
+ git config --global advice.detachedHead false
+ git clone \
+ https://github.com/rabbitmq/rabbitmq-public-umbrella.git \
+ umbrellas/master
+ make -C umbrellas/master co # To get RabbitMQ components.
+ fi
+
+ # We copy the master Umbrella and checkout the appropriate tag.
+ cp -a umbrellas/master "$umbrella"
+ git -C "$umbrella" checkout "v3.7.x"
+ make -C "$umbrella" up BRANCH="$version"
+ # To remove third-party deps which were checked out when the
+ # projects were on the `master` branch. Thus, possibly not the
+ # version pinning we expect. We update the Umbrella one last time
+ # to fetch the correct third-party deps.
+ make -C "$umbrella" clean-3rd-party-repos
+ make -C "$umbrella" up
+ make -C "$umbrella/deps/rabbit" test-dist
+ rm -fr "$umbrella"/deps/*/{.git,test} "$umbrella"/.git
+ fi
+ done
+ rm -fr umbrellas/master
+ - name: RUN TESTS [mixed-versions]
+ if: success() && 'oldest' == 'oldest'
+ run: |
+ set -x
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ for umbrella in umbrellas/*; do
+ test -d "$umbrella"
+ printf '\n\033[1;32mMixing clusters with RabbitMQ %s\033[0m' \
+ $(basename "$umbrella")
+ make distclean-ct ct-msg_store \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1 \
+ SECONDARY_UMBRELLA=$PWD/$umbrella \
+ RABBITMQ_FEATURE_FLAGS=
+ done
+ - name: ON FAILURE ARCHIVE TESTS LOGS
+ if: failure()
+ run: |
+ make ct-logs-archive
+ - name: ON FAILURE UPLOAD TESTS LOGS ARTIFACT
+ # https://github.com/marketplace/actions/upload-artifact
+ uses: actions/upload-artifact@v2-preview
+ if: failure()
+ with:
+ name: ct-msg_store-logs
+ path: "*-ct-logs-*.tar.xz"
+ # vim:sw=2:et:
+ ct-peer_discovery_dns:
+ needs: [checks]
+ # https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#contexts
+ name: ct-peer_discovery_dns
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ # https://github.com/marketplace/actions/setup-elixir
+ - name: CONFIGURE OTP & ELIXIR
+ uses: actions/setup-elixir@v1
+ with:
+ otp-version: 21.3
+ # https://github.com/elixir-lang/elixir/releases
+ elixir-version: 1.8.0
+ - name: CACHE DEPS
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-21.3_git-${{ github.sha }}_deps
+ - name: RUN TESTS
+ run: |
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ ! test -d ebin || touch ebin/*
+ make ct-peer_discovery_dns \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1
+ - name: CACHE SECONDARY UMBRELLAS
+ if: success() && 'oldest' == 'oldest'
+ uses: actions/cache@v1
+ with:
+ path: umbrellas
+ key: secondary-umbrellas-v3.7.0-erlang-21.3-rev3
+ - name: VERIFY SECONDARY UMBRELLA COPIES (in case of cache restore failure)
+ if: success() && 'oldest' == 'oldest'
+ run: |
+ set -x
+ for version in v3.7.0; do
+ umbrella="umbrellas/$version"
+ if ! test -d "$umbrella" ||
+ ! make -C "$umbrella/deps/rabbit" test-dist; then
+ rm -rf "$umbrella"
+
+ # Fetch the master Umbrella; the final umbrellas are created from
+ # the master copy.
+ if ! test -d umbrellas/master; then
+ git config --global advice.detachedHead false
+ git clone \
+ https://github.com/rabbitmq/rabbitmq-public-umbrella.git \
+ umbrellas/master
+ make -C umbrellas/master co # To get RabbitMQ components.
+ fi
+
+ # We copy the master Umbrella and checkout the appropriate tag.
+ cp -a umbrellas/master "$umbrella"
+ git -C "$umbrella" checkout "v3.7.x"
+ make -C "$umbrella" up BRANCH="$version"
+ # To remove third-party deps which were checked out when the
+ # projects were on the `master` branch. Thus, possibly not the
+ # version pinning we expect. We update the Umbrella one last time
+ # to fetch the correct third-party deps.
+ make -C "$umbrella" clean-3rd-party-repos
+ make -C "$umbrella" up
+ make -C "$umbrella/deps/rabbit" test-dist
+ rm -fr "$umbrella"/deps/*/{.git,test} "$umbrella"/.git
+ fi
+ done
+ rm -fr umbrellas/master
+ - name: RUN TESTS [mixed-versions]
+ if: success() && 'oldest' == 'oldest'
+ run: |
+ set -x
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ for umbrella in umbrellas/*; do
+ test -d "$umbrella"
+ printf '\n\033[1;32mMixing clusters with RabbitMQ %s\033[0m' \
+ $(basename "$umbrella")
+ make distclean-ct ct-peer_discovery_dns \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1 \
+ SECONDARY_UMBRELLA=$PWD/$umbrella \
+ RABBITMQ_FEATURE_FLAGS=
+ done
+ - name: ON FAILURE ARCHIVE TESTS LOGS
+ if: failure()
+ run: |
+ make ct-logs-archive
+ - name: ON FAILURE UPLOAD TESTS LOGS ARTIFACT
+ # https://github.com/marketplace/actions/upload-artifact
+ uses: actions/upload-artifact@v2-preview
+ if: failure()
+ with:
+ name: ct-peer_discovery_dns-logs
+ path: "*-ct-logs-*.tar.xz"
+ # vim:sw=2:et:
+ ct-per_user_connection_tracking:
+ needs: [checks]
+ # https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#contexts
+ name: ct-per_user_connection_tracking
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ # https://github.com/marketplace/actions/setup-elixir
+ - name: CONFIGURE OTP & ELIXIR
+ uses: actions/setup-elixir@v1
+ with:
+ otp-version: 21.3
+ # https://github.com/elixir-lang/elixir/releases
+ elixir-version: 1.8.0
+ - name: CACHE DEPS
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-21.3_git-${{ github.sha }}_deps
+ - name: RUN TESTS
+ run: |
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ ! test -d ebin || touch ebin/*
+ make ct-per_user_connection_tracking \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1
+ - name: CACHE SECONDARY UMBRELLAS
+ if: success() && 'oldest' == 'oldest'
+ uses: actions/cache@v1
+ with:
+ path: umbrellas
+ key: secondary-umbrellas-v3.7.0-erlang-21.3-rev3
+ - name: VERIFY SECONDARY UMBRELLA COPIES (in case of cache restore failure)
+ if: success() && 'oldest' == 'oldest'
+ run: |
+ set -x
+ for version in v3.7.0; do
+ umbrella="umbrellas/$version"
+ if ! test -d "$umbrella" ||
+ ! make -C "$umbrella/deps/rabbit" test-dist; then
+ rm -rf "$umbrella"
+
+ # Fetch the master Umbrella; the final umbrellas are created from
+ # the master copy.
+ if ! test -d umbrellas/master; then
+ git config --global advice.detachedHead false
+ git clone \
+ https://github.com/rabbitmq/rabbitmq-public-umbrella.git \
+ umbrellas/master
+ make -C umbrellas/master co # To get RabbitMQ components.
+ fi
+
+ # We copy the master Umbrella and checkout the appropriate tag.
+ cp -a umbrellas/master "$umbrella"
+ git -C "$umbrella" checkout "v3.7.x"
+ make -C "$umbrella" up BRANCH="$version"
+ # To remove third-party deps which were checked out when the
+ # projects were on the `master` branch. Thus, possibly not the
+ # version pinning we expect. We update the Umbrella one last time
+ # to fetch the correct third-party deps.
+ make -C "$umbrella" clean-3rd-party-repos
+ make -C "$umbrella" up
+ make -C "$umbrella/deps/rabbit" test-dist
+ rm -fr "$umbrella"/deps/*/{.git,test} "$umbrella"/.git
+ fi
+ done
+ rm -fr umbrellas/master
+ - name: RUN TESTS [mixed-versions]
+ if: success() && 'oldest' == 'oldest'
+ run: |
+ set -x
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ for umbrella in umbrellas/*; do
+ test -d "$umbrella"
+ printf '\n\033[1;32mMixing clusters with RabbitMQ %s\033[0m' \
+ $(basename "$umbrella")
+ make distclean-ct ct-per_user_connection_tracking \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1 \
+ SECONDARY_UMBRELLA=$PWD/$umbrella \
+ RABBITMQ_FEATURE_FLAGS=
+ done
+ - name: ON FAILURE ARCHIVE TESTS LOGS
+ if: failure()
+ run: |
+ make ct-logs-archive
+ - name: ON FAILURE UPLOAD TESTS LOGS ARTIFACT
+ # https://github.com/marketplace/actions/upload-artifact
+ uses: actions/upload-artifact@v2-preview
+ if: failure()
+ with:
+ name: ct-per_user_connection_tracking-logs
+ path: "*-ct-logs-*.tar.xz"
+ # vim:sw=2:et:
+ ct-per_vhost_connection_limit:
+ needs: [checks]
+ # https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#contexts
+ name: ct-per_vhost_connection_limit
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ # https://github.com/marketplace/actions/setup-elixir
+ - name: CONFIGURE OTP & ELIXIR
+ uses: actions/setup-elixir@v1
+ with:
+ otp-version: 21.3
+ # https://github.com/elixir-lang/elixir/releases
+ elixir-version: 1.8.0
+ - name: CACHE DEPS
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-21.3_git-${{ github.sha }}_deps
+ - name: RUN TESTS
+ run: |
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ ! test -d ebin || touch ebin/*
+ make ct-per_vhost_connection_limit \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1
+ - name: CACHE SECONDARY UMBRELLAS
+ if: success() && 'oldest' == 'oldest'
+ uses: actions/cache@v1
+ with:
+ path: umbrellas
+ key: secondary-umbrellas-v3.7.0-erlang-21.3-rev3
+ - name: VERIFY SECONDARY UMBRELLA COPIES (in case of cache restore failure)
+ if: success() && 'oldest' == 'oldest'
+ run: |
+ set -x
+ for version in v3.7.0; do
+ umbrella="umbrellas/$version"
+ if ! test -d "$umbrella" ||
+ ! make -C "$umbrella/deps/rabbit" test-dist; then
+ rm -rf "$umbrella"
+
+ # Fetch the master Umbrella; the final umbrellas are created from
+ # the master copy.
+ if ! test -d umbrellas/master; then
+ git config --global advice.detachedHead false
+ git clone \
+ https://github.com/rabbitmq/rabbitmq-public-umbrella.git \
+ umbrellas/master
+ make -C umbrellas/master co # To get RabbitMQ components.
+ fi
+
+ # We copy the master Umbrella and checkout the appropriate tag.
+ cp -a umbrellas/master "$umbrella"
+ git -C "$umbrella" checkout "v3.7.x"
+ make -C "$umbrella" up BRANCH="$version"
+ # To remove third-party deps which were checked out when the
+ # projects were on the `master` branch. Thus, possibly not the
+ # version pinning we expect. We update the Umbrella one last time
+ # to fetch the correct third-party deps.
+ make -C "$umbrella" clean-3rd-party-repos
+ make -C "$umbrella" up
+ make -C "$umbrella/deps/rabbit" test-dist
+ rm -fr "$umbrella"/deps/*/{.git,test} "$umbrella"/.git
+ fi
+ done
+ rm -fr umbrellas/master
+ - name: RUN TESTS [mixed-versions]
+ if: success() && 'oldest' == 'oldest'
+ run: |
+ set -x
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ for umbrella in umbrellas/*; do
+ test -d "$umbrella"
+ printf '\n\033[1;32mMixing clusters with RabbitMQ %s\033[0m' \
+ $(basename "$umbrella")
+ make distclean-ct ct-per_vhost_connection_limit \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1 \
+ SECONDARY_UMBRELLA=$PWD/$umbrella \
+ RABBITMQ_FEATURE_FLAGS=
+ done
+ - name: ON FAILURE ARCHIVE TESTS LOGS
+ if: failure()
+ run: |
+ make ct-logs-archive
+ - name: ON FAILURE UPLOAD TESTS LOGS ARTIFACT
+ # https://github.com/marketplace/actions/upload-artifact
+ uses: actions/upload-artifact@v2-preview
+ if: failure()
+ with:
+ name: ct-per_vhost_connection_limit-logs
+ path: "*-ct-logs-*.tar.xz"
+ # vim:sw=2:et:
+ ct-per_vhost_connection_limit_partitions:
+ needs: [checks]
+ # https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#contexts
+ name: ct-per_vhost_connection_limit_partitions
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ # https://github.com/marketplace/actions/setup-elixir
+ - name: CONFIGURE OTP & ELIXIR
+ uses: actions/setup-elixir@v1
+ with:
+ otp-version: 21.3
+ # https://github.com/elixir-lang/elixir/releases
+ elixir-version: 1.8.0
+ - name: CACHE DEPS
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-21.3_git-${{ github.sha }}_deps
+ - name: RUN TESTS
+ run: |
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ ! test -d ebin || touch ebin/*
+ make ct-per_vhost_connection_limit_partitions \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1
+ - name: CACHE SECONDARY UMBRELLAS
+ if: success() && 'oldest' == 'oldest'
+ uses: actions/cache@v1
+ with:
+ path: umbrellas
+ key: secondary-umbrellas-v3.7.0-erlang-21.3-rev3
+ - name: VERIFY SECONDARY UMBRELLA COPIES (in case of cache restore failure)
+ if: success() && 'oldest' == 'oldest'
+ run: |
+ set -x
+ for version in v3.7.0; do
+ umbrella="umbrellas/$version"
+ if ! test -d "$umbrella" ||
+ ! make -C "$umbrella/deps/rabbit" test-dist; then
+ rm -rf "$umbrella"
+
+ # Fetch the master Umbrella; the final umbrellas are created from
+ # the master copy.
+ if ! test -d umbrellas/master; then
+ git config --global advice.detachedHead false
+ git clone \
+ https://github.com/rabbitmq/rabbitmq-public-umbrella.git \
+ umbrellas/master
+ make -C umbrellas/master co # To get RabbitMQ components.
+ fi
+
+ # We copy the master Umbrella and checkout the appropriate tag.
+ cp -a umbrellas/master "$umbrella"
+ git -C "$umbrella" checkout "v3.7.x"
+ make -C "$umbrella" up BRANCH="$version"
+ # To remove third-party deps which were checked out when the
+ # projects were on the `master` branch. Thus, possibly not the
+ # version pinning we expect. We update the Umbrella one last time
+ # to fetch the correct third-party deps.
+ make -C "$umbrella" clean-3rd-party-repos
+ make -C "$umbrella" up
+ make -C "$umbrella/deps/rabbit" test-dist
+ rm -fr "$umbrella"/deps/*/{.git,test} "$umbrella"/.git
+ fi
+ done
+ rm -fr umbrellas/master
+ - name: RUN TESTS [mixed-versions]
+ if: success() && 'oldest' == 'oldest'
+ run: |
+ set -x
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ for umbrella in umbrellas/*; do
+ test -d "$umbrella"
+ printf '\n\033[1;32mMixing clusters with RabbitMQ %s\033[0m' \
+ $(basename "$umbrella")
+ make distclean-ct ct-per_vhost_connection_limit_partitions \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1 \
+ SECONDARY_UMBRELLA=$PWD/$umbrella \
+ RABBITMQ_FEATURE_FLAGS=
+ done
+ - name: ON FAILURE ARCHIVE TESTS LOGS
+ if: failure()
+ run: |
+ make ct-logs-archive
+ - name: ON FAILURE UPLOAD TESTS LOGS ARTIFACT
+ # https://github.com/marketplace/actions/upload-artifact
+ uses: actions/upload-artifact@v2-preview
+ if: failure()
+ with:
+ name: ct-per_vhost_connection_limit_partitions-logs
+ path: "*-ct-logs-*.tar.xz"
+ # vim:sw=2:et:
+ ct-per_vhost_msg_store:
+ needs: [checks]
+ # https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#contexts
+ name: ct-per_vhost_msg_store
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ # https://github.com/marketplace/actions/setup-elixir
+ - name: CONFIGURE OTP & ELIXIR
+ uses: actions/setup-elixir@v1
+ with:
+ otp-version: 21.3
+ # https://github.com/elixir-lang/elixir/releases
+ elixir-version: 1.8.0
+ - name: CACHE DEPS
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-21.3_git-${{ github.sha }}_deps
+ - name: RUN TESTS
+ run: |
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ ! test -d ebin || touch ebin/*
+ make ct-per_vhost_msg_store \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1
+ - name: CACHE SECONDARY UMBRELLAS
+ if: success() && 'oldest' == 'oldest'
+ uses: actions/cache@v1
+ with:
+ path: umbrellas
+ key: secondary-umbrellas-v3.7.0-erlang-21.3-rev3
+ - name: VERIFY SECONDARY UMBRELLA COPIES (in case of cache restore failure)
+ if: success() && 'oldest' == 'oldest'
+ run: |
+ set -x
+ for version in v3.7.0; do
+ umbrella="umbrellas/$version"
+ if ! test -d "$umbrella" ||
+ ! make -C "$umbrella/deps/rabbit" test-dist; then
+ rm -rf "$umbrella"
+
+ # Fetch the master Umbrella; the final umbrellas are created from
+ # the master copy.
+ if ! test -d umbrellas/master; then
+ git config --global advice.detachedHead false
+ git clone \
+ https://github.com/rabbitmq/rabbitmq-public-umbrella.git \
+ umbrellas/master
+ make -C umbrellas/master co # To get RabbitMQ components.
+ fi
+
+ # We copy the master Umbrella and checkout the appropriate tag.
+ cp -a umbrellas/master "$umbrella"
+ git -C "$umbrella" checkout "v3.7.x"
+ make -C "$umbrella" up BRANCH="$version"
+ # To remove third-party deps which were checked out when the
+ # projects were on the `master` branch. Thus, possibly not the
+ # version pinning we expect. We update the Umbrella one last time
+ # to fetch the correct third-party deps.
+ make -C "$umbrella" clean-3rd-party-repos
+ make -C "$umbrella" up
+ make -C "$umbrella/deps/rabbit" test-dist
+ rm -fr "$umbrella"/deps/*/{.git,test} "$umbrella"/.git
+ fi
+ done
+ rm -fr umbrellas/master
+ - name: RUN TESTS [mixed-versions]
+ if: success() && 'oldest' == 'oldest'
+ run: |
+ set -x
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ for umbrella in umbrellas/*; do
+ test -d "$umbrella"
+ printf '\n\033[1;32mMixing clusters with RabbitMQ %s\033[0m' \
+ $(basename "$umbrella")
+ make distclean-ct ct-per_vhost_msg_store \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1 \
+ SECONDARY_UMBRELLA=$PWD/$umbrella \
+ RABBITMQ_FEATURE_FLAGS=
+ done
+ - name: ON FAILURE ARCHIVE TESTS LOGS
+ if: failure()
+ run: |
+ make ct-logs-archive
+ - name: ON FAILURE UPLOAD TESTS LOGS ARTIFACT
+ # https://github.com/marketplace/actions/upload-artifact
+ uses: actions/upload-artifact@v2-preview
+ if: failure()
+ with:
+ name: ct-per_vhost_msg_store-logs
+ path: "*-ct-logs-*.tar.xz"
+ # vim:sw=2:et:
+ ct-per_vhost_queue_limit:
+ needs: [checks]
+ # https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#contexts
+ name: ct-per_vhost_queue_limit
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ # https://github.com/marketplace/actions/setup-elixir
+ - name: CONFIGURE OTP & ELIXIR
+ uses: actions/setup-elixir@v1
+ with:
+ otp-version: 21.3
+ # https://github.com/elixir-lang/elixir/releases
+ elixir-version: 1.8.0
+ - name: CACHE DEPS
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-21.3_git-${{ github.sha }}_deps
+ - name: RUN TESTS
+ run: |
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ ! test -d ebin || touch ebin/*
+ make ct-per_vhost_queue_limit \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1
+ - name: CACHE SECONDARY UMBRELLAS
+ if: success() && 'oldest' == 'oldest'
+ uses: actions/cache@v1
+ with:
+ path: umbrellas
+ key: secondary-umbrellas-v3.7.0-erlang-21.3-rev3
+ - name: VERIFY SECONDARY UMBRELLA COPIES (in case of cache restore failure)
+ if: success() && 'oldest' == 'oldest'
+ run: |
+ set -x
+ for version in v3.7.0; do
+ umbrella="umbrellas/$version"
+ if ! test -d "$umbrella" ||
+ ! make -C "$umbrella/deps/rabbit" test-dist; then
+ rm -rf "$umbrella"
+
+ # Fetch the master Umbrella; the final umbrellas are created from
+ # the master copy.
+ if ! test -d umbrellas/master; then
+ git config --global advice.detachedHead false
+ git clone \
+ https://github.com/rabbitmq/rabbitmq-public-umbrella.git \
+ umbrellas/master
+ make -C umbrellas/master co # To get RabbitMQ components.
+ fi
+
+ # We copy the master Umbrella and checkout the appropriate tag.
+ cp -a umbrellas/master "$umbrella"
+ git -C "$umbrella" checkout "v3.7.x"
+ make -C "$umbrella" up BRANCH="$version"
+ # To remove third-party deps which were checked out when the
+ # projects were on the `master` branch. Thus, possibly not the
+ # version pinning we expect. We update the Umbrella one last time
+ # to fetch the correct third-party deps.
+ make -C "$umbrella" clean-3rd-party-repos
+ make -C "$umbrella" up
+ make -C "$umbrella/deps/rabbit" test-dist
+ rm -fr "$umbrella"/deps/*/{.git,test} "$umbrella"/.git
+ fi
+ done
+ rm -fr umbrellas/master
+ - name: RUN TESTS [mixed-versions]
+ if: success() && 'oldest' == 'oldest'
+ run: |
+ set -x
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ for umbrella in umbrellas/*; do
+ test -d "$umbrella"
+ printf '\n\033[1;32mMixing clusters with RabbitMQ %s\033[0m' \
+ $(basename "$umbrella")
+ make distclean-ct ct-per_vhost_queue_limit \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1 \
+ SECONDARY_UMBRELLA=$PWD/$umbrella \
+ RABBITMQ_FEATURE_FLAGS=
+ done
+ - name: ON FAILURE ARCHIVE TESTS LOGS
+ if: failure()
+ run: |
+ make ct-logs-archive
+ - name: ON FAILURE UPLOAD TESTS LOGS ARTIFACT
+ # https://github.com/marketplace/actions/upload-artifact
+ uses: actions/upload-artifact@v2-preview
+ if: failure()
+ with:
+ name: ct-per_vhost_queue_limit-logs
+ path: "*-ct-logs-*.tar.xz"
+ # vim:sw=2:et:
+ ct-plugin_versioning:
+ needs: [checks]
+ # https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#contexts
+ name: ct-plugin_versioning
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ # https://github.com/marketplace/actions/setup-elixir
+ - name: CONFIGURE OTP & ELIXIR
+ uses: actions/setup-elixir@v1
+ with:
+ otp-version: 21.3
+ # https://github.com/elixir-lang/elixir/releases
+ elixir-version: 1.8.0
+ - name: CACHE DEPS
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-21.3_git-${{ github.sha }}_deps
+ - name: RUN TESTS
+ run: |
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ ! test -d ebin || touch ebin/*
+ make ct-plugin_versioning \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1
+ - name: CACHE SECONDARY UMBRELLAS
+ if: success() && 'oldest' == 'oldest'
+ uses: actions/cache@v1
+ with:
+ path: umbrellas
+ key: secondary-umbrellas-v3.7.0-erlang-21.3-rev3
+ - name: VERIFY SECONDARY UMBRELLA COPIES (in case of cache restore failure)
+ if: success() && 'oldest' == 'oldest'
+ run: |
+ set -x
+ for version in v3.7.0; do
+ umbrella="umbrellas/$version"
+ if ! test -d "$umbrella" ||
+ ! make -C "$umbrella/deps/rabbit" test-dist; then
+ rm -rf "$umbrella"
+
+ # Fetch the master Umbrella; the final umbrellas are created from
+ # the master copy.
+ if ! test -d umbrellas/master; then
+ git config --global advice.detachedHead false
+ git clone \
+ https://github.com/rabbitmq/rabbitmq-public-umbrella.git \
+ umbrellas/master
+ make -C umbrellas/master co # To get RabbitMQ components.
+ fi
+
+ # We copy the master Umbrella and checkout the appropriate tag.
+ cp -a umbrellas/master "$umbrella"
+ git -C "$umbrella" checkout "v3.7.x"
+ make -C "$umbrella" up BRANCH="$version"
+ # To remove third-party deps which were checked out when the
+ # projects were on the `master` branch. Thus, possibly not the
+ # version pinning we expect. We update the Umbrella one last time
+ # to fetch the correct third-party deps.
+ make -C "$umbrella" clean-3rd-party-repos
+ make -C "$umbrella" up
+ make -C "$umbrella/deps/rabbit" test-dist
+ rm -fr "$umbrella"/deps/*/{.git,test} "$umbrella"/.git
+ fi
+ done
+ rm -fr umbrellas/master
+ - name: RUN TESTS [mixed-versions]
+ if: success() && 'oldest' == 'oldest'
+ run: |
+ set -x
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ for umbrella in umbrellas/*; do
+ test -d "$umbrella"
+ printf '\n\033[1;32mMixing clusters with RabbitMQ %s\033[0m' \
+ $(basename "$umbrella")
+ make distclean-ct ct-plugin_versioning \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1 \
+ SECONDARY_UMBRELLA=$PWD/$umbrella \
+ RABBITMQ_FEATURE_FLAGS=
+ done
+ - name: ON FAILURE ARCHIVE TESTS LOGS
+ if: failure()
+ run: |
+ make ct-logs-archive
+ - name: ON FAILURE UPLOAD TESTS LOGS ARTIFACT
+ # https://github.com/marketplace/actions/upload-artifact
+ uses: actions/upload-artifact@v2-preview
+ if: failure()
+ with:
+ name: ct-plugin_versioning-logs
+ path: "*-ct-logs-*.tar.xz"
+ # vim:sw=2:et:
+ ct-policy:
+ needs: [checks]
+ # https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#contexts
+ name: ct-policy
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ # https://github.com/marketplace/actions/setup-elixir
+ - name: CONFIGURE OTP & ELIXIR
+ uses: actions/setup-elixir@v1
+ with:
+ otp-version: 21.3
+ # https://github.com/elixir-lang/elixir/releases
+ elixir-version: 1.8.0
+ - name: CACHE DEPS
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-21.3_git-${{ github.sha }}_deps
+ - name: RUN TESTS
+ run: |
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ ! test -d ebin || touch ebin/*
+ make ct-policy \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1
+ - name: CACHE SECONDARY UMBRELLAS
+ if: success() && 'oldest' == 'oldest'
+ uses: actions/cache@v1
+ with:
+ path: umbrellas
+ key: secondary-umbrellas-v3.7.0-erlang-21.3-rev3
+ - name: VERIFY SECONDARY UMBRELLA COPIES (in case of cache restore failure)
+ if: success() && 'oldest' == 'oldest'
+ run: |
+ set -x
+ for version in v3.7.0; do
+ umbrella="umbrellas/$version"
+ if ! test -d "$umbrella" ||
+ ! make -C "$umbrella/deps/rabbit" test-dist; then
+ rm -rf "$umbrella"
+
+ # Fetch the master Umbrella; the final umbrellas are created from
+ # the master copy.
+ if ! test -d umbrellas/master; then
+ git config --global advice.detachedHead false
+ git clone \
+ https://github.com/rabbitmq/rabbitmq-public-umbrella.git \
+ umbrellas/master
+ make -C umbrellas/master co # To get RabbitMQ components.
+ fi
+
+ # We copy the master Umbrella and checkout the appropriate tag.
+ cp -a umbrellas/master "$umbrella"
+ git -C "$umbrella" checkout "v3.7.x"
+ make -C "$umbrella" up BRANCH="$version"
+ # To remove third-party deps which were checked out when the
+ # projects were on the `master` branch. Thus, possibly not the
+ # version pinning we expect. We update the Umbrella one last time
+ # to fetch the correct third-party deps.
+ make -C "$umbrella" clean-3rd-party-repos
+ make -C "$umbrella" up
+ make -C "$umbrella/deps/rabbit" test-dist
+ rm -fr "$umbrella"/deps/*/{.git,test} "$umbrella"/.git
+ fi
+ done
+ rm -fr umbrellas/master
+ - name: RUN TESTS [mixed-versions]
+ if: success() && 'oldest' == 'oldest'
+ run: |
+ set -x
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ for umbrella in umbrellas/*; do
+ test -d "$umbrella"
+ printf '\n\033[1;32mMixing clusters with RabbitMQ %s\033[0m' \
+ $(basename "$umbrella")
+ make distclean-ct ct-policy \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1 \
+ SECONDARY_UMBRELLA=$PWD/$umbrella \
+ RABBITMQ_FEATURE_FLAGS=
+ done
+ - name: ON FAILURE ARCHIVE TESTS LOGS
+ if: failure()
+ run: |
+ make ct-logs-archive
+ - name: ON FAILURE UPLOAD TESTS LOGS ARTIFACT
+ # https://github.com/marketplace/actions/upload-artifact
+ uses: actions/upload-artifact@v2-preview
+ if: failure()
+ with:
+ name: ct-policy-logs
+ path: "*-ct-logs-*.tar.xz"
+ # vim:sw=2:et:
+ ct-priority_queue:
+ needs: [checks]
+ # https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#contexts
+ name: ct-priority_queue
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ # https://github.com/marketplace/actions/setup-elixir
+ - name: CONFIGURE OTP & ELIXIR
+ uses: actions/setup-elixir@v1
+ with:
+ otp-version: 21.3
+ # https://github.com/elixir-lang/elixir/releases
+ elixir-version: 1.8.0
+ - name: CACHE DEPS
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-21.3_git-${{ github.sha }}_deps
+ - name: RUN TESTS
+ run: |
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ ! test -d ebin || touch ebin/*
+ make ct-priority_queue \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1
+ - name: CACHE SECONDARY UMBRELLAS
+ if: success() && 'oldest' == 'oldest'
+ uses: actions/cache@v1
+ with:
+ path: umbrellas
+ key: secondary-umbrellas-v3.7.0-erlang-21.3-rev3
+ - name: VERIFY SECONDARY UMBRELLA COPIES (in case of cache restore failure)
+ if: success() && 'oldest' == 'oldest'
+ run: |
+ set -x
+ for version in v3.7.0; do
+ umbrella="umbrellas/$version"
+ if ! test -d "$umbrella" ||
+ ! make -C "$umbrella/deps/rabbit" test-dist; then
+ rm -rf "$umbrella"
+
+ # Fetch the master Umbrella; the final umbrellas are created from
+ # the master copy.
+ if ! test -d umbrellas/master; then
+ git config --global advice.detachedHead false
+ git clone \
+ https://github.com/rabbitmq/rabbitmq-public-umbrella.git \
+ umbrellas/master
+ make -C umbrellas/master co # To get RabbitMQ components.
+ fi
+
+ # We copy the master Umbrella and checkout the appropriate tag.
+ cp -a umbrellas/master "$umbrella"
+ git -C "$umbrella" checkout "v3.7.x"
+ make -C "$umbrella" up BRANCH="$version"
+ # To remove third-party deps which were checked out when the
+ # projects were on the `master` branch. Thus, possibly not the
+ # version pinning we expect. We update the Umbrella one last time
+ # to fetch the correct third-party deps.
+ make -C "$umbrella" clean-3rd-party-repos
+ make -C "$umbrella" up
+ make -C "$umbrella/deps/rabbit" test-dist
+ rm -fr "$umbrella"/deps/*/{.git,test} "$umbrella"/.git
+ fi
+ done
+ rm -fr umbrellas/master
+ - name: RUN TESTS [mixed-versions]
+ if: success() && 'oldest' == 'oldest'
+ run: |
+ set -x
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ for umbrella in umbrellas/*; do
+ test -d "$umbrella"
+ printf '\n\033[1;32mMixing clusters with RabbitMQ %s\033[0m' \
+ $(basename "$umbrella")
+ make distclean-ct ct-priority_queue \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1 \
+ SECONDARY_UMBRELLA=$PWD/$umbrella \
+ RABBITMQ_FEATURE_FLAGS=
+ done
+ - name: ON FAILURE ARCHIVE TESTS LOGS
+ if: failure()
+ run: |
+ make ct-logs-archive
+ - name: ON FAILURE UPLOAD TESTS LOGS ARTIFACT
+ # https://github.com/marketplace/actions/upload-artifact
+ uses: actions/upload-artifact@v2-preview
+ if: failure()
+ with:
+ name: ct-priority_queue-logs
+ path: "*-ct-logs-*.tar.xz"
+ # vim:sw=2:et:
+ ct-priority_queue_recovery:
+ needs: [checks]
+ # https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#contexts
+ name: ct-priority_queue_recovery
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ # https://github.com/marketplace/actions/setup-elixir
+ - name: CONFIGURE OTP & ELIXIR
+ uses: actions/setup-elixir@v1
+ with:
+ otp-version: 21.3
+ # https://github.com/elixir-lang/elixir/releases
+ elixir-version: 1.8.0
+ - name: CACHE DEPS
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-21.3_git-${{ github.sha }}_deps
+ - name: RUN TESTS
+ run: |
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ ! test -d ebin || touch ebin/*
+ make ct-priority_queue_recovery \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1
+ - name: CACHE SECONDARY UMBRELLAS
+ if: success() && 'oldest' == 'oldest'
+ uses: actions/cache@v1
+ with:
+ path: umbrellas
+ key: secondary-umbrellas-v3.7.0-erlang-21.3-rev3
+ - name: VERIFY SECONDARY UMBRELLA COPIES (in case of cache restore failure)
+ if: success() && 'oldest' == 'oldest'
+ run: |
+ set -x
+ for version in v3.7.0; do
+ umbrella="umbrellas/$version"
+ if ! test -d "$umbrella" ||
+ ! make -C "$umbrella/deps/rabbit" test-dist; then
+ rm -rf "$umbrella"
+
+ # Fetch the master Umbrella; the final umbrellas are created from
+ # the master copy.
+ if ! test -d umbrellas/master; then
+ git config --global advice.detachedHead false
+ git clone \
+ https://github.com/rabbitmq/rabbitmq-public-umbrella.git \
+ umbrellas/master
+ make -C umbrellas/master co # To get RabbitMQ components.
+ fi
+
+ # We copy the master Umbrella and checkout the appropriate tag.
+ cp -a umbrellas/master "$umbrella"
+ git -C "$umbrella" checkout "v3.7.x"
+ make -C "$umbrella" up BRANCH="$version"
+ # To remove third-party deps which were checked out when the
+ # projects were on the `master` branch. Thus, possibly not the
+ # version pinning we expect. We update the Umbrella one last time
+ # to fetch the correct third-party deps.
+ make -C "$umbrella" clean-3rd-party-repos
+ make -C "$umbrella" up
+ make -C "$umbrella/deps/rabbit" test-dist
+ rm -fr "$umbrella"/deps/*/{.git,test} "$umbrella"/.git
+ fi
+ done
+ rm -fr umbrellas/master
+ - name: RUN TESTS [mixed-versions]
+ if: success() && 'oldest' == 'oldest'
+ run: |
+ set -x
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ for umbrella in umbrellas/*; do
+ test -d "$umbrella"
+ printf '\n\033[1;32mMixing clusters with RabbitMQ %s\033[0m' \
+ $(basename "$umbrella")
+ make distclean-ct ct-priority_queue_recovery \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1 \
+ SECONDARY_UMBRELLA=$PWD/$umbrella \
+ RABBITMQ_FEATURE_FLAGS=
+ done
+ - name: ON FAILURE ARCHIVE TESTS LOGS
+ if: failure()
+ run: |
+ make ct-logs-archive
+ - name: ON FAILURE UPLOAD TESTS LOGS ARTIFACT
+ # https://github.com/marketplace/actions/upload-artifact
+ uses: actions/upload-artifact@v2-preview
+ if: failure()
+ with:
+ name: ct-priority_queue_recovery-logs
+ path: "*-ct-logs-*.tar.xz"
+ # vim:sw=2:et:
+ ct-proxy_protocol:
+ needs: [checks]
+ # https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#contexts
+ name: ct-proxy_protocol
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ # https://github.com/marketplace/actions/setup-elixir
+ - name: CONFIGURE OTP & ELIXIR
+ uses: actions/setup-elixir@v1
+ with:
+ otp-version: 21.3
+ # https://github.com/elixir-lang/elixir/releases
+ elixir-version: 1.8.0
+ - name: CACHE DEPS
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-21.3_git-${{ github.sha }}_deps
+ - name: RUN TESTS
+ run: |
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ ! test -d ebin || touch ebin/*
+ make ct-proxy_protocol \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1
+ - name: CACHE SECONDARY UMBRELLAS
+ if: success() && 'oldest' == 'oldest'
+ uses: actions/cache@v1
+ with:
+ path: umbrellas
+ key: secondary-umbrellas-v3.7.0-erlang-21.3-rev3
+ - name: VERIFY SECONDARY UMBRELLA COPIES (in case of cache restore failure)
+ if: success() && 'oldest' == 'oldest'
+ run: |
+ set -x
+ for version in v3.7.0; do
+ umbrella="umbrellas/$version"
+ if ! test -d "$umbrella" ||
+ ! make -C "$umbrella/deps/rabbit" test-dist; then
+ rm -rf "$umbrella"
+
+ # Fetch the master Umbrella; the final umbrellas are created from
+ # the master copy.
+ if ! test -d umbrellas/master; then
+ git config --global advice.detachedHead false
+ git clone \
+ https://github.com/rabbitmq/rabbitmq-public-umbrella.git \
+ umbrellas/master
+ make -C umbrellas/master co # To get RabbitMQ components.
+ fi
+
+ # We copy the master Umbrella and checkout the appropriate tag.
+ cp -a umbrellas/master "$umbrella"
+ git -C "$umbrella" checkout "v3.7.x"
+ make -C "$umbrella" up BRANCH="$version"
+ # To remove third-party deps which were checked out when the
+ # projects were on the `master` branch. Thus, possibly not the
+ # version pinning we expect. We update the Umbrella one last time
+ # to fetch the correct third-party deps.
+ make -C "$umbrella" clean-3rd-party-repos
+ make -C "$umbrella" up
+ make -C "$umbrella/deps/rabbit" test-dist
+ rm -fr "$umbrella"/deps/*/{.git,test} "$umbrella"/.git
+ fi
+ done
+ rm -fr umbrellas/master
+ - name: RUN TESTS [mixed-versions]
+ if: success() && 'oldest' == 'oldest'
+ run: |
+ set -x
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ for umbrella in umbrellas/*; do
+ test -d "$umbrella"
+ printf '\n\033[1;32mMixing clusters with RabbitMQ %s\033[0m' \
+ $(basename "$umbrella")
+ make distclean-ct ct-proxy_protocol \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1 \
+ SECONDARY_UMBRELLA=$PWD/$umbrella \
+ RABBITMQ_FEATURE_FLAGS=
+ done
+ - name: ON FAILURE ARCHIVE TESTS LOGS
+ if: failure()
+ run: |
+ make ct-logs-archive
+ - name: ON FAILURE UPLOAD TESTS LOGS ARTIFACT
+ # https://github.com/marketplace/actions/upload-artifact
+ uses: actions/upload-artifact@v2-preview
+ if: failure()
+ with:
+ name: ct-proxy_protocol-logs
+ path: "*-ct-logs-*.tar.xz"
+ # vim:sw=2:et:
+ ct-queue_master_location:
+ needs: [checks]
+ # https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#contexts
+ name: ct-queue_master_location
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ # https://github.com/marketplace/actions/setup-elixir
+ - name: CONFIGURE OTP & ELIXIR
+ uses: actions/setup-elixir@v1
+ with:
+ otp-version: 21.3
+ # https://github.com/elixir-lang/elixir/releases
+ elixir-version: 1.8.0
+ - name: CACHE DEPS
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-21.3_git-${{ github.sha }}_deps
+ - name: RUN TESTS
+ run: |
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ ! test -d ebin || touch ebin/*
+ make ct-queue_master_location \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1
+ - name: CACHE SECONDARY UMBRELLAS
+ if: success() && 'oldest' == 'oldest'
+ uses: actions/cache@v1
+ with:
+ path: umbrellas
+ key: secondary-umbrellas-v3.7.0-erlang-21.3-rev3
+ - name: VERIFY SECONDARY UMBRELLA COPIES (in case of cache restore failure)
+ if: success() && 'oldest' == 'oldest'
+ run: |
+ set -x
+ for version in v3.7.0; do
+ umbrella="umbrellas/$version"
+ if ! test -d "$umbrella" ||
+ ! make -C "$umbrella/deps/rabbit" test-dist; then
+ rm -rf "$umbrella"
+
+ # Fetch the master Umbrella; the final umbrellas are created from
+ # the master copy.
+ if ! test -d umbrellas/master; then
+ git config --global advice.detachedHead false
+ git clone \
+ https://github.com/rabbitmq/rabbitmq-public-umbrella.git \
+ umbrellas/master
+ make -C umbrellas/master co # To get RabbitMQ components.
+ fi
+
+ # We copy the master Umbrella and checkout the appropriate tag.
+ cp -a umbrellas/master "$umbrella"
+ git -C "$umbrella" checkout "v3.7.x"
+ make -C "$umbrella" up BRANCH="$version"
+ # To remove third-party deps which were checked out when the
+ # projects were on the `master` branch. Thus, possibly not the
+ # version pinning we expect. We update the Umbrella one last time
+ # to fetch the correct third-party deps.
+ make -C "$umbrella" clean-3rd-party-repos
+ make -C "$umbrella" up
+ make -C "$umbrella/deps/rabbit" test-dist
+ rm -fr "$umbrella"/deps/*/{.git,test} "$umbrella"/.git
+ fi
+ done
+ rm -fr umbrellas/master
+ - name: RUN TESTS [mixed-versions]
+ if: success() && 'oldest' == 'oldest'
+ run: |
+ set -x
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ for umbrella in umbrellas/*; do
+ test -d "$umbrella"
+ printf '\n\033[1;32mMixing clusters with RabbitMQ %s\033[0m' \
+ $(basename "$umbrella")
+ make distclean-ct ct-queue_master_location \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1 \
+ SECONDARY_UMBRELLA=$PWD/$umbrella \
+ RABBITMQ_FEATURE_FLAGS=
+ done
+ - name: ON FAILURE ARCHIVE TESTS LOGS
+ if: failure()
+ run: |
+ make ct-logs-archive
+ - name: ON FAILURE UPLOAD TESTS LOGS ARTIFACT
+ # https://github.com/marketplace/actions/upload-artifact
+ uses: actions/upload-artifact@v2-preview
+ if: failure()
+ with:
+ name: ct-queue_master_location-logs
+ path: "*-ct-logs-*.tar.xz"
+ # vim:sw=2:et:
+ ct-rabbit_core_metrics_gc:
+ needs: [checks]
+ # https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#contexts
+ name: ct-rabbit_core_metrics_gc
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ # https://github.com/marketplace/actions/setup-elixir
+ - name: CONFIGURE OTP & ELIXIR
+ uses: actions/setup-elixir@v1
+ with:
+ otp-version: 21.3
+ # https://github.com/elixir-lang/elixir/releases
+ elixir-version: 1.8.0
+ - name: CACHE DEPS
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-21.3_git-${{ github.sha }}_deps
+ - name: RUN TESTS
+ run: |
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ ! test -d ebin || touch ebin/*
+ make ct-rabbit_core_metrics_gc \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1
+ - name: CACHE SECONDARY UMBRELLAS
+ if: success() && 'oldest' == 'oldest'
+ uses: actions/cache@v1
+ with:
+ path: umbrellas
+ key: secondary-umbrellas-v3.7.0-erlang-21.3-rev3
+ - name: VERIFY SECONDARY UMBRELLA COPIES (in case of cache restore failure)
+ if: success() && 'oldest' == 'oldest'
+ run: |
+ set -x
+ for version in v3.7.0; do
+ umbrella="umbrellas/$version"
+ if ! test -d "$umbrella" ||
+ ! make -C "$umbrella/deps/rabbit" test-dist; then
+ rm -rf "$umbrella"
+
+ # Fetch the master Umbrella; the final umbrellas are created from
+ # the master copy.
+ if ! test -d umbrellas/master; then
+ git config --global advice.detachedHead false
+ git clone \
+ https://github.com/rabbitmq/rabbitmq-public-umbrella.git \
+ umbrellas/master
+ make -C umbrellas/master co # To get RabbitMQ components.
+ fi
+
+ # We copy the master Umbrella and checkout the appropriate tag.
+ cp -a umbrellas/master "$umbrella"
+ git -C "$umbrella" checkout "v3.7.x"
+ make -C "$umbrella" up BRANCH="$version"
+ # To remove third-party deps which were checked out when the
+ # projects were on the `master` branch. Thus, possibly not the
+ # version pinning we expect. We update the Umbrella one last time
+ # to fetch the correct third-party deps.
+ make -C "$umbrella" clean-3rd-party-repos
+ make -C "$umbrella" up
+ make -C "$umbrella/deps/rabbit" test-dist
+ rm -fr "$umbrella"/deps/*/{.git,test} "$umbrella"/.git
+ fi
+ done
+ rm -fr umbrellas/master
+ - name: RUN TESTS [mixed-versions]
+ if: success() && 'oldest' == 'oldest'
+ run: |
+ set -x
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ for umbrella in umbrellas/*; do
+ test -d "$umbrella"
+ printf '\n\033[1;32mMixing clusters with RabbitMQ %s\033[0m' \
+ $(basename "$umbrella")
+ make distclean-ct ct-rabbit_core_metrics_gc \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1 \
+ SECONDARY_UMBRELLA=$PWD/$umbrella \
+ RABBITMQ_FEATURE_FLAGS=
+ done
+ - name: ON FAILURE ARCHIVE TESTS LOGS
+ if: failure()
+ run: |
+ make ct-logs-archive
+ - name: ON FAILURE UPLOAD TESTS LOGS ARTIFACT
+ # https://github.com/marketplace/actions/upload-artifact
+ uses: actions/upload-artifact@v2-preview
+ if: failure()
+ with:
+ name: ct-rabbit_core_metrics_gc-logs
+ path: "*-ct-logs-*.tar.xz"
+ # vim:sw=2:et:
+ ct-rabbitmqctl_integration:
+ needs: [checks]
+ # https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#contexts
+ name: ct-rabbitmqctl_integration
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ # https://github.com/marketplace/actions/setup-elixir
+ - name: CONFIGURE OTP & ELIXIR
+ uses: actions/setup-elixir@v1
+ with:
+ otp-version: 21.3
+ # https://github.com/elixir-lang/elixir/releases
+ elixir-version: 1.8.0
+ - name: CACHE DEPS
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-21.3_git-${{ github.sha }}_deps
+ - name: RUN TESTS
+ run: |
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ ! test -d ebin || touch ebin/*
+ make ct-rabbitmqctl_integration \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1
+ - name: CACHE SECONDARY UMBRELLAS
+ if: success() && 'oldest' == 'oldest'
+ uses: actions/cache@v1
+ with:
+ path: umbrellas
+ key: secondary-umbrellas-v3.7.0-erlang-21.3-rev3
+ - name: VERIFY SECONDARY UMBRELLA COPIES (in case of cache restore failure)
+ if: success() && 'oldest' == 'oldest'
+ run: |
+ set -x
+ for version in v3.7.0; do
+ umbrella="umbrellas/$version"
+ if ! test -d "$umbrella" ||
+ ! make -C "$umbrella/deps/rabbit" test-dist; then
+ rm -rf "$umbrella"
+
+ # Fetch the master Umbrella; the final umbrellas are created from
+ # the master copy.
+ if ! test -d umbrellas/master; then
+ git config --global advice.detachedHead false
+ git clone \
+ https://github.com/rabbitmq/rabbitmq-public-umbrella.git \
+ umbrellas/master
+ make -C umbrellas/master co # To get RabbitMQ components.
+ fi
+
+ # We copy the master Umbrella and checkout the appropriate tag.
+ cp -a umbrellas/master "$umbrella"
+ git -C "$umbrella" checkout "v3.7.x"
+ make -C "$umbrella" up BRANCH="$version"
+ # To remove third-party deps which were checked out when the
+ # projects were on the `master` branch. Thus, possibly not the
+ # version pinning we expect. We update the Umbrella one last time
+ # to fetch the correct third-party deps.
+ make -C "$umbrella" clean-3rd-party-repos
+ make -C "$umbrella" up
+ make -C "$umbrella/deps/rabbit" test-dist
+ rm -fr "$umbrella"/deps/*/{.git,test} "$umbrella"/.git
+ fi
+ done
+ rm -fr umbrellas/master
+ - name: RUN TESTS [mixed-versions]
+ if: success() && 'oldest' == 'oldest'
+ run: |
+ set -x
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ for umbrella in umbrellas/*; do
+ test -d "$umbrella"
+ printf '\n\033[1;32mMixing clusters with RabbitMQ %s\033[0m' \
+ $(basename "$umbrella")
+ make distclean-ct ct-rabbitmqctl_integration \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1 \
+ SECONDARY_UMBRELLA=$PWD/$umbrella \
+ RABBITMQ_FEATURE_FLAGS=
+ done
+ - name: ON FAILURE ARCHIVE TESTS LOGS
+ if: failure()
+ run: |
+ make ct-logs-archive
+ - name: ON FAILURE UPLOAD TESTS LOGS ARTIFACT
+ # https://github.com/marketplace/actions/upload-artifact
+ uses: actions/upload-artifact@v2-preview
+ if: failure()
+ with:
+ name: ct-rabbitmqctl_integration-logs
+ path: "*-ct-logs-*.tar.xz"
+ # vim:sw=2:et:
+ ct-rabbitmqctl_shutdown:
+ needs: [checks]
+ # https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#contexts
+ name: ct-rabbitmqctl_shutdown
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ # https://github.com/marketplace/actions/setup-elixir
+ - name: CONFIGURE OTP & ELIXIR
+ uses: actions/setup-elixir@v1
+ with:
+ otp-version: 21.3
+ # https://github.com/elixir-lang/elixir/releases
+ elixir-version: 1.8.0
+ - name: CACHE DEPS
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-21.3_git-${{ github.sha }}_deps
+ - name: RUN TESTS
+ run: |
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ ! test -d ebin || touch ebin/*
+ make ct-rabbitmqctl_shutdown \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1
+ - name: CACHE SECONDARY UMBRELLAS
+ if: success() && 'oldest' == 'oldest'
+ uses: actions/cache@v1
+ with:
+ path: umbrellas
+ key: secondary-umbrellas-v3.7.0-erlang-21.3-rev3
+ - name: VERIFY SECONDARY UMBRELLA COPIES (in case of cache restore failure)
+ if: success() && 'oldest' == 'oldest'
+ run: |
+ set -x
+ for version in v3.7.0; do
+ umbrella="umbrellas/$version"
+ if ! test -d "$umbrella" ||
+ ! make -C "$umbrella/deps/rabbit" test-dist; then
+ rm -rf "$umbrella"
+
+ # Fetch the master Umbrella; the final umbrellas are created from
+ # the master copy.
+ if ! test -d umbrellas/master; then
+ git config --global advice.detachedHead false
+ git clone \
+ https://github.com/rabbitmq/rabbitmq-public-umbrella.git \
+ umbrellas/master
+ make -C umbrellas/master co # To get RabbitMQ components.
+ fi
+
+ # We copy the master Umbrella and checkout the appropriate tag.
+ cp -a umbrellas/master "$umbrella"
+ git -C "$umbrella" checkout "v3.7.x"
+ make -C "$umbrella" up BRANCH="$version"
+ # To remove third-party deps which were checked out when the
+ # projects were on the `master` branch. Thus, possibly not the
+ # version pinning we expect. We update the Umbrella one last time
+ # to fetch the correct third-party deps.
+ make -C "$umbrella" clean-3rd-party-repos
+ make -C "$umbrella" up
+ make -C "$umbrella/deps/rabbit" test-dist
+ rm -fr "$umbrella"/deps/*/{.git,test} "$umbrella"/.git
+ fi
+ done
+ rm -fr umbrellas/master
+ - name: RUN TESTS [mixed-versions]
+ if: success() && 'oldest' == 'oldest'
+ run: |
+ set -x
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ for umbrella in umbrellas/*; do
+ test -d "$umbrella"
+ printf '\n\033[1;32mMixing clusters with RabbitMQ %s\033[0m' \
+ $(basename "$umbrella")
+ make distclean-ct ct-rabbitmqctl_shutdown \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1 \
+ SECONDARY_UMBRELLA=$PWD/$umbrella \
+ RABBITMQ_FEATURE_FLAGS=
+ done
+ - name: ON FAILURE ARCHIVE TESTS LOGS
+ if: failure()
+ run: |
+ make ct-logs-archive
+ - name: ON FAILURE UPLOAD TESTS LOGS ARTIFACT
+ # https://github.com/marketplace/actions/upload-artifact
+ uses: actions/upload-artifact@v2-preview
+ if: failure()
+ with:
+ name: ct-rabbitmqctl_shutdown-logs
+ path: "*-ct-logs-*.tar.xz"
+ # vim:sw=2:et:
+ ct-signal_handling:
+ needs: [checks]
+ # https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#contexts
+ name: ct-signal_handling
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ # https://github.com/marketplace/actions/setup-elixir
+ - name: CONFIGURE OTP & ELIXIR
+ uses: actions/setup-elixir@v1
+ with:
+ otp-version: 21.3
+ # https://github.com/elixir-lang/elixir/releases
+ elixir-version: 1.8.0
+ - name: CACHE DEPS
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-21.3_git-${{ github.sha }}_deps
+ - name: RUN TESTS
+ run: |
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ ! test -d ebin || touch ebin/*
+ make ct-signal_handling \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1
+ - name: CACHE SECONDARY UMBRELLAS
+ if: success() && 'oldest' == 'oldest'
+ uses: actions/cache@v1
+ with:
+ path: umbrellas
+ key: secondary-umbrellas-v3.7.0-erlang-21.3-rev3
+ - name: VERIFY SECONDARY UMBRELLA COPIES (in case of cache restore failure)
+ if: success() && 'oldest' == 'oldest'
+ run: |
+ set -x
+ for version in v3.7.0; do
+ umbrella="umbrellas/$version"
+ if ! test -d "$umbrella" ||
+ ! make -C "$umbrella/deps/rabbit" test-dist; then
+ rm -rf "$umbrella"
+
+ # Fetch the master Umbrella; the final umbrellas are created from
+ # the master copy.
+ if ! test -d umbrellas/master; then
+ git config --global advice.detachedHead false
+ git clone \
+ https://github.com/rabbitmq/rabbitmq-public-umbrella.git \
+ umbrellas/master
+ make -C umbrellas/master co # To get RabbitMQ components.
+ fi
+
+ # We copy the master Umbrella and checkout the appropriate tag.
+ cp -a umbrellas/master "$umbrella"
+ git -C "$umbrella" checkout "v3.7.x"
+ make -C "$umbrella" up BRANCH="$version"
+ # To remove third-party deps which were checked out when the
+ # projects were on the `master` branch. Thus, possibly not the
+ # version pinning we expect. We update the Umbrella one last time
+ # to fetch the correct third-party deps.
+ make -C "$umbrella" clean-3rd-party-repos
+ make -C "$umbrella" up
+ make -C "$umbrella/deps/rabbit" test-dist
+ rm -fr "$umbrella"/deps/*/{.git,test} "$umbrella"/.git
+ fi
+ done
+ rm -fr umbrellas/master
+ - name: RUN TESTS [mixed-versions]
+ if: success() && 'oldest' == 'oldest'
+ run: |
+ set -x
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ for umbrella in umbrellas/*; do
+ test -d "$umbrella"
+ printf '\n\033[1;32mMixing clusters with RabbitMQ %s\033[0m' \
+ $(basename "$umbrella")
+ make distclean-ct ct-signal_handling \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1 \
+ SECONDARY_UMBRELLA=$PWD/$umbrella \
+ RABBITMQ_FEATURE_FLAGS=
+ done
+ - name: ON FAILURE ARCHIVE TESTS LOGS
+ if: failure()
+ run: |
+ make ct-logs-archive
+ - name: ON FAILURE UPLOAD TESTS LOGS ARTIFACT
+ # https://github.com/marketplace/actions/upload-artifact
+ uses: actions/upload-artifact@v2-preview
+ if: failure()
+ with:
+ name: ct-signal_handling-logs
+ path: "*-ct-logs-*.tar.xz"
+ # vim:sw=2:et:
+ ct-simple_ha:
+ needs: [checks]
+ # https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#contexts
+ name: ct-simple_ha
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ # https://github.com/marketplace/actions/setup-elixir
+ - name: CONFIGURE OTP & ELIXIR
+ uses: actions/setup-elixir@v1
+ with:
+ otp-version: 21.3
+ # https://github.com/elixir-lang/elixir/releases
+ elixir-version: 1.8.0
+ - name: CACHE DEPS
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-21.3_git-${{ github.sha }}_deps
+ - name: RUN TESTS
+ run: |
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ ! test -d ebin || touch ebin/*
+ make ct-simple_ha \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1
+ - name: CACHE SECONDARY UMBRELLAS
+ if: success() && 'oldest' == 'oldest'
+ uses: actions/cache@v1
+ with:
+ path: umbrellas
+ key: secondary-umbrellas-v3.7.0-erlang-21.3-rev3
+ - name: VERIFY SECONDARY UMBRELLA COPIES (in case of cache restore failure)
+ if: success() && 'oldest' == 'oldest'
+ run: |
+ set -x
+ for version in v3.7.0; do
+ umbrella="umbrellas/$version"
+ if ! test -d "$umbrella" ||
+ ! make -C "$umbrella/deps/rabbit" test-dist; then
+ rm -rf "$umbrella"
+
+ # Fetch the master Umbrella; the final umbrellas are created from
+ # the master copy.
+ if ! test -d umbrellas/master; then
+ git config --global advice.detachedHead false
+ git clone \
+ https://github.com/rabbitmq/rabbitmq-public-umbrella.git \
+ umbrellas/master
+ make -C umbrellas/master co # To get RabbitMQ components.
+ fi
+
+ # We copy the master Umbrella and checkout the appropriate tag.
+ cp -a umbrellas/master "$umbrella"
+ git -C "$umbrella" checkout "v3.7.x"
+ make -C "$umbrella" up BRANCH="$version"
+ # To remove third-party deps which were checked out when the
+ # projects were on the `master` branch. Thus, possibly not the
+ # version pinning we expect. We update the Umbrella one last time
+ # to fetch the correct third-party deps.
+ make -C "$umbrella" clean-3rd-party-repos
+ make -C "$umbrella" up
+ make -C "$umbrella/deps/rabbit" test-dist
+ rm -fr "$umbrella"/deps/*/{.git,test} "$umbrella"/.git
+ fi
+ done
+ rm -fr umbrellas/master
+ - name: RUN TESTS [mixed-versions]
+ if: success() && 'oldest' == 'oldest'
+ run: |
+ set -x
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ for umbrella in umbrellas/*; do
+ test -d "$umbrella"
+ printf '\n\033[1;32mMixing clusters with RabbitMQ %s\033[0m' \
+ $(basename "$umbrella")
+ make distclean-ct ct-simple_ha \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1 \
+ SECONDARY_UMBRELLA=$PWD/$umbrella \
+ RABBITMQ_FEATURE_FLAGS=
+ done
+ - name: ON FAILURE ARCHIVE TESTS LOGS
+ if: failure()
+ run: |
+ make ct-logs-archive
+ - name: ON FAILURE UPLOAD TESTS LOGS ARTIFACT
+ # https://github.com/marketplace/actions/upload-artifact
+ uses: actions/upload-artifact@v2-preview
+ if: failure()
+ with:
+ name: ct-simple_ha-logs
+ path: "*-ct-logs-*.tar.xz"
+ # vim:sw=2:et:
+ ct-sup_delayed_restart:
+ needs: [checks]
+ # https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#contexts
+ name: ct-sup_delayed_restart
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ # https://github.com/marketplace/actions/setup-elixir
+ - name: CONFIGURE OTP & ELIXIR
+ uses: actions/setup-elixir@v1
+ with:
+ otp-version: 21.3
+ # https://github.com/elixir-lang/elixir/releases
+ elixir-version: 1.8.0
+ - name: CACHE DEPS
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-21.3_git-${{ github.sha }}_deps
+ - name: RUN TESTS
+ run: |
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ ! test -d ebin || touch ebin/*
+ make ct-sup_delayed_restart \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1
+ - name: CACHE SECONDARY UMBRELLAS
+ if: success() && 'oldest' == 'oldest'
+ uses: actions/cache@v1
+ with:
+ path: umbrellas
+ key: secondary-umbrellas-v3.7.0-erlang-21.3-rev3
+ - name: VERIFY SECONDARY UMBRELLA COPIES (in case of cache restore failure)
+ if: success() && 'oldest' == 'oldest'
+ run: |
+ set -x
+ for version in v3.7.0; do
+ umbrella="umbrellas/$version"
+ if ! test -d "$umbrella" ||
+ ! make -C "$umbrella/deps/rabbit" test-dist; then
+ rm -rf "$umbrella"
+
+ # Fetch the master Umbrella; the final umbrellas are created from
+ # the master copy.
+ if ! test -d umbrellas/master; then
+ git config --global advice.detachedHead false
+ git clone \
+ https://github.com/rabbitmq/rabbitmq-public-umbrella.git \
+ umbrellas/master
+ make -C umbrellas/master co # To get RabbitMQ components.
+ fi
+
+ # We copy the master Umbrella and checkout the appropriate tag.
+ cp -a umbrellas/master "$umbrella"
+ git -C "$umbrella" checkout "v3.7.x"
+ make -C "$umbrella" up BRANCH="$version"
+ # To remove third-party deps which were checked out when the
+ # projects were on the `master` branch. Thus, possibly not the
+ # version pinning we expect. We update the Umbrella one last time
+ # to fetch the correct third-party deps.
+ make -C "$umbrella" clean-3rd-party-repos
+ make -C "$umbrella" up
+ make -C "$umbrella/deps/rabbit" test-dist
+ rm -fr "$umbrella"/deps/*/{.git,test} "$umbrella"/.git
+ fi
+ done
+ rm -fr umbrellas/master
+ - name: RUN TESTS [mixed-versions]
+ if: success() && 'oldest' == 'oldest'
+ run: |
+ set -x
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ for umbrella in umbrellas/*; do
+ test -d "$umbrella"
+ printf '\n\033[1;32mMixing clusters with RabbitMQ %s\033[0m' \
+ $(basename "$umbrella")
+ make distclean-ct ct-sup_delayed_restart \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1 \
+ SECONDARY_UMBRELLA=$PWD/$umbrella \
+ RABBITMQ_FEATURE_FLAGS=
+ done
+ - name: ON FAILURE ARCHIVE TESTS LOGS
+ if: failure()
+ run: |
+ make ct-logs-archive
+ - name: ON FAILURE UPLOAD TESTS LOGS ARTIFACT
+ # https://github.com/marketplace/actions/upload-artifact
+ uses: actions/upload-artifact@v2-preview
+ if: failure()
+ with:
+ name: ct-sup_delayed_restart-logs
+ path: "*-ct-logs-*.tar.xz"
+ # vim:sw=2:et:
+ ct-sync_detection:
+ needs: [checks]
+ # https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#contexts
+ name: ct-sync_detection
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ # https://github.com/marketplace/actions/setup-elixir
+ - name: CONFIGURE OTP & ELIXIR
+ uses: actions/setup-elixir@v1
+ with:
+ otp-version: 21.3
+ # https://github.com/elixir-lang/elixir/releases
+ elixir-version: 1.8.0
+ - name: CACHE DEPS
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-21.3_git-${{ github.sha }}_deps
+ - name: RUN TESTS
+ run: |
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ ! test -d ebin || touch ebin/*
+ make ct-sync_detection \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1
+ - name: CACHE SECONDARY UMBRELLAS
+ if: success() && 'oldest' == 'oldest'
+ uses: actions/cache@v1
+ with:
+ path: umbrellas
+ key: secondary-umbrellas-v3.7.0-erlang-21.3-rev3
+ - name: VERIFY SECONDARY UMBRELLA COPIES (in case of cache restore failure)
+ if: success() && 'oldest' == 'oldest'
+ run: |
+ set -x
+ for version in v3.7.0; do
+ umbrella="umbrellas/$version"
+ if ! test -d "$umbrella" ||
+ ! make -C "$umbrella/deps/rabbit" test-dist; then
+ rm -rf "$umbrella"
+
+ # Fetch the master Umbrella; the final umbrellas are created from
+ # the master copy.
+ if ! test -d umbrellas/master; then
+ git config --global advice.detachedHead false
+ git clone \
+ https://github.com/rabbitmq/rabbitmq-public-umbrella.git \
+ umbrellas/master
+ make -C umbrellas/master co # To get RabbitMQ components.
+ fi
+
+ # We copy the master Umbrella and checkout the appropriate tag.
+ cp -a umbrellas/master "$umbrella"
+ git -C "$umbrella" checkout "v3.7.x"
+ make -C "$umbrella" up BRANCH="$version"
+ # To remove third-party deps which were checked out when the
+ # projects were on the `master` branch. Thus, possibly not the
+ # version pinning we expect. We update the Umbrella one last time
+ # to fetch the correct third-party deps.
+ make -C "$umbrella" clean-3rd-party-repos
+ make -C "$umbrella" up
+ make -C "$umbrella/deps/rabbit" test-dist
+ rm -fr "$umbrella"/deps/*/{.git,test} "$umbrella"/.git
+ fi
+ done
+ rm -fr umbrellas/master
+ - name: RUN TESTS [mixed-versions]
+ if: success() && 'oldest' == 'oldest'
+ run: |
+ set -x
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ for umbrella in umbrellas/*; do
+ test -d "$umbrella"
+ printf '\n\033[1;32mMixing clusters with RabbitMQ %s\033[0m' \
+ $(basename "$umbrella")
+ make distclean-ct ct-sync_detection \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1 \
+ SECONDARY_UMBRELLA=$PWD/$umbrella \
+ RABBITMQ_FEATURE_FLAGS=
+ done
+ - name: ON FAILURE ARCHIVE TESTS LOGS
+ if: failure()
+ run: |
+ make ct-logs-archive
+ - name: ON FAILURE UPLOAD TESTS LOGS ARTIFACT
+ # https://github.com/marketplace/actions/upload-artifact
+ uses: actions/upload-artifact@v2-preview
+ if: failure()
+ with:
+ name: ct-sync_detection-logs
+ path: "*-ct-logs-*.tar.xz"
+ # vim:sw=2:et:
+ ct-term_to_binary_compat_prop:
+ needs: [checks]
+ # https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#contexts
+ name: ct-term_to_binary_compat_prop
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ # https://github.com/marketplace/actions/setup-elixir
+ - name: CONFIGURE OTP & ELIXIR
+ uses: actions/setup-elixir@v1
+ with:
+ otp-version: 21.3
+ # https://github.com/elixir-lang/elixir/releases
+ elixir-version: 1.8.0
+ - name: CACHE DEPS
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-21.3_git-${{ github.sha }}_deps
+ - name: RUN TESTS
+ run: |
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ ! test -d ebin || touch ebin/*
+ make ct-term_to_binary_compat_prop \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1
+ - name: CACHE SECONDARY UMBRELLAS
+ if: success() && 'oldest' == 'oldest'
+ uses: actions/cache@v1
+ with:
+ path: umbrellas
+ key: secondary-umbrellas-v3.7.0-erlang-21.3-rev3
+ - name: VERIFY SECONDARY UMBRELLA COPIES (in case of cache restore failure)
+ if: success() && 'oldest' == 'oldest'
+ run: |
+ set -x
+ for version in v3.7.0; do
+ umbrella="umbrellas/$version"
+ if ! test -d "$umbrella" ||
+ ! make -C "$umbrella/deps/rabbit" test-dist; then
+ rm -rf "$umbrella"
+
+ # Fetch the master Umbrella; the final umbrellas are created from
+ # the master copy.
+ if ! test -d umbrellas/master; then
+ git config --global advice.detachedHead false
+ git clone \
+ https://github.com/rabbitmq/rabbitmq-public-umbrella.git \
+ umbrellas/master
+ make -C umbrellas/master co # To get RabbitMQ components.
+ fi
+
+ # We copy the master Umbrella and checkout the appropriate tag.
+ cp -a umbrellas/master "$umbrella"
+ git -C "$umbrella" checkout "v3.7.x"
+ make -C "$umbrella" up BRANCH="$version"
+ # To remove third-party deps which were checked out when the
+ # projects were on the `master` branch. Thus, possibly not the
+ # version pinning we expect. We update the Umbrella one last time
+ # to fetch the correct third-party deps.
+ make -C "$umbrella" clean-3rd-party-repos
+ make -C "$umbrella" up
+ make -C "$umbrella/deps/rabbit" test-dist
+ rm -fr "$umbrella"/deps/*/{.git,test} "$umbrella"/.git
+ fi
+ done
+ rm -fr umbrellas/master
+ - name: RUN TESTS [mixed-versions]
+ if: success() && 'oldest' == 'oldest'
+ run: |
+ set -x
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ for umbrella in umbrellas/*; do
+ test -d "$umbrella"
+ printf '\n\033[1;32mMixing clusters with RabbitMQ %s\033[0m' \
+ $(basename "$umbrella")
+ make distclean-ct ct-term_to_binary_compat_prop \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1 \
+ SECONDARY_UMBRELLA=$PWD/$umbrella \
+ RABBITMQ_FEATURE_FLAGS=
+ done
+ - name: ON FAILURE ARCHIVE TESTS LOGS
+ if: failure()
+ run: |
+ make ct-logs-archive
+ - name: ON FAILURE UPLOAD TESTS LOGS ARTIFACT
+ # https://github.com/marketplace/actions/upload-artifact
+ uses: actions/upload-artifact@v2-preview
+ if: failure()
+ with:
+ name: ct-term_to_binary_compat_prop-logs
+ path: "*-ct-logs-*.tar.xz"
+ # vim:sw=2:et:
+ ct-topic_permission:
+ needs: [checks]
+ # https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#contexts
+ name: ct-topic_permission
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ # https://github.com/marketplace/actions/setup-elixir
+ - name: CONFIGURE OTP & ELIXIR
+ uses: actions/setup-elixir@v1
+ with:
+ otp-version: 21.3
+ # https://github.com/elixir-lang/elixir/releases
+ elixir-version: 1.8.0
+ - name: CACHE DEPS
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-21.3_git-${{ github.sha }}_deps
+ - name: RUN TESTS
+ run: |
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ ! test -d ebin || touch ebin/*
+ make ct-topic_permission \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1
+ - name: CACHE SECONDARY UMBRELLAS
+ if: success() && 'oldest' == 'oldest'
+ uses: actions/cache@v1
+ with:
+ path: umbrellas
+ key: secondary-umbrellas-v3.7.0-erlang-21.3-rev3
+ - name: VERIFY SECONDARY UMBRELLA COPIES (in case of cache restore failure)
+ if: success() && 'oldest' == 'oldest'
+ run: |
+ set -x
+ for version in v3.7.0; do
+ umbrella="umbrellas/$version"
+ if ! test -d "$umbrella" ||
+ ! make -C "$umbrella/deps/rabbit" test-dist; then
+ rm -rf "$umbrella"
+
+ # Fetch the master Umbrella; the final umbrellas are created from
+ # the master copy.
+ if ! test -d umbrellas/master; then
+ git config --global advice.detachedHead false
+ git clone \
+ https://github.com/rabbitmq/rabbitmq-public-umbrella.git \
+ umbrellas/master
+ make -C umbrellas/master co # To get RabbitMQ components.
+ fi
+
+ # We copy the master Umbrella and checkout the appropriate tag.
+ cp -a umbrellas/master "$umbrella"
+ git -C "$umbrella" checkout "v3.7.x"
+ make -C "$umbrella" up BRANCH="$version"
+ # To remove third-party deps which were checked out when the
+ # projects were on the `master` branch. Thus, possibly not the
+ # version pinning we expect. We update the Umbrella one last time
+ # to fetch the correct third-party deps.
+ make -C "$umbrella" clean-3rd-party-repos
+ make -C "$umbrella" up
+ make -C "$umbrella/deps/rabbit" test-dist
+ rm -fr "$umbrella"/deps/*/{.git,test} "$umbrella"/.git
+ fi
+ done
+ rm -fr umbrellas/master
+ - name: RUN TESTS [mixed-versions]
+ if: success() && 'oldest' == 'oldest'
+ run: |
+ set -x
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ for umbrella in umbrellas/*; do
+ test -d "$umbrella"
+ printf '\n\033[1;32mMixing clusters with RabbitMQ %s\033[0m' \
+ $(basename "$umbrella")
+ make distclean-ct ct-topic_permission \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1 \
+ SECONDARY_UMBRELLA=$PWD/$umbrella \
+ RABBITMQ_FEATURE_FLAGS=
+ done
+ - name: ON FAILURE ARCHIVE TESTS LOGS
+ if: failure()
+ run: |
+ make ct-logs-archive
+ - name: ON FAILURE UPLOAD TESTS LOGS ARTIFACT
+ # https://github.com/marketplace/actions/upload-artifact
+ uses: actions/upload-artifact@v2-preview
+ if: failure()
+ with:
+ name: ct-topic_permission-logs
+ path: "*-ct-logs-*.tar.xz"
+ # vim:sw=2:et:
+ ct-unit:
+ needs: [checks]
+ # https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#contexts
+ name: ct-unit
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ # https://github.com/marketplace/actions/setup-elixir
+ - name: CONFIGURE OTP & ELIXIR
+ uses: actions/setup-elixir@v1
+ with:
+ otp-version: 21.3
+ # https://github.com/elixir-lang/elixir/releases
+ elixir-version: 1.8.0
+ - name: CACHE DEPS
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-21.3_git-${{ github.sha }}_deps
+ - name: RUN TESTS
+ run: |
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ ! test -d ebin || touch ebin/*
+ make ct-unit \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1
+ - name: CACHE SECONDARY UMBRELLAS
+ if: success() && 'oldest' == 'oldest'
+ uses: actions/cache@v1
+ with:
+ path: umbrellas
+ key: secondary-umbrellas-v3.7.0-erlang-21.3-rev3
+ - name: VERIFY SECONDARY UMBRELLA COPIES (in case of cache restore failure)
+ if: success() && 'oldest' == 'oldest'
+ run: |
+ set -x
+ for version in v3.7.0; do
+ umbrella="umbrellas/$version"
+ if ! test -d "$umbrella" ||
+ ! make -C "$umbrella/deps/rabbit" test-dist; then
+ rm -rf "$umbrella"
+
+ # Fetch the master Umbrella; the final umbrellas are created from
+ # the master copy.
+ if ! test -d umbrellas/master; then
+ git config --global advice.detachedHead false
+ git clone \
+ https://github.com/rabbitmq/rabbitmq-public-umbrella.git \
+ umbrellas/master
+ make -C umbrellas/master co # To get RabbitMQ components.
+ fi
+
+ # We copy the master Umbrella and checkout the appropriate tag.
+ cp -a umbrellas/master "$umbrella"
+ git -C "$umbrella" checkout "v3.7.x"
+ make -C "$umbrella" up BRANCH="$version"
+ # To remove third-party deps which were checked out when the
+ # projects were on the `master` branch. Thus, possibly not the
+ # version pinning we expect. We update the Umbrella one last time
+ # to fetch the correct third-party deps.
+ make -C "$umbrella" clean-3rd-party-repos
+ make -C "$umbrella" up
+ make -C "$umbrella/deps/rabbit" test-dist
+ rm -fr "$umbrella"/deps/*/{.git,test} "$umbrella"/.git
+ fi
+ done
+ rm -fr umbrellas/master
+ - name: RUN TESTS [mixed-versions]
+ if: success() && 'oldest' == 'oldest'
+ run: |
+ set -x
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ for umbrella in umbrellas/*; do
+ test -d "$umbrella"
+ printf '\n\033[1;32mMixing clusters with RabbitMQ %s\033[0m' \
+ $(basename "$umbrella")
+ make distclean-ct ct-unit \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1 \
+ SECONDARY_UMBRELLA=$PWD/$umbrella \
+ RABBITMQ_FEATURE_FLAGS=
+ done
+ - name: ON FAILURE ARCHIVE TESTS LOGS
+ if: failure()
+ run: |
+ make ct-logs-archive
+ - name: ON FAILURE UPLOAD TESTS LOGS ARTIFACT
+ # https://github.com/marketplace/actions/upload-artifact
+ uses: actions/upload-artifact@v2-preview
+ if: failure()
+ with:
+ name: ct-unit-logs
+ path: "*-ct-logs-*.tar.xz"
+ # vim:sw=2:et:
+ ct-unit_inbroker_non_parallel:
+ needs: [checks]
+ # https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#contexts
+ name: ct-unit_inbroker_non_parallel
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ # https://github.com/marketplace/actions/setup-elixir
+ - name: CONFIGURE OTP & ELIXIR
+ uses: actions/setup-elixir@v1
+ with:
+ otp-version: 21.3
+ # https://github.com/elixir-lang/elixir/releases
+ elixir-version: 1.8.0
+ - name: CACHE DEPS
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-21.3_git-${{ github.sha }}_deps
+ - name: RUN TESTS
+ run: |
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ ! test -d ebin || touch ebin/*
+ make ct-unit_inbroker_non_parallel \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1
+ - name: CACHE SECONDARY UMBRELLAS
+ if: success() && 'oldest' == 'oldest'
+ uses: actions/cache@v1
+ with:
+ path: umbrellas
+ key: secondary-umbrellas-v3.7.0-erlang-21.3-rev3
+ - name: VERIFY SECONDARY UMBRELLA COPIES (in case of cache restore failure)
+ if: success() && 'oldest' == 'oldest'
+ run: |
+ set -x
+ for version in v3.7.0; do
+ umbrella="umbrellas/$version"
+ if ! test -d "$umbrella" ||
+ ! make -C "$umbrella/deps/rabbit" test-dist; then
+ rm -rf "$umbrella"
+
+ # Fetch the master Umbrella; the final umbrellas are created from
+ # the master copy.
+ if ! test -d umbrellas/master; then
+ git config --global advice.detachedHead false
+ git clone \
+ https://github.com/rabbitmq/rabbitmq-public-umbrella.git \
+ umbrellas/master
+ make -C umbrellas/master co # To get RabbitMQ components.
+ fi
+
+ # We copy the master Umbrella and checkout the appropriate tag.
+ cp -a umbrellas/master "$umbrella"
+ git -C "$umbrella" checkout "v3.7.x"
+ make -C "$umbrella" up BRANCH="$version"
+ # To remove third-party deps which were checked out when the
+ # projects were on the `master` branch. Thus, possibly not the
+ # version pinning we expect. We update the Umbrella one last time
+ # to fetch the correct third-party deps.
+ make -C "$umbrella" clean-3rd-party-repos
+ make -C "$umbrella" up
+ make -C "$umbrella/deps/rabbit" test-dist
+ rm -fr "$umbrella"/deps/*/{.git,test} "$umbrella"/.git
+ fi
+ done
+ rm -fr umbrellas/master
+ - name: RUN TESTS [mixed-versions]
+ if: success() && 'oldest' == 'oldest'
+ run: |
+ set -x
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ for umbrella in umbrellas/*; do
+ test -d "$umbrella"
+ printf '\n\033[1;32mMixing clusters with RabbitMQ %s\033[0m' \
+ $(basename "$umbrella")
+ make distclean-ct ct-unit_inbroker_non_parallel \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1 \
+ SECONDARY_UMBRELLA=$PWD/$umbrella \
+ RABBITMQ_FEATURE_FLAGS=
+ done
+ - name: ON FAILURE ARCHIVE TESTS LOGS
+ if: failure()
+ run: |
+ make ct-logs-archive
+ - name: ON FAILURE UPLOAD TESTS LOGS ARTIFACT
+ # https://github.com/marketplace/actions/upload-artifact
+ uses: actions/upload-artifact@v2-preview
+ if: failure()
+ with:
+ name: ct-unit_inbroker_non_parallel-logs
+ path: "*-ct-logs-*.tar.xz"
+ # vim:sw=2:et:
+ ct-unit_inbroker_parallel:
+ needs: [checks]
+ # https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#contexts
+ name: ct-unit_inbroker_parallel
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ # https://github.com/marketplace/actions/setup-elixir
+ - name: CONFIGURE OTP & ELIXIR
+ uses: actions/setup-elixir@v1
+ with:
+ otp-version: 21.3
+ # https://github.com/elixir-lang/elixir/releases
+ elixir-version: 1.8.0
+ - name: CACHE DEPS
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-21.3_git-${{ github.sha }}_deps
+ - name: RUN TESTS
+ run: |
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ ! test -d ebin || touch ebin/*
+ make ct-unit_inbroker_parallel \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1
+ - name: CACHE SECONDARY UMBRELLAS
+ if: success() && 'oldest' == 'oldest'
+ uses: actions/cache@v1
+ with:
+ path: umbrellas
+ key: secondary-umbrellas-v3.7.0-erlang-21.3-rev3
+ - name: VERIFY SECONDARY UMBRELLA COPIES (in case of cache restore failure)
+ if: success() && 'oldest' == 'oldest'
+ run: |
+ set -x
+ for version in v3.7.0; do
+ umbrella="umbrellas/$version"
+ if ! test -d "$umbrella" ||
+ ! make -C "$umbrella/deps/rabbit" test-dist; then
+ rm -rf "$umbrella"
+
+ # Fetch the master Umbrella; the final umbrellas are created from
+ # the master copy.
+ if ! test -d umbrellas/master; then
+ git config --global advice.detachedHead false
+ git clone \
+ https://github.com/rabbitmq/rabbitmq-public-umbrella.git \
+ umbrellas/master
+ make -C umbrellas/master co # To get RabbitMQ components.
+ fi
+
+ # We copy the master Umbrella and checkout the appropriate tag.
+ cp -a umbrellas/master "$umbrella"
+ git -C "$umbrella" checkout "v3.7.x"
+ make -C "$umbrella" up BRANCH="$version"
+ # To remove third-party deps which were checked out when the
+ # projects were on the `master` branch. Thus, possibly not the
+ # version pinning we expect. We update the Umbrella one last time
+ # to fetch the correct third-party deps.
+ make -C "$umbrella" clean-3rd-party-repos
+ make -C "$umbrella" up
+ make -C "$umbrella/deps/rabbit" test-dist
+ rm -fr "$umbrella"/deps/*/{.git,test} "$umbrella"/.git
+ fi
+ done
+ rm -fr umbrellas/master
+ - name: RUN TESTS [mixed-versions]
+ if: success() && 'oldest' == 'oldest'
+ run: |
+ set -x
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ for umbrella in umbrellas/*; do
+ test -d "$umbrella"
+ printf '\n\033[1;32mMixing clusters with RabbitMQ %s\033[0m' \
+ $(basename "$umbrella")
+ make distclean-ct ct-unit_inbroker_parallel \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1 \
+ SECONDARY_UMBRELLA=$PWD/$umbrella \
+ RABBITMQ_FEATURE_FLAGS=
+ done
+ - name: ON FAILURE ARCHIVE TESTS LOGS
+ if: failure()
+ run: |
+ make ct-logs-archive
+ - name: ON FAILURE UPLOAD TESTS LOGS ARTIFACT
+ # https://github.com/marketplace/actions/upload-artifact
+ uses: actions/upload-artifact@v2-preview
+ if: failure()
+ with:
+ name: ct-unit_inbroker_parallel-logs
+ path: "*-ct-logs-*.tar.xz"
+ # vim:sw=2:et:
+ ct-unit_log_config:
+ needs: [checks]
+ # https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#contexts
+ name: ct-unit_log_config
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ # https://github.com/marketplace/actions/setup-elixir
+ - name: CONFIGURE OTP & ELIXIR
+ uses: actions/setup-elixir@v1
+ with:
+ otp-version: 21.3
+ # https://github.com/elixir-lang/elixir/releases
+ elixir-version: 1.8.0
+ - name: CACHE DEPS
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-21.3_git-${{ github.sha }}_deps
+ - name: RUN TESTS
+ run: |
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ ! test -d ebin || touch ebin/*
+ make ct-unit_log_config \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1
+ - name: CACHE SECONDARY UMBRELLAS
+ if: success() && 'oldest' == 'oldest'
+ uses: actions/cache@v1
+ with:
+ path: umbrellas
+ key: secondary-umbrellas-v3.7.0-erlang-21.3-rev3
+ - name: VERIFY SECONDARY UMBRELLA COPIES (in case of cache restore failure)
+ if: success() && 'oldest' == 'oldest'
+ run: |
+ set -x
+ for version in v3.7.0; do
+ umbrella="umbrellas/$version"
+ if ! test -d "$umbrella" ||
+ ! make -C "$umbrella/deps/rabbit" test-dist; then
+ rm -rf "$umbrella"
+
+ # Fetch the master Umbrella; the final umbrellas are created from
+ # the master copy.
+ if ! test -d umbrellas/master; then
+ git config --global advice.detachedHead false
+ git clone \
+ https://github.com/rabbitmq/rabbitmq-public-umbrella.git \
+ umbrellas/master
+ make -C umbrellas/master co # To get RabbitMQ components.
+ fi
+
+ # We copy the master Umbrella and checkout the appropriate tag.
+ cp -a umbrellas/master "$umbrella"
+ git -C "$umbrella" checkout "v3.7.x"
+ make -C "$umbrella" up BRANCH="$version"
+ # To remove third-party deps which were checked out when the
+ # projects were on the `master` branch. Thus, possibly not the
+ # version pinning we expect. We update the Umbrella one last time
+ # to fetch the correct third-party deps.
+ make -C "$umbrella" clean-3rd-party-repos
+ make -C "$umbrella" up
+ make -C "$umbrella/deps/rabbit" test-dist
+ rm -fr "$umbrella"/deps/*/{.git,test} "$umbrella"/.git
+ fi
+ done
+ rm -fr umbrellas/master
+ - name: RUN TESTS [mixed-versions]
+ if: success() && 'oldest' == 'oldest'
+ run: |
+ set -x
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ for umbrella in umbrellas/*; do
+ test -d "$umbrella"
+ printf '\n\033[1;32mMixing clusters with RabbitMQ %s\033[0m' \
+ $(basename "$umbrella")
+ make distclean-ct ct-unit_log_config \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1 \
+ SECONDARY_UMBRELLA=$PWD/$umbrella \
+ RABBITMQ_FEATURE_FLAGS=
+ done
+ - name: ON FAILURE ARCHIVE TESTS LOGS
+ if: failure()
+ run: |
+ make ct-logs-archive
+ - name: ON FAILURE UPLOAD TESTS LOGS ARTIFACT
+ # https://github.com/marketplace/actions/upload-artifact
+ uses: actions/upload-artifact@v2-preview
+ if: failure()
+ with:
+ name: ct-unit_log_config-logs
+ path: "*-ct-logs-*.tar.xz"
+ # vim:sw=2:et:
+ ct-vhost:
+ needs: [checks]
+ # https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#contexts
+ name: ct-vhost
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ # https://github.com/marketplace/actions/setup-elixir
+ - name: CONFIGURE OTP & ELIXIR
+ uses: actions/setup-elixir@v1
+ with:
+ otp-version: 21.3
+ # https://github.com/elixir-lang/elixir/releases
+ elixir-version: 1.8.0
+ - name: CACHE DEPS
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-21.3_git-${{ github.sha }}_deps
+ - name: RUN TESTS
+ run: |
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ ! test -d ebin || touch ebin/*
+ make ct-vhost \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1
+ - name: CACHE SECONDARY UMBRELLAS
+ if: success() && 'oldest' == 'oldest'
+ uses: actions/cache@v1
+ with:
+ path: umbrellas
+ key: secondary-umbrellas-v3.7.0-erlang-21.3-rev3
+ - name: VERIFY SECONDARY UMBRELLA COPIES (in case of cache restore failure)
+ if: success() && 'oldest' == 'oldest'
+ run: |
+ set -x
+ for version in v3.7.0; do
+ umbrella="umbrellas/$version"
+ if ! test -d "$umbrella" ||
+ ! make -C "$umbrella/deps/rabbit" test-dist; then
+ rm -rf "$umbrella"
+
+ # Fetch the master Umbrella; the final umbrellas are created from
+ # the master copy.
+ if ! test -d umbrellas/master; then
+ git config --global advice.detachedHead false
+ git clone \
+ https://github.com/rabbitmq/rabbitmq-public-umbrella.git \
+ umbrellas/master
+ make -C umbrellas/master co # To get RabbitMQ components.
+ fi
+
+ # We copy the master Umbrella and checkout the appropriate tag.
+ cp -a umbrellas/master "$umbrella"
+ git -C "$umbrella" checkout "v3.7.x"
+ make -C "$umbrella" up BRANCH="$version"
+ # To remove third-party deps which were checked out when the
+ # projects were on the `master` branch. Thus, possibly not the
+ # version pinning we expect. We update the Umbrella one last time
+ # to fetch the correct third-party deps.
+ make -C "$umbrella" clean-3rd-party-repos
+ make -C "$umbrella" up
+ make -C "$umbrella/deps/rabbit" test-dist
+ rm -fr "$umbrella"/deps/*/{.git,test} "$umbrella"/.git
+ fi
+ done
+ rm -fr umbrellas/master
+ - name: RUN TESTS [mixed-versions]
+ if: success() && 'oldest' == 'oldest'
+ run: |
+ set -x
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ for umbrella in umbrellas/*; do
+ test -d "$umbrella"
+ printf '\n\033[1;32mMixing clusters with RabbitMQ %s\033[0m' \
+ $(basename "$umbrella")
+ make distclean-ct ct-vhost \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1 \
+ SECONDARY_UMBRELLA=$PWD/$umbrella \
+ RABBITMQ_FEATURE_FLAGS=
+ done
+ - name: ON FAILURE ARCHIVE TESTS LOGS
+ if: failure()
+ run: |
+ make ct-logs-archive
+ - name: ON FAILURE UPLOAD TESTS LOGS ARTIFACT
+ # https://github.com/marketplace/actions/upload-artifact
+ uses: actions/upload-artifact@v2-preview
+ if: failure()
+ with:
+ name: ct-vhost-logs
+ path: "*-ct-logs-*.tar.xz"
+ # vim:sw=2:et:
+ ct-worker_pool:
+ needs: [checks]
+ # https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#contexts
+ name: ct-worker_pool
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ # https://github.com/marketplace/actions/setup-elixir
+ - name: CONFIGURE OTP & ELIXIR
+ uses: actions/setup-elixir@v1
+ with:
+ otp-version: 21.3
+ # https://github.com/elixir-lang/elixir/releases
+ elixir-version: 1.8.0
+ - name: CACHE DEPS
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-21.3_git-${{ github.sha }}_deps
+ - name: RUN TESTS
+ run: |
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ ! test -d ebin || touch ebin/*
+ make ct-worker_pool \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1
+ - name: CACHE SECONDARY UMBRELLAS
+ if: success() && 'oldest' == 'oldest'
+ uses: actions/cache@v1
+ with:
+ path: umbrellas
+ key: secondary-umbrellas-v3.7.0-erlang-21.3-rev3
+ - name: VERIFY SECONDARY UMBRELLA COPIES (in case of cache restore failure)
+ if: success() && 'oldest' == 'oldest'
+ run: |
+ set -x
+ for version in v3.7.0; do
+ umbrella="umbrellas/$version"
+ if ! test -d "$umbrella" ||
+ ! make -C "$umbrella/deps/rabbit" test-dist; then
+ rm -rf "$umbrella"
+
+ # Fetch the master Umbrella; the final umbrellas are created from
+ # the master copy.
+ if ! test -d umbrellas/master; then
+ git config --global advice.detachedHead false
+ git clone \
+ https://github.com/rabbitmq/rabbitmq-public-umbrella.git \
+ umbrellas/master
+ make -C umbrellas/master co # To get RabbitMQ components.
+ fi
+
+ # We copy the master Umbrella and checkout the appropriate tag.
+ cp -a umbrellas/master "$umbrella"
+ git -C "$umbrella" checkout "v3.7.x"
+ make -C "$umbrella" up BRANCH="$version"
+ # To remove third-party deps which were checked out when the
+ # projects were on the `master` branch. Thus, possibly not the
+ # version pinning we expect. We update the Umbrella one last time
+ # to fetch the correct third-party deps.
+ make -C "$umbrella" clean-3rd-party-repos
+ make -C "$umbrella" up
+ make -C "$umbrella/deps/rabbit" test-dist
+ rm -fr "$umbrella"/deps/*/{.git,test} "$umbrella"/.git
+ fi
+ done
+ rm -fr umbrellas/master
+ - name: RUN TESTS [mixed-versions]
+ if: success() && 'oldest' == 'oldest'
+ run: |
+ set -x
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ for umbrella in umbrellas/*; do
+ test -d "$umbrella"
+ printf '\n\033[1;32mMixing clusters with RabbitMQ %s\033[0m' \
+ $(basename "$umbrella")
+ make distclean-ct ct-worker_pool \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1 \
+ SECONDARY_UMBRELLA=$PWD/$umbrella \
+ RABBITMQ_FEATURE_FLAGS=
+ done
+ - name: ON FAILURE ARCHIVE TESTS LOGS
+ if: failure()
+ run: |
+ make ct-logs-archive
+ - name: ON FAILURE UPLOAD TESTS LOGS ARTIFACT
+ # https://github.com/marketplace/actions/upload-artifact
+ uses: actions/upload-artifact@v2-preview
+ if: failure()
+ with:
+ name: ct-worker_pool-logs
+ path: "*-ct-logs-*.tar.xz"
+ # vim:sw=2:et:
+ capture-tested-deps-versions:
+ needs:
+ - dialyzer
+ - eunit
+ - ct-amqqueue_backward_compatibility
+ - ct-authn_authz_context_propagation
+ - ct-backing_queue
+ - ct-channel_interceptor
+ - ct-channel_operation_timeout
+ - ct-cluster
+ - ct-cluster_formation_locking
+ - ct-cluster_rename
+ - ct-clustering_management
+ - ct-config_schema
+ - ct-confirms_rejects
+ - ct-crashing_queues
+ - ct-credential_validation
+ - ct-disconnect_detected_during_alarm
+ - ct-dynamic_ha
+ - ct-eager_sync
+ - ct-feature_flags
+ - ct-gm
+ - ct-health_check
+ - ct-lazy_queue
+ - ct-list_consumers_sanity_check
+ - ct-list_queues_online_and_offline
+ - ct-many_node_ha
+ - ct-metrics
+ - ct-mirrored_supervisor
+ - ct-msg_store
+ - ct-peer_discovery_dns
+ - ct-per_user_connection_tracking
+ - ct-per_vhost_connection_limit
+ - ct-per_vhost_connection_limit_partitions
+ - ct-per_vhost_msg_store
+ - ct-per_vhost_queue_limit
+ - ct-plugin_versioning
+ - ct-policy
+ - ct-priority_queue
+ - ct-priority_queue_recovery
+ - ct-proxy_protocol
+ - ct-queue_master_location
+ - ct-rabbit_core_metrics_gc
+ - ct-rabbitmqctl_integration
+ - ct-rabbitmqctl_shutdown
+ - ct-signal_handling
+ - ct-simple_ha
+ - ct-sup_delayed_restart
+ - ct-sync_detection
+ - ct-term_to_binary_compat_prop
+ - ct-topic_permission
+ - ct-unit
+ - ct-unit_inbroker_non_parallel
+ - ct-unit_inbroker_parallel
+ - ct-unit_log_config
+ - ct-vhost
+ - ct-worker_pool
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ - name: CACHE DEPS
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-21.3_git-${{ github.sha }}_deps
+ - name: FORMAT GIT REF
+ # https://github.community/t5/GitHub-Actions/How-can-I-set-an-expression-as-an-environment-variable-at/m-p/41804/highlight/true#M4751
+ id: ref
+ run: |
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ echo "::set-output name=branch_or_tag_name::$branch_or_tag_name"
+ - name: UPLOAD TO S3
+ if: github.ref == 'refs/heads/v3.7.x'
+ # https://github.com/marketplace/actions/s3-file-upload
+ uses: zdurham/s3-upload-github-action@master
+ env:
+ AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
+ AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
+ AWS_REGION: ${{ secrets.AWS_REGION }}
+ FILE: deps/rabbit-rabbitmq-deps.mk
+ S3_BUCKET: ${{ secrets.AWS_S3_BUCKET }}
+ S3_KEY: rabbitmq-server/${{ steps.ref.outputs.branch_or_tag_name }}/${{ github.run_id }}/otp-21.3/rabbit-rabbitmq-deps.mk
diff --git a/.github/workflows/test-erlang-otp-22.3.yaml b/.github/workflows/test-erlang-otp-22.3.yaml
new file mode 100644
index 0000000000..caa1e6ac65
--- /dev/null
+++ b/.github/workflows/test-erlang-otp-22.3.yaml
@@ -0,0 +1,5606 @@
+# vim:sw=2:et:
+# https://help.github.com/en/actions/configuring-and-managing-workflows/configuring-a-workflow
+name: "Test - Erlang 22.3"
+on:
+ push:
+ repository_dispatch:
+ types:
+ - new-commit-to-dep-release-branch
+jobs:
+ # vim:sw=2:et:
+ checks:
+ name: checks
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ # https://github.com/marketplace/actions/setup-elixir
+ - name: CONFIGURE OTP & ELIXIR
+ uses: actions/setup-elixir@v1
+ with:
+ otp-version: 22.3
+ # https://github.com/elixir-lang/elixir/releases
+ elixir-version: 1.8.0
+ - name: CHECK RABBITMQ COMPONENTS
+ # https://github.community/t5/GitHub-Actions/How-can-I-set-an-expression-as-an-environment-variable-at/m-p/41804/highlight/true#M4751
+ id: ref
+ run: |
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ echo "::set-output name=branch_or_tag_name::$branch_or_tag_name"
+ make check-rabbitmq-components.mk base_rmq_ref=v3.7.x current_rmq_ref=$branch_or_tag_name
+ # https://help.github.com/en/actions/configuring-and-managing-workflows/caching-dependencies-to-speed-up-workflows
+ - name: CACHE DEPS
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-22.3_git-${{ github.sha }}_deps
+ - name: RESOLVE & COMPILE DEPS
+ run: |
+ make deps test-deps base_rmq_ref=v3.7.x current_rmq_ref=${{ steps.ref.outputs.branch_or_tag_name }}
+ echo "Capture versions of the RabbitMQ components used in this workflow..."
+ make rabbit-rabbitmq-deps.mk
+ mv rabbit-rabbitmq-deps.mk deps/
+ echo "Remove directories not used in the subsequent jobs..."
+ rm -fr deps/*/{.git,test}
+ - name: UPLOAD DEPS VERSIONS
+ uses: actions/upload-artifact@v2-preview
+ with:
+ name: rabbit-rabbitmq-deps.mk
+ path: deps/rabbit-rabbitmq-deps.mk
+ - name: CHECK CROSS REFERENCES
+ run: |
+ make xref base_rmq_ref=v3.7.x current_rmq_ref=${{ steps.ref.outputs.branch_or_tag_name }}
+ - name: COMPILE FOR TEST
+ run: |
+ make test-build base_rmq_ref=v3.7.x current_rmq_ref=${{ steps.ref.outputs.branch_or_tag_name }}
+ - name: CACHE SECONDARY UMBRELLAS
+ if: success() && 'latest' == 'oldest'
+ uses: actions/cache@v1
+ with:
+ path: umbrellas
+ key: secondary-umbrellas-v3.7.0-erlang-22.3-rev3
+ - name: PREPARE SECONDARY UMBRELLA COPIES
+ if: success() && 'latest' == 'oldest'
+ run: |
+ # ----------------------------------------------------------
+ # CAUTION:
+ # The same script must be copied to `03-CT_SUITE.yaml`. It is used to
+ # recreate the umbrellas if the cache restore fails.
+ # ----------------------------------------------------------
+ set -x
+ for version in v3.7.0; do
+ umbrella="umbrellas/$version"
+ if ! test -d "$umbrella" ||
+ ! make -C "$umbrella/deps/rabbit" test-dist; then
+ rm -rf "$umbrella"
+
+ # Fetch the master Umbrella; the final umbrellas are created from
+ # the master copy.
+ if ! test -d umbrellas/master; then
+ git config --global advice.detachedHead false
+ git clone \
+ https://github.com/rabbitmq/rabbitmq-public-umbrella.git \
+ umbrellas/master
+ make -C umbrellas/master co # To get RabbitMQ components.
+ fi
+
+ # We copy the master Umbrella and checkout the appropriate tag.
+ cp -a umbrellas/master "$umbrella"
+ git -C "$umbrella" checkout "v3.7.x"
+ make -C "$umbrella" up BRANCH="$version"
+ # To remove third-party deps which were checked out when the
+ # projects were on the `master` branch. Thus, possibly not the
+ # version pinning we expect. We update the Umbrella one last time
+ # to fetch the correct third-party deps.
+ make -C "$umbrella" clean-3rd-party-repos
+ make -C "$umbrella" up
+ make -C "$umbrella/deps/rabbit" test-dist
+ rm -fr "$umbrella"/deps/*/{.git,test} "$umbrella"/.git
+ fi
+ done
+ rm -fr umbrellas/master
+ # vim:sw=2:et:
+ dialyzer:
+ name: dialyzer
+ needs: [checks]
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ if: success() && 'latest' == 'latest'
+ uses: actions/checkout@v2
+ # https://github.com/marketplace/actions/setup-elixir
+ - name: CONFIGURE OTP & ELIXIR
+ if: success() && 'latest' == 'latest'
+ uses: actions/setup-elixir@v1
+ with:
+ otp-version: 22.3
+ # https://github.com/elixir-lang/elixir/releases
+ elixir-version: 1.8.0
+ - name: CACHE DEPS
+ if: success() && 'latest' == 'latest'
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-22.3_git-${{ github.sha }}_deps
+ - name: CACHE DIALYZER PLT
+ if: success() && 'latest' == 'latest'
+ uses: actions/cache@v1
+ with:
+ path: .rabbit.plt
+ key: plt-rabbit-erlang-22.3-g${{ github.sha }}
+ - name: RUN DIALYZER
+ if: success() && 'latest' == 'latest'
+ run: |
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ make dialyze \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL=
+ # vim:sw=2:et:
+ eunit:
+ needs: [checks]
+ # https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#contexts
+ name: eunit
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ # https://github.com/marketplace/actions/setup-elixir
+ - name: CONFIGURE OTP & ELIXIR
+ uses: actions/setup-elixir@v1
+ with:
+ otp-version: 22.3
+ # https://github.com/elixir-lang/elixir/releases
+ elixir-version: 1.8.0
+ - name: CACHE DEPS
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-22.3_git-${{ github.sha }}_deps
+ - name: RUN TESTS
+ run: |
+ ! test -d ebin || touch ebin/*
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ make eunit \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1
+ # vim:sw=2:et:
+ ct-amqqueue_backward_compatibility:
+ needs: [checks]
+ # https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#contexts
+ name: ct-amqqueue_backward_compatibility
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ # https://github.com/marketplace/actions/setup-elixir
+ - name: CONFIGURE OTP & ELIXIR
+ uses: actions/setup-elixir@v1
+ with:
+ otp-version: 22.3
+ # https://github.com/elixir-lang/elixir/releases
+ elixir-version: 1.8.0
+ - name: CACHE DEPS
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-22.3_git-${{ github.sha }}_deps
+ - name: RUN TESTS
+ run: |
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ ! test -d ebin || touch ebin/*
+ make ct-amqqueue_backward_compatibility \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1
+ - name: CACHE SECONDARY UMBRELLAS
+ if: success() && 'latest' == 'oldest'
+ uses: actions/cache@v1
+ with:
+ path: umbrellas
+ key: secondary-umbrellas-v3.7.0-erlang-22.3-rev3
+ - name: VERIFY SECONDARY UMBRELLA COPIES (in case of cache restore failure)
+ if: success() && 'latest' == 'oldest'
+ run: |
+ set -x
+ for version in v3.7.0; do
+ umbrella="umbrellas/$version"
+ if ! test -d "$umbrella" ||
+ ! make -C "$umbrella/deps/rabbit" test-dist; then
+ rm -rf "$umbrella"
+
+ # Fetch the master Umbrella; the final umbrellas are created from
+ # the master copy.
+ if ! test -d umbrellas/master; then
+ git config --global advice.detachedHead false
+ git clone \
+ https://github.com/rabbitmq/rabbitmq-public-umbrella.git \
+ umbrellas/master
+ make -C umbrellas/master co # To get RabbitMQ components.
+ fi
+
+ # We copy the master Umbrella and checkout the appropriate tag.
+ cp -a umbrellas/master "$umbrella"
+ git -C "$umbrella" checkout "v3.7.x"
+ make -C "$umbrella" up BRANCH="$version"
+ # To remove third-party deps which were checked out when the
+ # projects were on the `master` branch. Thus, possibly not the
+ # version pinning we expect. We update the Umbrella one last time
+ # to fetch the correct third-party deps.
+ make -C "$umbrella" clean-3rd-party-repos
+ make -C "$umbrella" up
+ make -C "$umbrella/deps/rabbit" test-dist
+ rm -fr "$umbrella"/deps/*/{.git,test} "$umbrella"/.git
+ fi
+ done
+ rm -fr umbrellas/master
+ - name: RUN TESTS [mixed-versions]
+ if: success() && 'latest' == 'oldest'
+ run: |
+ set -x
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ for umbrella in umbrellas/*; do
+ test -d "$umbrella"
+ printf '\n\033[1;32mMixing clusters with RabbitMQ %s\033[0m' \
+ $(basename "$umbrella")
+ make distclean-ct ct-amqqueue_backward_compatibility \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1 \
+ SECONDARY_UMBRELLA=$PWD/$umbrella \
+ RABBITMQ_FEATURE_FLAGS=
+ done
+ - name: ON FAILURE ARCHIVE TESTS LOGS
+ if: failure()
+ run: |
+ make ct-logs-archive
+ - name: ON FAILURE UPLOAD TESTS LOGS ARTIFACT
+ # https://github.com/marketplace/actions/upload-artifact
+ uses: actions/upload-artifact@v2-preview
+ if: failure()
+ with:
+ name: ct-amqqueue_backward_compatibility-logs
+ path: "*-ct-logs-*.tar.xz"
+ # vim:sw=2:et:
+ ct-authn_authz_context_propagation:
+ needs: [checks]
+ # https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#contexts
+ name: ct-authn_authz_context_propagation
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ # https://github.com/marketplace/actions/setup-elixir
+ - name: CONFIGURE OTP & ELIXIR
+ uses: actions/setup-elixir@v1
+ with:
+ otp-version: 22.3
+ # https://github.com/elixir-lang/elixir/releases
+ elixir-version: 1.8.0
+ - name: CACHE DEPS
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-22.3_git-${{ github.sha }}_deps
+ - name: RUN TESTS
+ run: |
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ ! test -d ebin || touch ebin/*
+ make ct-authn_authz_context_propagation \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1
+ - name: CACHE SECONDARY UMBRELLAS
+ if: success() && 'latest' == 'oldest'
+ uses: actions/cache@v1
+ with:
+ path: umbrellas
+ key: secondary-umbrellas-v3.7.0-erlang-22.3-rev3
+ - name: VERIFY SECONDARY UMBRELLA COPIES (in case of cache restore failure)
+ if: success() && 'latest' == 'oldest'
+ run: |
+ set -x
+ for version in v3.7.0; do
+ umbrella="umbrellas/$version"
+ if ! test -d "$umbrella" ||
+ ! make -C "$umbrella/deps/rabbit" test-dist; then
+ rm -rf "$umbrella"
+
+ # Fetch the master Umbrella; the final umbrellas are created from
+ # the master copy.
+ if ! test -d umbrellas/master; then
+ git config --global advice.detachedHead false
+ git clone \
+ https://github.com/rabbitmq/rabbitmq-public-umbrella.git \
+ umbrellas/master
+ make -C umbrellas/master co # To get RabbitMQ components.
+ fi
+
+ # We copy the master Umbrella and checkout the appropriate tag.
+ cp -a umbrellas/master "$umbrella"
+ git -C "$umbrella" checkout "v3.7.x"
+ make -C "$umbrella" up BRANCH="$version"
+ # To remove third-party deps which were checked out when the
+ # projects were on the `master` branch. Thus, possibly not the
+ # version pinning we expect. We update the Umbrella one last time
+ # to fetch the correct third-party deps.
+ make -C "$umbrella" clean-3rd-party-repos
+ make -C "$umbrella" up
+ make -C "$umbrella/deps/rabbit" test-dist
+ rm -fr "$umbrella"/deps/*/{.git,test} "$umbrella"/.git
+ fi
+ done
+ rm -fr umbrellas/master
+ - name: RUN TESTS [mixed-versions]
+ if: success() && 'latest' == 'oldest'
+ run: |
+ set -x
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ for umbrella in umbrellas/*; do
+ test -d "$umbrella"
+ printf '\n\033[1;32mMixing clusters with RabbitMQ %s\033[0m' \
+ $(basename "$umbrella")
+ make distclean-ct ct-authn_authz_context_propagation \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1 \
+ SECONDARY_UMBRELLA=$PWD/$umbrella \
+ RABBITMQ_FEATURE_FLAGS=
+ done
+ - name: ON FAILURE ARCHIVE TESTS LOGS
+ if: failure()
+ run: |
+ make ct-logs-archive
+ - name: ON FAILURE UPLOAD TESTS LOGS ARTIFACT
+ # https://github.com/marketplace/actions/upload-artifact
+ uses: actions/upload-artifact@v2-preview
+ if: failure()
+ with:
+ name: ct-authn_authz_context_propagation-logs
+ path: "*-ct-logs-*.tar.xz"
+ # vim:sw=2:et:
+ ct-backing_queue:
+ needs: [checks]
+ # https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#contexts
+ name: ct-backing_queue
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ # https://github.com/marketplace/actions/setup-elixir
+ - name: CONFIGURE OTP & ELIXIR
+ uses: actions/setup-elixir@v1
+ with:
+ otp-version: 22.3
+ # https://github.com/elixir-lang/elixir/releases
+ elixir-version: 1.8.0
+ - name: CACHE DEPS
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-22.3_git-${{ github.sha }}_deps
+ - name: RUN TESTS
+ run: |
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ ! test -d ebin || touch ebin/*
+ make ct-backing_queue \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1
+ - name: CACHE SECONDARY UMBRELLAS
+ if: success() && 'latest' == 'oldest'
+ uses: actions/cache@v1
+ with:
+ path: umbrellas
+ key: secondary-umbrellas-v3.7.0-erlang-22.3-rev3
+ - name: VERIFY SECONDARY UMBRELLA COPIES (in case of cache restore failure)
+ if: success() && 'latest' == 'oldest'
+ run: |
+ set -x
+ for version in v3.7.0; do
+ umbrella="umbrellas/$version"
+ if ! test -d "$umbrella" ||
+ ! make -C "$umbrella/deps/rabbit" test-dist; then
+ rm -rf "$umbrella"
+
+ # Fetch the master Umbrella; the final umbrellas are created from
+ # the master copy.
+ if ! test -d umbrellas/master; then
+ git config --global advice.detachedHead false
+ git clone \
+ https://github.com/rabbitmq/rabbitmq-public-umbrella.git \
+ umbrellas/master
+ make -C umbrellas/master co # To get RabbitMQ components.
+ fi
+
+ # We copy the master Umbrella and checkout the appropriate tag.
+ cp -a umbrellas/master "$umbrella"
+ git -C "$umbrella" checkout "v3.7.x"
+ make -C "$umbrella" up BRANCH="$version"
+ # To remove third-party deps which were checked out when the
+ # projects were on the `master` branch. Thus, possibly not the
+ # version pinning we expect. We update the Umbrella one last time
+ # to fetch the correct third-party deps.
+ make -C "$umbrella" clean-3rd-party-repos
+ make -C "$umbrella" up
+ make -C "$umbrella/deps/rabbit" test-dist
+ rm -fr "$umbrella"/deps/*/{.git,test} "$umbrella"/.git
+ fi
+ done
+ rm -fr umbrellas/master
+ - name: RUN TESTS [mixed-versions]
+ if: success() && 'latest' == 'oldest'
+ run: |
+ set -x
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ for umbrella in umbrellas/*; do
+ test -d "$umbrella"
+ printf '\n\033[1;32mMixing clusters with RabbitMQ %s\033[0m' \
+ $(basename "$umbrella")
+ make distclean-ct ct-backing_queue \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1 \
+ SECONDARY_UMBRELLA=$PWD/$umbrella \
+ RABBITMQ_FEATURE_FLAGS=
+ done
+ - name: ON FAILURE ARCHIVE TESTS LOGS
+ if: failure()
+ run: |
+ make ct-logs-archive
+ - name: ON FAILURE UPLOAD TESTS LOGS ARTIFACT
+ # https://github.com/marketplace/actions/upload-artifact
+ uses: actions/upload-artifact@v2-preview
+ if: failure()
+ with:
+ name: ct-backing_queue-logs
+ path: "*-ct-logs-*.tar.xz"
+ # vim:sw=2:et:
+ ct-channel_interceptor:
+ needs: [checks]
+ # https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#contexts
+ name: ct-channel_interceptor
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ # https://github.com/marketplace/actions/setup-elixir
+ - name: CONFIGURE OTP & ELIXIR
+ uses: actions/setup-elixir@v1
+ with:
+ otp-version: 22.3
+ # https://github.com/elixir-lang/elixir/releases
+ elixir-version: 1.8.0
+ - name: CACHE DEPS
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-22.3_git-${{ github.sha }}_deps
+ - name: RUN TESTS
+ run: |
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ ! test -d ebin || touch ebin/*
+ make ct-channel_interceptor \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1
+ - name: CACHE SECONDARY UMBRELLAS
+ if: success() && 'latest' == 'oldest'
+ uses: actions/cache@v1
+ with:
+ path: umbrellas
+ key: secondary-umbrellas-v3.7.0-erlang-22.3-rev3
+ - name: VERIFY SECONDARY UMBRELLA COPIES (in case of cache restore failure)
+ if: success() && 'latest' == 'oldest'
+ run: |
+ set -x
+ for version in v3.7.0; do
+ umbrella="umbrellas/$version"
+ if ! test -d "$umbrella" ||
+ ! make -C "$umbrella/deps/rabbit" test-dist; then
+ rm -rf "$umbrella"
+
+ # Fetch the master Umbrella; the final umbrellas are created from
+ # the master copy.
+ if ! test -d umbrellas/master; then
+ git config --global advice.detachedHead false
+ git clone \
+ https://github.com/rabbitmq/rabbitmq-public-umbrella.git \
+ umbrellas/master
+ make -C umbrellas/master co # To get RabbitMQ components.
+ fi
+
+ # We copy the master Umbrella and checkout the appropriate tag.
+ cp -a umbrellas/master "$umbrella"
+ git -C "$umbrella" checkout "v3.7.x"
+ make -C "$umbrella" up BRANCH="$version"
+ # To remove third-party deps which were checked out when the
+ # projects were on the `master` branch. Thus, possibly not the
+ # version pinning we expect. We update the Umbrella one last time
+ # to fetch the correct third-party deps.
+ make -C "$umbrella" clean-3rd-party-repos
+ make -C "$umbrella" up
+ make -C "$umbrella/deps/rabbit" test-dist
+ rm -fr "$umbrella"/deps/*/{.git,test} "$umbrella"/.git
+ fi
+ done
+ rm -fr umbrellas/master
+ - name: RUN TESTS [mixed-versions]
+ if: success() && 'latest' == 'oldest'
+ run: |
+ set -x
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ for umbrella in umbrellas/*; do
+ test -d "$umbrella"
+ printf '\n\033[1;32mMixing clusters with RabbitMQ %s\033[0m' \
+ $(basename "$umbrella")
+ make distclean-ct ct-channel_interceptor \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1 \
+ SECONDARY_UMBRELLA=$PWD/$umbrella \
+ RABBITMQ_FEATURE_FLAGS=
+ done
+ - name: ON FAILURE ARCHIVE TESTS LOGS
+ if: failure()
+ run: |
+ make ct-logs-archive
+ - name: ON FAILURE UPLOAD TESTS LOGS ARTIFACT
+ # https://github.com/marketplace/actions/upload-artifact
+ uses: actions/upload-artifact@v2-preview
+ if: failure()
+ with:
+ name: ct-channel_interceptor-logs
+ path: "*-ct-logs-*.tar.xz"
+ # vim:sw=2:et:
+ ct-channel_operation_timeout:
+ needs: [checks]
+ # https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#contexts
+ name: ct-channel_operation_timeout
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ # https://github.com/marketplace/actions/setup-elixir
+ - name: CONFIGURE OTP & ELIXIR
+ uses: actions/setup-elixir@v1
+ with:
+ otp-version: 22.3
+ # https://github.com/elixir-lang/elixir/releases
+ elixir-version: 1.8.0
+ - name: CACHE DEPS
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-22.3_git-${{ github.sha }}_deps
+ - name: RUN TESTS
+ run: |
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ ! test -d ebin || touch ebin/*
+ make ct-channel_operation_timeout \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1
+ - name: CACHE SECONDARY UMBRELLAS
+ if: success() && 'latest' == 'oldest'
+ uses: actions/cache@v1
+ with:
+ path: umbrellas
+ key: secondary-umbrellas-v3.7.0-erlang-22.3-rev3
+ - name: VERIFY SECONDARY UMBRELLA COPIES (in case of cache restore failure)
+ if: success() && 'latest' == 'oldest'
+ run: |
+ set -x
+ for version in v3.7.0; do
+ umbrella="umbrellas/$version"
+ if ! test -d "$umbrella" ||
+ ! make -C "$umbrella/deps/rabbit" test-dist; then
+ rm -rf "$umbrella"
+
+ # Fetch the master Umbrella; the final umbrellas are created from
+ # the master copy.
+ if ! test -d umbrellas/master; then
+ git config --global advice.detachedHead false
+ git clone \
+ https://github.com/rabbitmq/rabbitmq-public-umbrella.git \
+ umbrellas/master
+ make -C umbrellas/master co # To get RabbitMQ components.
+ fi
+
+ # We copy the master Umbrella and checkout the appropriate tag.
+ cp -a umbrellas/master "$umbrella"
+ git -C "$umbrella" checkout "v3.7.x"
+ make -C "$umbrella" up BRANCH="$version"
+ # To remove third-party deps which were checked out when the
+ # projects were on the `master` branch. Thus, possibly not the
+ # version pinning we expect. We update the Umbrella one last time
+ # to fetch the correct third-party deps.
+ make -C "$umbrella" clean-3rd-party-repos
+ make -C "$umbrella" up
+ make -C "$umbrella/deps/rabbit" test-dist
+ rm -fr "$umbrella"/deps/*/{.git,test} "$umbrella"/.git
+ fi
+ done
+ rm -fr umbrellas/master
+ - name: RUN TESTS [mixed-versions]
+ if: success() && 'latest' == 'oldest'
+ run: |
+ set -x
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ for umbrella in umbrellas/*; do
+ test -d "$umbrella"
+ printf '\n\033[1;32mMixing clusters with RabbitMQ %s\033[0m' \
+ $(basename "$umbrella")
+ make distclean-ct ct-channel_operation_timeout \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1 \
+ SECONDARY_UMBRELLA=$PWD/$umbrella \
+ RABBITMQ_FEATURE_FLAGS=
+ done
+ - name: ON FAILURE ARCHIVE TESTS LOGS
+ if: failure()
+ run: |
+ make ct-logs-archive
+ - name: ON FAILURE UPLOAD TESTS LOGS ARTIFACT
+ # https://github.com/marketplace/actions/upload-artifact
+ uses: actions/upload-artifact@v2-preview
+ if: failure()
+ with:
+ name: ct-channel_operation_timeout-logs
+ path: "*-ct-logs-*.tar.xz"
+ # vim:sw=2:et:
+ ct-cluster:
+ needs: [checks]
+ # https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#contexts
+ name: ct-cluster
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ # https://github.com/marketplace/actions/setup-elixir
+ - name: CONFIGURE OTP & ELIXIR
+ uses: actions/setup-elixir@v1
+ with:
+ otp-version: 22.3
+ # https://github.com/elixir-lang/elixir/releases
+ elixir-version: 1.8.0
+ - name: CACHE DEPS
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-22.3_git-${{ github.sha }}_deps
+ - name: RUN TESTS
+ run: |
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ ! test -d ebin || touch ebin/*
+ make ct-cluster \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1
+ - name: CACHE SECONDARY UMBRELLAS
+ if: success() && 'latest' == 'oldest'
+ uses: actions/cache@v1
+ with:
+ path: umbrellas
+ key: secondary-umbrellas-v3.7.0-erlang-22.3-rev3
+ - name: VERIFY SECONDARY UMBRELLA COPIES (in case of cache restore failure)
+ if: success() && 'latest' == 'oldest'
+ run: |
+ set -x
+ for version in v3.7.0; do
+ umbrella="umbrellas/$version"
+ if ! test -d "$umbrella" ||
+ ! make -C "$umbrella/deps/rabbit" test-dist; then
+ rm -rf "$umbrella"
+
+ # Fetch the master Umbrella; the final umbrellas are created from
+ # the master copy.
+ if ! test -d umbrellas/master; then
+ git config --global advice.detachedHead false
+ git clone \
+ https://github.com/rabbitmq/rabbitmq-public-umbrella.git \
+ umbrellas/master
+ make -C umbrellas/master co # To get RabbitMQ components.
+ fi
+
+ # We copy the master Umbrella and checkout the appropriate tag.
+ cp -a umbrellas/master "$umbrella"
+ git -C "$umbrella" checkout "v3.7.x"
+ make -C "$umbrella" up BRANCH="$version"
+ # To remove third-party deps which were checked out when the
+ # projects were on the `master` branch. Thus, possibly not the
+ # version pinning we expect. We update the Umbrella one last time
+ # to fetch the correct third-party deps.
+ make -C "$umbrella" clean-3rd-party-repos
+ make -C "$umbrella" up
+ make -C "$umbrella/deps/rabbit" test-dist
+ rm -fr "$umbrella"/deps/*/{.git,test} "$umbrella"/.git
+ fi
+ done
+ rm -fr umbrellas/master
+ - name: RUN TESTS [mixed-versions]
+ if: success() && 'latest' == 'oldest'
+ run: |
+ set -x
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ for umbrella in umbrellas/*; do
+ test -d "$umbrella"
+ printf '\n\033[1;32mMixing clusters with RabbitMQ %s\033[0m' \
+ $(basename "$umbrella")
+ make distclean-ct ct-cluster \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1 \
+ SECONDARY_UMBRELLA=$PWD/$umbrella \
+ RABBITMQ_FEATURE_FLAGS=
+ done
+ - name: ON FAILURE ARCHIVE TESTS LOGS
+ if: failure()
+ run: |
+ make ct-logs-archive
+ - name: ON FAILURE UPLOAD TESTS LOGS ARTIFACT
+ # https://github.com/marketplace/actions/upload-artifact
+ uses: actions/upload-artifact@v2-preview
+ if: failure()
+ with:
+ name: ct-cluster-logs
+ path: "*-ct-logs-*.tar.xz"
+ # vim:sw=2:et:
+ ct-cluster_formation_locking:
+ needs: [checks]
+ # https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#contexts
+ name: ct-cluster_formation_locking
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ # https://github.com/marketplace/actions/setup-elixir
+ - name: CONFIGURE OTP & ELIXIR
+ uses: actions/setup-elixir@v1
+ with:
+ otp-version: 22.3
+ # https://github.com/elixir-lang/elixir/releases
+ elixir-version: 1.8.0
+ - name: CACHE DEPS
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-22.3_git-${{ github.sha }}_deps
+ - name: RUN TESTS
+ run: |
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ ! test -d ebin || touch ebin/*
+ make ct-cluster_formation_locking \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1
+ - name: CACHE SECONDARY UMBRELLAS
+ if: success() && 'latest' == 'oldest'
+ uses: actions/cache@v1
+ with:
+ path: umbrellas
+ key: secondary-umbrellas-v3.7.0-erlang-22.3-rev3
+ - name: VERIFY SECONDARY UMBRELLA COPIES (in case of cache restore failure)
+ if: success() && 'latest' == 'oldest'
+ run: |
+ set -x
+ for version in v3.7.0; do
+ umbrella="umbrellas/$version"
+ if ! test -d "$umbrella" ||
+ ! make -C "$umbrella/deps/rabbit" test-dist; then
+ rm -rf "$umbrella"
+
+ # Fetch the master Umbrella; the final umbrellas are created from
+ # the master copy.
+ if ! test -d umbrellas/master; then
+ git config --global advice.detachedHead false
+ git clone \
+ https://github.com/rabbitmq/rabbitmq-public-umbrella.git \
+ umbrellas/master
+ make -C umbrellas/master co # To get RabbitMQ components.
+ fi
+
+ # We copy the master Umbrella and checkout the appropriate tag.
+ cp -a umbrellas/master "$umbrella"
+ git -C "$umbrella" checkout "v3.7.x"
+ make -C "$umbrella" up BRANCH="$version"
+ # To remove third-party deps which were checked out when the
+ # projects were on the `master` branch. Thus, possibly not the
+ # version pinning we expect. We update the Umbrella one last time
+ # to fetch the correct third-party deps.
+ make -C "$umbrella" clean-3rd-party-repos
+ make -C "$umbrella" up
+ make -C "$umbrella/deps/rabbit" test-dist
+ rm -fr "$umbrella"/deps/*/{.git,test} "$umbrella"/.git
+ fi
+ done
+ rm -fr umbrellas/master
+ - name: RUN TESTS [mixed-versions]
+ if: success() && 'latest' == 'oldest'
+ run: |
+ set -x
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ for umbrella in umbrellas/*; do
+ test -d "$umbrella"
+ printf '\n\033[1;32mMixing clusters with RabbitMQ %s\033[0m' \
+ $(basename "$umbrella")
+ make distclean-ct ct-cluster_formation_locking \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1 \
+ SECONDARY_UMBRELLA=$PWD/$umbrella \
+ RABBITMQ_FEATURE_FLAGS=
+ done
+ - name: ON FAILURE ARCHIVE TESTS LOGS
+ if: failure()
+ run: |
+ make ct-logs-archive
+ - name: ON FAILURE UPLOAD TESTS LOGS ARTIFACT
+ # https://github.com/marketplace/actions/upload-artifact
+ uses: actions/upload-artifact@v2-preview
+ if: failure()
+ with:
+ name: ct-cluster_formation_locking-logs
+ path: "*-ct-logs-*.tar.xz"
+ # vim:sw=2:et:
+ ct-cluster_rename:
+ needs: [checks]
+ # https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#contexts
+ name: ct-cluster_rename
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ # https://github.com/marketplace/actions/setup-elixir
+ - name: CONFIGURE OTP & ELIXIR
+ uses: actions/setup-elixir@v1
+ with:
+ otp-version: 22.3
+ # https://github.com/elixir-lang/elixir/releases
+ elixir-version: 1.8.0
+ - name: CACHE DEPS
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-22.3_git-${{ github.sha }}_deps
+ - name: RUN TESTS
+ run: |
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ ! test -d ebin || touch ebin/*
+ make ct-cluster_rename \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1
+ - name: CACHE SECONDARY UMBRELLAS
+ if: success() && 'latest' == 'oldest'
+ uses: actions/cache@v1
+ with:
+ path: umbrellas
+ key: secondary-umbrellas-v3.7.0-erlang-22.3-rev3
+ - name: VERIFY SECONDARY UMBRELLA COPIES (in case of cache restore failure)
+ if: success() && 'latest' == 'oldest'
+ run: |
+ set -x
+ for version in v3.7.0; do
+ umbrella="umbrellas/$version"
+ if ! test -d "$umbrella" ||
+ ! make -C "$umbrella/deps/rabbit" test-dist; then
+ rm -rf "$umbrella"
+
+ # Fetch the master Umbrella; the final umbrellas are created from
+ # the master copy.
+ if ! test -d umbrellas/master; then
+ git config --global advice.detachedHead false
+ git clone \
+ https://github.com/rabbitmq/rabbitmq-public-umbrella.git \
+ umbrellas/master
+ make -C umbrellas/master co # To get RabbitMQ components.
+ fi
+
+ # We copy the master Umbrella and checkout the appropriate tag.
+ cp -a umbrellas/master "$umbrella"
+ git -C "$umbrella" checkout "v3.7.x"
+ make -C "$umbrella" up BRANCH="$version"
+ # To remove third-party deps which were checked out when the
+ # projects were on the `master` branch. Thus, possibly not the
+ # version pinning we expect. We update the Umbrella one last time
+ # to fetch the correct third-party deps.
+ make -C "$umbrella" clean-3rd-party-repos
+ make -C "$umbrella" up
+ make -C "$umbrella/deps/rabbit" test-dist
+ rm -fr "$umbrella"/deps/*/{.git,test} "$umbrella"/.git
+ fi
+ done
+ rm -fr umbrellas/master
+ - name: RUN TESTS [mixed-versions]
+ if: success() && 'latest' == 'oldest'
+ run: |
+ set -x
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ for umbrella in umbrellas/*; do
+ test -d "$umbrella"
+ printf '\n\033[1;32mMixing clusters with RabbitMQ %s\033[0m' \
+ $(basename "$umbrella")
+ make distclean-ct ct-cluster_rename \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1 \
+ SECONDARY_UMBRELLA=$PWD/$umbrella \
+ RABBITMQ_FEATURE_FLAGS=
+ done
+ - name: ON FAILURE ARCHIVE TESTS LOGS
+ if: failure()
+ run: |
+ make ct-logs-archive
+ - name: ON FAILURE UPLOAD TESTS LOGS ARTIFACT
+ # https://github.com/marketplace/actions/upload-artifact
+ uses: actions/upload-artifact@v2-preview
+ if: failure()
+ with:
+ name: ct-cluster_rename-logs
+ path: "*-ct-logs-*.tar.xz"
+ # vim:sw=2:et:
+ ct-clustering_management:
+ needs: [checks]
+ # https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#contexts
+ name: ct-clustering_management
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ # https://github.com/marketplace/actions/setup-elixir
+ - name: CONFIGURE OTP & ELIXIR
+ uses: actions/setup-elixir@v1
+ with:
+ otp-version: 22.3
+ # https://github.com/elixir-lang/elixir/releases
+ elixir-version: 1.8.0
+ - name: CACHE DEPS
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-22.3_git-${{ github.sha }}_deps
+ - name: RUN TESTS
+ run: |
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ ! test -d ebin || touch ebin/*
+ make ct-clustering_management \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1
+ - name: CACHE SECONDARY UMBRELLAS
+ if: success() && 'latest' == 'oldest'
+ uses: actions/cache@v1
+ with:
+ path: umbrellas
+ key: secondary-umbrellas-v3.7.0-erlang-22.3-rev3
+ - name: VERIFY SECONDARY UMBRELLA COPIES (in case of cache restore failure)
+ if: success() && 'latest' == 'oldest'
+ run: |
+ set -x
+ for version in v3.7.0; do
+ umbrella="umbrellas/$version"
+ if ! test -d "$umbrella" ||
+ ! make -C "$umbrella/deps/rabbit" test-dist; then
+ rm -rf "$umbrella"
+
+ # Fetch the master Umbrella; the final umbrellas are created from
+ # the master copy.
+ if ! test -d umbrellas/master; then
+ git config --global advice.detachedHead false
+ git clone \
+ https://github.com/rabbitmq/rabbitmq-public-umbrella.git \
+ umbrellas/master
+ make -C umbrellas/master co # To get RabbitMQ components.
+ fi
+
+ # We copy the master Umbrella and checkout the appropriate tag.
+ cp -a umbrellas/master "$umbrella"
+ git -C "$umbrella" checkout "v3.7.x"
+ make -C "$umbrella" up BRANCH="$version"
+ # To remove third-party deps which were checked out when the
+ # projects were on the `master` branch. Thus, possibly not the
+ # version pinning we expect. We update the Umbrella one last time
+ # to fetch the correct third-party deps.
+ make -C "$umbrella" clean-3rd-party-repos
+ make -C "$umbrella" up
+ make -C "$umbrella/deps/rabbit" test-dist
+ rm -fr "$umbrella"/deps/*/{.git,test} "$umbrella"/.git
+ fi
+ done
+ rm -fr umbrellas/master
+ - name: RUN TESTS [mixed-versions]
+ if: success() && 'latest' == 'oldest'
+ run: |
+ set -x
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ for umbrella in umbrellas/*; do
+ test -d "$umbrella"
+ printf '\n\033[1;32mMixing clusters with RabbitMQ %s\033[0m' \
+ $(basename "$umbrella")
+ make distclean-ct ct-clustering_management \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1 \
+ SECONDARY_UMBRELLA=$PWD/$umbrella \
+ RABBITMQ_FEATURE_FLAGS=
+ done
+ - name: ON FAILURE ARCHIVE TESTS LOGS
+ if: failure()
+ run: |
+ make ct-logs-archive
+ - name: ON FAILURE UPLOAD TESTS LOGS ARTIFACT
+ # https://github.com/marketplace/actions/upload-artifact
+ uses: actions/upload-artifact@v2-preview
+ if: failure()
+ with:
+ name: ct-clustering_management-logs
+ path: "*-ct-logs-*.tar.xz"
+ # vim:sw=2:et:
+ ct-config_schema:
+ needs: [checks]
+ # https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#contexts
+ name: ct-config_schema
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ # https://github.com/marketplace/actions/setup-elixir
+ - name: CONFIGURE OTP & ELIXIR
+ uses: actions/setup-elixir@v1
+ with:
+ otp-version: 22.3
+ # https://github.com/elixir-lang/elixir/releases
+ elixir-version: 1.8.0
+ - name: CACHE DEPS
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-22.3_git-${{ github.sha }}_deps
+ - name: RUN TESTS
+ run: |
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ ! test -d ebin || touch ebin/*
+ make ct-config_schema \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1
+ - name: CACHE SECONDARY UMBRELLAS
+ if: success() && 'latest' == 'oldest'
+ uses: actions/cache@v1
+ with:
+ path: umbrellas
+ key: secondary-umbrellas-v3.7.0-erlang-22.3-rev3
+ - name: VERIFY SECONDARY UMBRELLA COPIES (in case of cache restore failure)
+ if: success() && 'latest' == 'oldest'
+ run: |
+ set -x
+ for version in v3.7.0; do
+ umbrella="umbrellas/$version"
+ if ! test -d "$umbrella" ||
+ ! make -C "$umbrella/deps/rabbit" test-dist; then
+ rm -rf "$umbrella"
+
+ # Fetch the master Umbrella; the final umbrellas are created from
+ # the master copy.
+ if ! test -d umbrellas/master; then
+ git config --global advice.detachedHead false
+ git clone \
+ https://github.com/rabbitmq/rabbitmq-public-umbrella.git \
+ umbrellas/master
+ make -C umbrellas/master co # To get RabbitMQ components.
+ fi
+
+ # We copy the master Umbrella and checkout the appropriate tag.
+ cp -a umbrellas/master "$umbrella"
+ git -C "$umbrella" checkout "v3.7.x"
+ make -C "$umbrella" up BRANCH="$version"
+ # To remove third-party deps which were checked out when the
+ # projects were on the `master` branch. Thus, possibly not the
+ # version pinning we expect. We update the Umbrella one last time
+ # to fetch the correct third-party deps.
+ make -C "$umbrella" clean-3rd-party-repos
+ make -C "$umbrella" up
+ make -C "$umbrella/deps/rabbit" test-dist
+ rm -fr "$umbrella"/deps/*/{.git,test} "$umbrella"/.git
+ fi
+ done
+ rm -fr umbrellas/master
+ - name: RUN TESTS [mixed-versions]
+ if: success() && 'latest' == 'oldest'
+ run: |
+ set -x
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ for umbrella in umbrellas/*; do
+ test -d "$umbrella"
+ printf '\n\033[1;32mMixing clusters with RabbitMQ %s\033[0m' \
+ $(basename "$umbrella")
+ make distclean-ct ct-config_schema \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1 \
+ SECONDARY_UMBRELLA=$PWD/$umbrella \
+ RABBITMQ_FEATURE_FLAGS=
+ done
+ - name: ON FAILURE ARCHIVE TESTS LOGS
+ if: failure()
+ run: |
+ make ct-logs-archive
+ - name: ON FAILURE UPLOAD TESTS LOGS ARTIFACT
+ # https://github.com/marketplace/actions/upload-artifact
+ uses: actions/upload-artifact@v2-preview
+ if: failure()
+ with:
+ name: ct-config_schema-logs
+ path: "*-ct-logs-*.tar.xz"
+ # vim:sw=2:et:
+ ct-confirms_rejects:
+ needs: [checks]
+ # https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#contexts
+ name: ct-confirms_rejects
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ # https://github.com/marketplace/actions/setup-elixir
+ - name: CONFIGURE OTP & ELIXIR
+ uses: actions/setup-elixir@v1
+ with:
+ otp-version: 22.3
+ # https://github.com/elixir-lang/elixir/releases
+ elixir-version: 1.8.0
+ - name: CACHE DEPS
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-22.3_git-${{ github.sha }}_deps
+ - name: RUN TESTS
+ run: |
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ ! test -d ebin || touch ebin/*
+ make ct-confirms_rejects \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1
+ - name: CACHE SECONDARY UMBRELLAS
+ if: success() && 'latest' == 'oldest'
+ uses: actions/cache@v1
+ with:
+ path: umbrellas
+ key: secondary-umbrellas-v3.7.0-erlang-22.3-rev3
+ - name: VERIFY SECONDARY UMBRELLA COPIES (in case of cache restore failure)
+ if: success() && 'latest' == 'oldest'
+ run: |
+ set -x
+ for version in v3.7.0; do
+ umbrella="umbrellas/$version"
+ if ! test -d "$umbrella" ||
+ ! make -C "$umbrella/deps/rabbit" test-dist; then
+ rm -rf "$umbrella"
+
+ # Fetch the master Umbrella; the final umbrellas are created from
+ # the master copy.
+ if ! test -d umbrellas/master; then
+ git config --global advice.detachedHead false
+ git clone \
+ https://github.com/rabbitmq/rabbitmq-public-umbrella.git \
+ umbrellas/master
+ make -C umbrellas/master co # To get RabbitMQ components.
+ fi
+
+ # We copy the master Umbrella and checkout the appropriate tag.
+ cp -a umbrellas/master "$umbrella"
+ git -C "$umbrella" checkout "v3.7.x"
+ make -C "$umbrella" up BRANCH="$version"
+ # To remove third-party deps which were checked out when the
+ # projects were on the `master` branch. Thus, possibly not the
+ # version pinning we expect. We update the Umbrella one last time
+ # to fetch the correct third-party deps.
+ make -C "$umbrella" clean-3rd-party-repos
+ make -C "$umbrella" up
+ make -C "$umbrella/deps/rabbit" test-dist
+ rm -fr "$umbrella"/deps/*/{.git,test} "$umbrella"/.git
+ fi
+ done
+ rm -fr umbrellas/master
+ - name: RUN TESTS [mixed-versions]
+ if: success() && 'latest' == 'oldest'
+ run: |
+ set -x
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ for umbrella in umbrellas/*; do
+ test -d "$umbrella"
+ printf '\n\033[1;32mMixing clusters with RabbitMQ %s\033[0m' \
+ $(basename "$umbrella")
+ make distclean-ct ct-confirms_rejects \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1 \
+ SECONDARY_UMBRELLA=$PWD/$umbrella \
+ RABBITMQ_FEATURE_FLAGS=
+ done
+ - name: ON FAILURE ARCHIVE TESTS LOGS
+ if: failure()
+ run: |
+ make ct-logs-archive
+ - name: ON FAILURE UPLOAD TESTS LOGS ARTIFACT
+ # https://github.com/marketplace/actions/upload-artifact
+ uses: actions/upload-artifact@v2-preview
+ if: failure()
+ with:
+ name: ct-confirms_rejects-logs
+ path: "*-ct-logs-*.tar.xz"
+ # vim:sw=2:et:
+ ct-crashing_queues:
+ needs: [checks]
+ # https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#contexts
+ name: ct-crashing_queues
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ # https://github.com/marketplace/actions/setup-elixir
+ - name: CONFIGURE OTP & ELIXIR
+ uses: actions/setup-elixir@v1
+ with:
+ otp-version: 22.3
+ # https://github.com/elixir-lang/elixir/releases
+ elixir-version: 1.8.0
+ - name: CACHE DEPS
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-22.3_git-${{ github.sha }}_deps
+ - name: RUN TESTS
+ run: |
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ ! test -d ebin || touch ebin/*
+ make ct-crashing_queues \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1
+ - name: CACHE SECONDARY UMBRELLAS
+ if: success() && 'latest' == 'oldest'
+ uses: actions/cache@v1
+ with:
+ path: umbrellas
+ key: secondary-umbrellas-v3.7.0-erlang-22.3-rev3
+ - name: VERIFY SECONDARY UMBRELLA COPIES (in case of cache restore failure)
+ if: success() && 'latest' == 'oldest'
+ run: |
+ set -x
+ for version in v3.7.0; do
+ umbrella="umbrellas/$version"
+ if ! test -d "$umbrella" ||
+ ! make -C "$umbrella/deps/rabbit" test-dist; then
+ rm -rf "$umbrella"
+
+ # Fetch the master Umbrella; the final umbrellas are created from
+ # the master copy.
+ if ! test -d umbrellas/master; then
+ git config --global advice.detachedHead false
+ git clone \
+ https://github.com/rabbitmq/rabbitmq-public-umbrella.git \
+ umbrellas/master
+ make -C umbrellas/master co # To get RabbitMQ components.
+ fi
+
+ # We copy the master Umbrella and checkout the appropriate tag.
+ cp -a umbrellas/master "$umbrella"
+ git -C "$umbrella" checkout "v3.7.x"
+ make -C "$umbrella" up BRANCH="$version"
+ # To remove third-party deps which were checked out when the
+ # projects were on the `master` branch. Thus, possibly not the
+ # version pinning we expect. We update the Umbrella one last time
+ # to fetch the correct third-party deps.
+ make -C "$umbrella" clean-3rd-party-repos
+ make -C "$umbrella" up
+ make -C "$umbrella/deps/rabbit" test-dist
+ rm -fr "$umbrella"/deps/*/{.git,test} "$umbrella"/.git
+ fi
+ done
+ rm -fr umbrellas/master
+ - name: RUN TESTS [mixed-versions]
+ if: success() && 'latest' == 'oldest'
+ run: |
+ set -x
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ for umbrella in umbrellas/*; do
+ test -d "$umbrella"
+ printf '\n\033[1;32mMixing clusters with RabbitMQ %s\033[0m' \
+ $(basename "$umbrella")
+ make distclean-ct ct-crashing_queues \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1 \
+ SECONDARY_UMBRELLA=$PWD/$umbrella \
+ RABBITMQ_FEATURE_FLAGS=
+ done
+ - name: ON FAILURE ARCHIVE TESTS LOGS
+ if: failure()
+ run: |
+ make ct-logs-archive
+ - name: ON FAILURE UPLOAD TESTS LOGS ARTIFACT
+ # https://github.com/marketplace/actions/upload-artifact
+ uses: actions/upload-artifact@v2-preview
+ if: failure()
+ with:
+ name: ct-crashing_queues-logs
+ path: "*-ct-logs-*.tar.xz"
+ # vim:sw=2:et:
+ ct-credential_validation:
+ needs: [checks]
+ # https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#contexts
+ name: ct-credential_validation
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ # https://github.com/marketplace/actions/setup-elixir
+ - name: CONFIGURE OTP & ELIXIR
+ uses: actions/setup-elixir@v1
+ with:
+ otp-version: 22.3
+ # https://github.com/elixir-lang/elixir/releases
+ elixir-version: 1.8.0
+ - name: CACHE DEPS
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-22.3_git-${{ github.sha }}_deps
+ - name: RUN TESTS
+ run: |
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ ! test -d ebin || touch ebin/*
+ make ct-credential_validation \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1
+ - name: CACHE SECONDARY UMBRELLAS
+ if: success() && 'latest' == 'oldest'
+ uses: actions/cache@v1
+ with:
+ path: umbrellas
+ key: secondary-umbrellas-v3.7.0-erlang-22.3-rev3
+ - name: VERIFY SECONDARY UMBRELLA COPIES (in case of cache restore failure)
+ if: success() && 'latest' == 'oldest'
+ run: |
+ set -x
+ for version in v3.7.0; do
+ umbrella="umbrellas/$version"
+ if ! test -d "$umbrella" ||
+ ! make -C "$umbrella/deps/rabbit" test-dist; then
+ rm -rf "$umbrella"
+
+ # Fetch the master Umbrella; the final umbrellas are created from
+ # the master copy.
+ if ! test -d umbrellas/master; then
+ git config --global advice.detachedHead false
+ git clone \
+ https://github.com/rabbitmq/rabbitmq-public-umbrella.git \
+ umbrellas/master
+ make -C umbrellas/master co # To get RabbitMQ components.
+ fi
+
+ # We copy the master Umbrella and checkout the appropriate tag.
+ cp -a umbrellas/master "$umbrella"
+ git -C "$umbrella" checkout "v3.7.x"
+ make -C "$umbrella" up BRANCH="$version"
+ # To remove third-party deps which were checked out when the
+ # projects were on the `master` branch. Thus, possibly not the
+ # version pinning we expect. We update the Umbrella one last time
+ # to fetch the correct third-party deps.
+ make -C "$umbrella" clean-3rd-party-repos
+ make -C "$umbrella" up
+ make -C "$umbrella/deps/rabbit" test-dist
+ rm -fr "$umbrella"/deps/*/{.git,test} "$umbrella"/.git
+ fi
+ done
+ rm -fr umbrellas/master
+ - name: RUN TESTS [mixed-versions]
+ if: success() && 'latest' == 'oldest'
+ run: |
+ set -x
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ for umbrella in umbrellas/*; do
+ test -d "$umbrella"
+ printf '\n\033[1;32mMixing clusters with RabbitMQ %s\033[0m' \
+ $(basename "$umbrella")
+ make distclean-ct ct-credential_validation \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1 \
+ SECONDARY_UMBRELLA=$PWD/$umbrella \
+ RABBITMQ_FEATURE_FLAGS=
+ done
+ - name: ON FAILURE ARCHIVE TESTS LOGS
+ if: failure()
+ run: |
+ make ct-logs-archive
+ - name: ON FAILURE UPLOAD TESTS LOGS ARTIFACT
+ # https://github.com/marketplace/actions/upload-artifact
+ uses: actions/upload-artifact@v2-preview
+ if: failure()
+ with:
+ name: ct-credential_validation-logs
+ path: "*-ct-logs-*.tar.xz"
+ # vim:sw=2:et:
+ ct-disconnect_detected_during_alarm:
+ needs: [checks]
+ # https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#contexts
+ name: ct-disconnect_detected_during_alarm
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ # https://github.com/marketplace/actions/setup-elixir
+ - name: CONFIGURE OTP & ELIXIR
+ uses: actions/setup-elixir@v1
+ with:
+ otp-version: 22.3
+ # https://github.com/elixir-lang/elixir/releases
+ elixir-version: 1.8.0
+ - name: CACHE DEPS
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-22.3_git-${{ github.sha }}_deps
+ - name: RUN TESTS
+ run: |
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ ! test -d ebin || touch ebin/*
+ make ct-disconnect_detected_during_alarm \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1
+ - name: CACHE SECONDARY UMBRELLAS
+ if: success() && 'latest' == 'oldest'
+ uses: actions/cache@v1
+ with:
+ path: umbrellas
+ key: secondary-umbrellas-v3.7.0-erlang-22.3-rev3
+ - name: VERIFY SECONDARY UMBRELLA COPIES (in case of cache restore failure)
+ if: success() && 'latest' == 'oldest'
+ run: |
+ set -x
+ for version in v3.7.0; do
+ umbrella="umbrellas/$version"
+ if ! test -d "$umbrella" ||
+ ! make -C "$umbrella/deps/rabbit" test-dist; then
+ rm -rf "$umbrella"
+
+ # Fetch the master Umbrella; the final umbrellas are created from
+ # the master copy.
+ if ! test -d umbrellas/master; then
+ git config --global advice.detachedHead false
+ git clone \
+ https://github.com/rabbitmq/rabbitmq-public-umbrella.git \
+ umbrellas/master
+ make -C umbrellas/master co # To get RabbitMQ components.
+ fi
+
+ # We copy the master Umbrella and checkout the appropriate tag.
+ cp -a umbrellas/master "$umbrella"
+ git -C "$umbrella" checkout "v3.7.x"
+ make -C "$umbrella" up BRANCH="$version"
+ # To remove third-party deps which were checked out when the
+ # projects were on the `master` branch. Thus, possibly not the
+ # version pinning we expect. We update the Umbrella one last time
+ # to fetch the correct third-party deps.
+ make -C "$umbrella" clean-3rd-party-repos
+ make -C "$umbrella" up
+ make -C "$umbrella/deps/rabbit" test-dist
+ rm -fr "$umbrella"/deps/*/{.git,test} "$umbrella"/.git
+ fi
+ done
+ rm -fr umbrellas/master
+ - name: RUN TESTS [mixed-versions]
+ if: success() && 'latest' == 'oldest'
+ run: |
+ set -x
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ for umbrella in umbrellas/*; do
+ test -d "$umbrella"
+ printf '\n\033[1;32mMixing clusters with RabbitMQ %s\033[0m' \
+ $(basename "$umbrella")
+ make distclean-ct ct-disconnect_detected_during_alarm \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1 \
+ SECONDARY_UMBRELLA=$PWD/$umbrella \
+ RABBITMQ_FEATURE_FLAGS=
+ done
+ - name: ON FAILURE ARCHIVE TESTS LOGS
+ if: failure()
+ run: |
+ make ct-logs-archive
+ - name: ON FAILURE UPLOAD TESTS LOGS ARTIFACT
+ # https://github.com/marketplace/actions/upload-artifact
+ uses: actions/upload-artifact@v2-preview
+ if: failure()
+ with:
+ name: ct-disconnect_detected_during_alarm-logs
+ path: "*-ct-logs-*.tar.xz"
+ # vim:sw=2:et:
+ ct-dynamic_ha:
+ needs: [checks]
+ # https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#contexts
+ name: ct-dynamic_ha
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ # https://github.com/marketplace/actions/setup-elixir
+ - name: CONFIGURE OTP & ELIXIR
+ uses: actions/setup-elixir@v1
+ with:
+ otp-version: 22.3
+ # https://github.com/elixir-lang/elixir/releases
+ elixir-version: 1.8.0
+ - name: CACHE DEPS
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-22.3_git-${{ github.sha }}_deps
+ - name: RUN TESTS
+ run: |
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ ! test -d ebin || touch ebin/*
+ make ct-dynamic_ha \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1
+ - name: CACHE SECONDARY UMBRELLAS
+ if: success() && 'latest' == 'oldest'
+ uses: actions/cache@v1
+ with:
+ path: umbrellas
+ key: secondary-umbrellas-v3.7.0-erlang-22.3-rev3
+ - name: VERIFY SECONDARY UMBRELLA COPIES (in case of cache restore failure)
+ if: success() && 'latest' == 'oldest'
+ run: |
+ set -x
+ for version in v3.7.0; do
+ umbrella="umbrellas/$version"
+ if ! test -d "$umbrella" ||
+ ! make -C "$umbrella/deps/rabbit" test-dist; then
+ rm -rf "$umbrella"
+
+ # Fetch the master Umbrella; the final umbrellas are created from
+ # the master copy.
+ if ! test -d umbrellas/master; then
+ git config --global advice.detachedHead false
+ git clone \
+ https://github.com/rabbitmq/rabbitmq-public-umbrella.git \
+ umbrellas/master
+ make -C umbrellas/master co # To get RabbitMQ components.
+ fi
+
+ # We copy the master Umbrella and checkout the appropriate tag.
+ cp -a umbrellas/master "$umbrella"
+ git -C "$umbrella" checkout "v3.7.x"
+ make -C "$umbrella" up BRANCH="$version"
+ # To remove third-party deps which were checked out when the
+ # projects were on the `master` branch. Thus, possibly not the
+ # version pinning we expect. We update the Umbrella one last time
+ # to fetch the correct third-party deps.
+ make -C "$umbrella" clean-3rd-party-repos
+ make -C "$umbrella" up
+ make -C "$umbrella/deps/rabbit" test-dist
+ rm -fr "$umbrella"/deps/*/{.git,test} "$umbrella"/.git
+ fi
+ done
+ rm -fr umbrellas/master
+ - name: RUN TESTS [mixed-versions]
+ if: success() && 'latest' == 'oldest'
+ run: |
+ set -x
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ for umbrella in umbrellas/*; do
+ test -d "$umbrella"
+ printf '\n\033[1;32mMixing clusters with RabbitMQ %s\033[0m' \
+ $(basename "$umbrella")
+ make distclean-ct ct-dynamic_ha \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1 \
+ SECONDARY_UMBRELLA=$PWD/$umbrella \
+ RABBITMQ_FEATURE_FLAGS=
+ done
+ - name: ON FAILURE ARCHIVE TESTS LOGS
+ if: failure()
+ run: |
+ make ct-logs-archive
+ - name: ON FAILURE UPLOAD TESTS LOGS ARTIFACT
+ # https://github.com/marketplace/actions/upload-artifact
+ uses: actions/upload-artifact@v2-preview
+ if: failure()
+ with:
+ name: ct-dynamic_ha-logs
+ path: "*-ct-logs-*.tar.xz"
+ # vim:sw=2:et:
+ ct-eager_sync:
+ needs: [checks]
+ # https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#contexts
+ name: ct-eager_sync
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ # https://github.com/marketplace/actions/setup-elixir
+ - name: CONFIGURE OTP & ELIXIR
+ uses: actions/setup-elixir@v1
+ with:
+ otp-version: 22.3
+ # https://github.com/elixir-lang/elixir/releases
+ elixir-version: 1.8.0
+ - name: CACHE DEPS
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-22.3_git-${{ github.sha }}_deps
+ - name: RUN TESTS
+ run: |
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ ! test -d ebin || touch ebin/*
+ make ct-eager_sync \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1
+ - name: CACHE SECONDARY UMBRELLAS
+ if: success() && 'latest' == 'oldest'
+ uses: actions/cache@v1
+ with:
+ path: umbrellas
+ key: secondary-umbrellas-v3.7.0-erlang-22.3-rev3
+ - name: VERIFY SECONDARY UMBRELLA COPIES (in case of cache restore failure)
+ if: success() && 'latest' == 'oldest'
+ run: |
+ set -x
+ for version in v3.7.0; do
+ umbrella="umbrellas/$version"
+ if ! test -d "$umbrella" ||
+ ! make -C "$umbrella/deps/rabbit" test-dist; then
+ rm -rf "$umbrella"
+
+ # Fetch the master Umbrella; the final umbrellas are created from
+ # the master copy.
+ if ! test -d umbrellas/master; then
+ git config --global advice.detachedHead false
+ git clone \
+ https://github.com/rabbitmq/rabbitmq-public-umbrella.git \
+ umbrellas/master
+ make -C umbrellas/master co # To get RabbitMQ components.
+ fi
+
+ # We copy the master Umbrella and checkout the appropriate tag.
+ cp -a umbrellas/master "$umbrella"
+ git -C "$umbrella" checkout "v3.7.x"
+ make -C "$umbrella" up BRANCH="$version"
+ # To remove third-party deps which were checked out when the
+ # projects were on the `master` branch. Thus, possibly not the
+ # version pinning we expect. We update the Umbrella one last time
+ # to fetch the correct third-party deps.
+ make -C "$umbrella" clean-3rd-party-repos
+ make -C "$umbrella" up
+ make -C "$umbrella/deps/rabbit" test-dist
+ rm -fr "$umbrella"/deps/*/{.git,test} "$umbrella"/.git
+ fi
+ done
+ rm -fr umbrellas/master
+ - name: RUN TESTS [mixed-versions]
+ if: success() && 'latest' == 'oldest'
+ run: |
+ set -x
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ for umbrella in umbrellas/*; do
+ test -d "$umbrella"
+ printf '\n\033[1;32mMixing clusters with RabbitMQ %s\033[0m' \
+ $(basename "$umbrella")
+ make distclean-ct ct-eager_sync \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1 \
+ SECONDARY_UMBRELLA=$PWD/$umbrella \
+ RABBITMQ_FEATURE_FLAGS=
+ done
+ - name: ON FAILURE ARCHIVE TESTS LOGS
+ if: failure()
+ run: |
+ make ct-logs-archive
+ - name: ON FAILURE UPLOAD TESTS LOGS ARTIFACT
+ # https://github.com/marketplace/actions/upload-artifact
+ uses: actions/upload-artifact@v2-preview
+ if: failure()
+ with:
+ name: ct-eager_sync-logs
+ path: "*-ct-logs-*.tar.xz"
+ # vim:sw=2:et:
+ ct-feature_flags:
+ needs: [checks]
+ # https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#contexts
+ name: ct-feature_flags
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ # https://github.com/marketplace/actions/setup-elixir
+ - name: CONFIGURE OTP & ELIXIR
+ uses: actions/setup-elixir@v1
+ with:
+ otp-version: 22.3
+ # https://github.com/elixir-lang/elixir/releases
+ elixir-version: 1.8.0
+ - name: CACHE DEPS
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-22.3_git-${{ github.sha }}_deps
+ - name: RUN TESTS
+ run: |
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ ! test -d ebin || touch ebin/*
+ make ct-feature_flags \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1
+ - name: CACHE SECONDARY UMBRELLAS
+ if: success() && 'latest' == 'oldest'
+ uses: actions/cache@v1
+ with:
+ path: umbrellas
+ key: secondary-umbrellas-v3.7.0-erlang-22.3-rev3
+ - name: VERIFY SECONDARY UMBRELLA COPIES (in case of cache restore failure)
+ if: success() && 'latest' == 'oldest'
+ run: |
+ set -x
+ for version in v3.7.0; do
+ umbrella="umbrellas/$version"
+ if ! test -d "$umbrella" ||
+ ! make -C "$umbrella/deps/rabbit" test-dist; then
+ rm -rf "$umbrella"
+
+ # Fetch the master Umbrella; the final umbrellas are created from
+ # the master copy.
+ if ! test -d umbrellas/master; then
+ git config --global advice.detachedHead false
+ git clone \
+ https://github.com/rabbitmq/rabbitmq-public-umbrella.git \
+ umbrellas/master
+ make -C umbrellas/master co # To get RabbitMQ components.
+ fi
+
+ # We copy the master Umbrella and checkout the appropriate tag.
+ cp -a umbrellas/master "$umbrella"
+ git -C "$umbrella" checkout "v3.7.x"
+ make -C "$umbrella" up BRANCH="$version"
+ # To remove third-party deps which were checked out when the
+ # projects were on the `master` branch. Thus, possibly not the
+ # version pinning we expect. We update the Umbrella one last time
+ # to fetch the correct third-party deps.
+ make -C "$umbrella" clean-3rd-party-repos
+ make -C "$umbrella" up
+ make -C "$umbrella/deps/rabbit" test-dist
+ rm -fr "$umbrella"/deps/*/{.git,test} "$umbrella"/.git
+ fi
+ done
+ rm -fr umbrellas/master
+ - name: RUN TESTS [mixed-versions]
+ if: success() && 'latest' == 'oldest'
+ run: |
+ set -x
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ for umbrella in umbrellas/*; do
+ test -d "$umbrella"
+ printf '\n\033[1;32mMixing clusters with RabbitMQ %s\033[0m' \
+ $(basename "$umbrella")
+ make distclean-ct ct-feature_flags \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1 \
+ SECONDARY_UMBRELLA=$PWD/$umbrella \
+ RABBITMQ_FEATURE_FLAGS=
+ done
+ - name: ON FAILURE ARCHIVE TESTS LOGS
+ if: failure()
+ run: |
+ make ct-logs-archive
+ - name: ON FAILURE UPLOAD TESTS LOGS ARTIFACT
+ # https://github.com/marketplace/actions/upload-artifact
+ uses: actions/upload-artifact@v2-preview
+ if: failure()
+ with:
+ name: ct-feature_flags-logs
+ path: "*-ct-logs-*.tar.xz"
+ # vim:sw=2:et:
+ ct-gm:
+ needs: [checks]
+ # https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#contexts
+ name: ct-gm
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ # https://github.com/marketplace/actions/setup-elixir
+ - name: CONFIGURE OTP & ELIXIR
+ uses: actions/setup-elixir@v1
+ with:
+ otp-version: 22.3
+ # https://github.com/elixir-lang/elixir/releases
+ elixir-version: 1.8.0
+ - name: CACHE DEPS
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-22.3_git-${{ github.sha }}_deps
+ - name: RUN TESTS
+ run: |
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ ! test -d ebin || touch ebin/*
+ make ct-gm \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1
+ - name: CACHE SECONDARY UMBRELLAS
+ if: success() && 'latest' == 'oldest'
+ uses: actions/cache@v1
+ with:
+ path: umbrellas
+ key: secondary-umbrellas-v3.7.0-erlang-22.3-rev3
+ - name: VERIFY SECONDARY UMBRELLA COPIES (in case of cache restore failure)
+ if: success() && 'latest' == 'oldest'
+ run: |
+ set -x
+ for version in v3.7.0; do
+ umbrella="umbrellas/$version"
+ if ! test -d "$umbrella" ||
+ ! make -C "$umbrella/deps/rabbit" test-dist; then
+ rm -rf "$umbrella"
+
+ # Fetch the master Umbrella; the final umbrellas are created from
+ # the master copy.
+ if ! test -d umbrellas/master; then
+ git config --global advice.detachedHead false
+ git clone \
+ https://github.com/rabbitmq/rabbitmq-public-umbrella.git \
+ umbrellas/master
+ make -C umbrellas/master co # To get RabbitMQ components.
+ fi
+
+ # We copy the master Umbrella and checkout the appropriate tag.
+ cp -a umbrellas/master "$umbrella"
+ git -C "$umbrella" checkout "v3.7.x"
+ make -C "$umbrella" up BRANCH="$version"
+ # To remove third-party deps which were checked out when the
+ # projects were on the `master` branch. Thus, possibly not the
+ # version pinning we expect. We update the Umbrella one last time
+ # to fetch the correct third-party deps.
+ make -C "$umbrella" clean-3rd-party-repos
+ make -C "$umbrella" up
+ make -C "$umbrella/deps/rabbit" test-dist
+ rm -fr "$umbrella"/deps/*/{.git,test} "$umbrella"/.git
+ fi
+ done
+ rm -fr umbrellas/master
+ - name: RUN TESTS [mixed-versions]
+ if: success() && 'latest' == 'oldest'
+ run: |
+ set -x
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ for umbrella in umbrellas/*; do
+ test -d "$umbrella"
+ printf '\n\033[1;32mMixing clusters with RabbitMQ %s\033[0m' \
+ $(basename "$umbrella")
+ make distclean-ct ct-gm \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1 \
+ SECONDARY_UMBRELLA=$PWD/$umbrella \
+ RABBITMQ_FEATURE_FLAGS=
+ done
+ - name: ON FAILURE ARCHIVE TESTS LOGS
+ if: failure()
+ run: |
+ make ct-logs-archive
+ - name: ON FAILURE UPLOAD TESTS LOGS ARTIFACT
+ # https://github.com/marketplace/actions/upload-artifact
+ uses: actions/upload-artifact@v2-preview
+ if: failure()
+ with:
+ name: ct-gm-logs
+ path: "*-ct-logs-*.tar.xz"
+ # vim:sw=2:et:
+ ct-health_check:
+ needs: [checks]
+ # https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#contexts
+ name: ct-health_check
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ # https://github.com/marketplace/actions/setup-elixir
+ - name: CONFIGURE OTP & ELIXIR
+ uses: actions/setup-elixir@v1
+ with:
+ otp-version: 22.3
+ # https://github.com/elixir-lang/elixir/releases
+ elixir-version: 1.8.0
+ - name: CACHE DEPS
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-22.3_git-${{ github.sha }}_deps
+ - name: RUN TESTS
+ run: |
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ ! test -d ebin || touch ebin/*
+ make ct-health_check \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1
+ - name: CACHE SECONDARY UMBRELLAS
+ if: success() && 'latest' == 'oldest'
+ uses: actions/cache@v1
+ with:
+ path: umbrellas
+ key: secondary-umbrellas-v3.7.0-erlang-22.3-rev3
+ - name: VERIFY SECONDARY UMBRELLA COPIES (in case of cache restore failure)
+ if: success() && 'latest' == 'oldest'
+ run: |
+ set -x
+ for version in v3.7.0; do
+ umbrella="umbrellas/$version"
+ if ! test -d "$umbrella" ||
+ ! make -C "$umbrella/deps/rabbit" test-dist; then
+ rm -rf "$umbrella"
+
+ # Fetch the master Umbrella; the final umbrellas are created from
+ # the master copy.
+ if ! test -d umbrellas/master; then
+ git config --global advice.detachedHead false
+ git clone \
+ https://github.com/rabbitmq/rabbitmq-public-umbrella.git \
+ umbrellas/master
+ make -C umbrellas/master co # To get RabbitMQ components.
+ fi
+
+ # We copy the master Umbrella and checkout the appropriate tag.
+ cp -a umbrellas/master "$umbrella"
+ git -C "$umbrella" checkout "v3.7.x"
+ make -C "$umbrella" up BRANCH="$version"
+ # To remove third-party deps which were checked out when the
+ # projects were on the `master` branch. Thus, possibly not the
+ # version pinning we expect. We update the Umbrella one last time
+ # to fetch the correct third-party deps.
+ make -C "$umbrella" clean-3rd-party-repos
+ make -C "$umbrella" up
+ make -C "$umbrella/deps/rabbit" test-dist
+ rm -fr "$umbrella"/deps/*/{.git,test} "$umbrella"/.git
+ fi
+ done
+ rm -fr umbrellas/master
+ - name: RUN TESTS [mixed-versions]
+ if: success() && 'latest' == 'oldest'
+ run: |
+ set -x
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ for umbrella in umbrellas/*; do
+ test -d "$umbrella"
+ printf '\n\033[1;32mMixing clusters with RabbitMQ %s\033[0m' \
+ $(basename "$umbrella")
+ make distclean-ct ct-health_check \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1 \
+ SECONDARY_UMBRELLA=$PWD/$umbrella \
+ RABBITMQ_FEATURE_FLAGS=
+ done
+ - name: ON FAILURE ARCHIVE TESTS LOGS
+ if: failure()
+ run: |
+ make ct-logs-archive
+ - name: ON FAILURE UPLOAD TESTS LOGS ARTIFACT
+ # https://github.com/marketplace/actions/upload-artifact
+ uses: actions/upload-artifact@v2-preview
+ if: failure()
+ with:
+ name: ct-health_check-logs
+ path: "*-ct-logs-*.tar.xz"
+ # vim:sw=2:et:
+ ct-lazy_queue:
+ needs: [checks]
+ # https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#contexts
+ name: ct-lazy_queue
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ # https://github.com/marketplace/actions/setup-elixir
+ - name: CONFIGURE OTP & ELIXIR
+ uses: actions/setup-elixir@v1
+ with:
+ otp-version: 22.3
+ # https://github.com/elixir-lang/elixir/releases
+ elixir-version: 1.8.0
+ - name: CACHE DEPS
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-22.3_git-${{ github.sha }}_deps
+ - name: RUN TESTS
+ run: |
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ ! test -d ebin || touch ebin/*
+ make ct-lazy_queue \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1
+ - name: CACHE SECONDARY UMBRELLAS
+ if: success() && 'latest' == 'oldest'
+ uses: actions/cache@v1
+ with:
+ path: umbrellas
+ key: secondary-umbrellas-v3.7.0-erlang-22.3-rev3
+ - name: VERIFY SECONDARY UMBRELLA COPIES (in case of cache restore failure)
+ if: success() && 'latest' == 'oldest'
+ run: |
+ set -x
+ for version in v3.7.0; do
+ umbrella="umbrellas/$version"
+ if ! test -d "$umbrella" ||
+ ! make -C "$umbrella/deps/rabbit" test-dist; then
+ rm -rf "$umbrella"
+
+ # Fetch the master Umbrella; the final umbrellas are created from
+ # the master copy.
+ if ! test -d umbrellas/master; then
+ git config --global advice.detachedHead false
+ git clone \
+ https://github.com/rabbitmq/rabbitmq-public-umbrella.git \
+ umbrellas/master
+ make -C umbrellas/master co # To get RabbitMQ components.
+ fi
+
+ # We copy the master Umbrella and checkout the appropriate tag.
+ cp -a umbrellas/master "$umbrella"
+ git -C "$umbrella" checkout "v3.7.x"
+ make -C "$umbrella" up BRANCH="$version"
+ # To remove third-party deps which were checked out when the
+ # projects were on the `master` branch. Thus, possibly not the
+ # version pinning we expect. We update the Umbrella one last time
+ # to fetch the correct third-party deps.
+ make -C "$umbrella" clean-3rd-party-repos
+ make -C "$umbrella" up
+ make -C "$umbrella/deps/rabbit" test-dist
+ rm -fr "$umbrella"/deps/*/{.git,test} "$umbrella"/.git
+ fi
+ done
+ rm -fr umbrellas/master
+ - name: RUN TESTS [mixed-versions]
+ if: success() && 'latest' == 'oldest'
+ run: |
+ set -x
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ for umbrella in umbrellas/*; do
+ test -d "$umbrella"
+ printf '\n\033[1;32mMixing clusters with RabbitMQ %s\033[0m' \
+ $(basename "$umbrella")
+ make distclean-ct ct-lazy_queue \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1 \
+ SECONDARY_UMBRELLA=$PWD/$umbrella \
+ RABBITMQ_FEATURE_FLAGS=
+ done
+ - name: ON FAILURE ARCHIVE TESTS LOGS
+ if: failure()
+ run: |
+ make ct-logs-archive
+ - name: ON FAILURE UPLOAD TESTS LOGS ARTIFACT
+ # https://github.com/marketplace/actions/upload-artifact
+ uses: actions/upload-artifact@v2-preview
+ if: failure()
+ with:
+ name: ct-lazy_queue-logs
+ path: "*-ct-logs-*.tar.xz"
+ # vim:sw=2:et:
+ ct-list_consumers_sanity_check:
+ needs: [checks]
+ # https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#contexts
+ name: ct-list_consumers_sanity_check
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ # https://github.com/marketplace/actions/setup-elixir
+ - name: CONFIGURE OTP & ELIXIR
+ uses: actions/setup-elixir@v1
+ with:
+ otp-version: 22.3
+ # https://github.com/elixir-lang/elixir/releases
+ elixir-version: 1.8.0
+ - name: CACHE DEPS
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-22.3_git-${{ github.sha }}_deps
+ - name: RUN TESTS
+ run: |
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ ! test -d ebin || touch ebin/*
+ make ct-list_consumers_sanity_check \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1
+ - name: CACHE SECONDARY UMBRELLAS
+ if: success() && 'latest' == 'oldest'
+ uses: actions/cache@v1
+ with:
+ path: umbrellas
+ key: secondary-umbrellas-v3.7.0-erlang-22.3-rev3
+ - name: VERIFY SECONDARY UMBRELLA COPIES (in case of cache restore failure)
+ if: success() && 'latest' == 'oldest'
+ run: |
+ set -x
+ for version in v3.7.0; do
+ umbrella="umbrellas/$version"
+ if ! test -d "$umbrella" ||
+ ! make -C "$umbrella/deps/rabbit" test-dist; then
+ rm -rf "$umbrella"
+
+ # Fetch the master Umbrella; the final umbrellas are created from
+ # the master copy.
+ if ! test -d umbrellas/master; then
+ git config --global advice.detachedHead false
+ git clone \
+ https://github.com/rabbitmq/rabbitmq-public-umbrella.git \
+ umbrellas/master
+ make -C umbrellas/master co # To get RabbitMQ components.
+ fi
+
+ # We copy the master Umbrella and checkout the appropriate tag.
+ cp -a umbrellas/master "$umbrella"
+ git -C "$umbrella" checkout "v3.7.x"
+ make -C "$umbrella" up BRANCH="$version"
+ # To remove third-party deps which were checked out when the
+ # projects were on the `master` branch. Thus, possibly not the
+ # version pinning we expect. We update the Umbrella one last time
+ # to fetch the correct third-party deps.
+ make -C "$umbrella" clean-3rd-party-repos
+ make -C "$umbrella" up
+ make -C "$umbrella/deps/rabbit" test-dist
+ rm -fr "$umbrella"/deps/*/{.git,test} "$umbrella"/.git
+ fi
+ done
+ rm -fr umbrellas/master
+ - name: RUN TESTS [mixed-versions]
+ if: success() && 'latest' == 'oldest'
+ run: |
+ set -x
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ for umbrella in umbrellas/*; do
+ test -d "$umbrella"
+ printf '\n\033[1;32mMixing clusters with RabbitMQ %s\033[0m' \
+ $(basename "$umbrella")
+ make distclean-ct ct-list_consumers_sanity_check \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1 \
+ SECONDARY_UMBRELLA=$PWD/$umbrella \
+ RABBITMQ_FEATURE_FLAGS=
+ done
+ - name: ON FAILURE ARCHIVE TESTS LOGS
+ if: failure()
+ run: |
+ make ct-logs-archive
+ - name: ON FAILURE UPLOAD TESTS LOGS ARTIFACT
+ # https://github.com/marketplace/actions/upload-artifact
+ uses: actions/upload-artifact@v2-preview
+ if: failure()
+ with:
+ name: ct-list_consumers_sanity_check-logs
+ path: "*-ct-logs-*.tar.xz"
+ # vim:sw=2:et:
+ ct-list_queues_online_and_offline:
+ needs: [checks]
+ # https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#contexts
+ name: ct-list_queues_online_and_offline
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ # https://github.com/marketplace/actions/setup-elixir
+ - name: CONFIGURE OTP & ELIXIR
+ uses: actions/setup-elixir@v1
+ with:
+ otp-version: 22.3
+ # https://github.com/elixir-lang/elixir/releases
+ elixir-version: 1.8.0
+ - name: CACHE DEPS
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-22.3_git-${{ github.sha }}_deps
+ - name: RUN TESTS
+ run: |
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ ! test -d ebin || touch ebin/*
+ make ct-list_queues_online_and_offline \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1
+ - name: CACHE SECONDARY UMBRELLAS
+ if: success() && 'latest' == 'oldest'
+ uses: actions/cache@v1
+ with:
+ path: umbrellas
+ key: secondary-umbrellas-v3.7.0-erlang-22.3-rev3
+ - name: VERIFY SECONDARY UMBRELLA COPIES (in case of cache restore failure)
+ if: success() && 'latest' == 'oldest'
+ run: |
+ set -x
+ for version in v3.7.0; do
+ umbrella="umbrellas/$version"
+ if ! test -d "$umbrella" ||
+ ! make -C "$umbrella/deps/rabbit" test-dist; then
+ rm -rf "$umbrella"
+
+ # Fetch the master Umbrella; the final umbrellas are created from
+ # the master copy.
+ if ! test -d umbrellas/master; then
+ git config --global advice.detachedHead false
+ git clone \
+ https://github.com/rabbitmq/rabbitmq-public-umbrella.git \
+ umbrellas/master
+ make -C umbrellas/master co # To get RabbitMQ components.
+ fi
+
+ # We copy the master Umbrella and checkout the appropriate tag.
+ cp -a umbrellas/master "$umbrella"
+ git -C "$umbrella" checkout "v3.7.x"
+ make -C "$umbrella" up BRANCH="$version"
+ # To remove third-party deps which were checked out when the
+ # projects were on the `master` branch. Thus, possibly not the
+ # version pinning we expect. We update the Umbrella one last time
+ # to fetch the correct third-party deps.
+ make -C "$umbrella" clean-3rd-party-repos
+ make -C "$umbrella" up
+ make -C "$umbrella/deps/rabbit" test-dist
+ rm -fr "$umbrella"/deps/*/{.git,test} "$umbrella"/.git
+ fi
+ done
+ rm -fr umbrellas/master
+ - name: RUN TESTS [mixed-versions]
+ if: success() && 'latest' == 'oldest'
+ run: |
+ set -x
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ for umbrella in umbrellas/*; do
+ test -d "$umbrella"
+ printf '\n\033[1;32mMixing clusters with RabbitMQ %s\033[0m' \
+ $(basename "$umbrella")
+ make distclean-ct ct-list_queues_online_and_offline \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1 \
+ SECONDARY_UMBRELLA=$PWD/$umbrella \
+ RABBITMQ_FEATURE_FLAGS=
+ done
+ - name: ON FAILURE ARCHIVE TESTS LOGS
+ if: failure()
+ run: |
+ make ct-logs-archive
+ - name: ON FAILURE UPLOAD TESTS LOGS ARTIFACT
+ # https://github.com/marketplace/actions/upload-artifact
+ uses: actions/upload-artifact@v2-preview
+ if: failure()
+ with:
+ name: ct-list_queues_online_and_offline-logs
+ path: "*-ct-logs-*.tar.xz"
+ # vim:sw=2:et:
+ ct-many_node_ha:
+ needs: [checks]
+ # https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#contexts
+ name: ct-many_node_ha
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ # https://github.com/marketplace/actions/setup-elixir
+ - name: CONFIGURE OTP & ELIXIR
+ uses: actions/setup-elixir@v1
+ with:
+ otp-version: 22.3
+ # https://github.com/elixir-lang/elixir/releases
+ elixir-version: 1.8.0
+ - name: CACHE DEPS
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-22.3_git-${{ github.sha }}_deps
+ - name: RUN TESTS
+ run: |
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ ! test -d ebin || touch ebin/*
+ make ct-many_node_ha \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1
+ - name: CACHE SECONDARY UMBRELLAS
+ if: success() && 'latest' == 'oldest'
+ uses: actions/cache@v1
+ with:
+ path: umbrellas
+ key: secondary-umbrellas-v3.7.0-erlang-22.3-rev3
+ - name: VERIFY SECONDARY UMBRELLA COPIES (in case of cache restore failure)
+ if: success() && 'latest' == 'oldest'
+ run: |
+ set -x
+ for version in v3.7.0; do
+ umbrella="umbrellas/$version"
+ if ! test -d "$umbrella" ||
+ ! make -C "$umbrella/deps/rabbit" test-dist; then
+ rm -rf "$umbrella"
+
+ # Fetch the master Umbrella; the final umbrellas are created from
+ # the master copy.
+ if ! test -d umbrellas/master; then
+ git config --global advice.detachedHead false
+ git clone \
+ https://github.com/rabbitmq/rabbitmq-public-umbrella.git \
+ umbrellas/master
+ make -C umbrellas/master co # To get RabbitMQ components.
+ fi
+
+ # We copy the master Umbrella and checkout the appropriate tag.
+ cp -a umbrellas/master "$umbrella"
+ git -C "$umbrella" checkout "v3.7.x"
+ make -C "$umbrella" up BRANCH="$version"
+ # To remove third-party deps which were checked out when the
+ # projects were on the `master` branch. Thus, possibly not the
+ # version pinning we expect. We update the Umbrella one last time
+ # to fetch the correct third-party deps.
+ make -C "$umbrella" clean-3rd-party-repos
+ make -C "$umbrella" up
+ make -C "$umbrella/deps/rabbit" test-dist
+ rm -fr "$umbrella"/deps/*/{.git,test} "$umbrella"/.git
+ fi
+ done
+ rm -fr umbrellas/master
+ - name: RUN TESTS [mixed-versions]
+ if: success() && 'latest' == 'oldest'
+ run: |
+ set -x
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ for umbrella in umbrellas/*; do
+ test -d "$umbrella"
+ printf '\n\033[1;32mMixing clusters with RabbitMQ %s\033[0m' \
+ $(basename "$umbrella")
+ make distclean-ct ct-many_node_ha \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1 \
+ SECONDARY_UMBRELLA=$PWD/$umbrella \
+ RABBITMQ_FEATURE_FLAGS=
+ done
+ - name: ON FAILURE ARCHIVE TESTS LOGS
+ if: failure()
+ run: |
+ make ct-logs-archive
+ - name: ON FAILURE UPLOAD TESTS LOGS ARTIFACT
+ # https://github.com/marketplace/actions/upload-artifact
+ uses: actions/upload-artifact@v2-preview
+ if: failure()
+ with:
+ name: ct-many_node_ha-logs
+ path: "*-ct-logs-*.tar.xz"
+ # vim:sw=2:et:
+ ct-metrics:
+ needs: [checks]
+ # https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#contexts
+ name: ct-metrics
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ # https://github.com/marketplace/actions/setup-elixir
+ - name: CONFIGURE OTP & ELIXIR
+ uses: actions/setup-elixir@v1
+ with:
+ otp-version: 22.3
+ # https://github.com/elixir-lang/elixir/releases
+ elixir-version: 1.8.0
+ - name: CACHE DEPS
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-22.3_git-${{ github.sha }}_deps
+ - name: RUN TESTS
+ run: |
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ ! test -d ebin || touch ebin/*
+ make ct-metrics \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1
+ - name: CACHE SECONDARY UMBRELLAS
+ if: success() && 'latest' == 'oldest'
+ uses: actions/cache@v1
+ with:
+ path: umbrellas
+ key: secondary-umbrellas-v3.7.0-erlang-22.3-rev3
+ - name: VERIFY SECONDARY UMBRELLA COPIES (in case of cache restore failure)
+ if: success() && 'latest' == 'oldest'
+ run: |
+ set -x
+ for version in v3.7.0; do
+ umbrella="umbrellas/$version"
+ if ! test -d "$umbrella" ||
+ ! make -C "$umbrella/deps/rabbit" test-dist; then
+ rm -rf "$umbrella"
+
+ # Fetch the master Umbrella; the final umbrellas are created from
+ # the master copy.
+ if ! test -d umbrellas/master; then
+ git config --global advice.detachedHead false
+ git clone \
+ https://github.com/rabbitmq/rabbitmq-public-umbrella.git \
+ umbrellas/master
+ make -C umbrellas/master co # To get RabbitMQ components.
+ fi
+
+ # We copy the master Umbrella and checkout the appropriate tag.
+ cp -a umbrellas/master "$umbrella"
+ git -C "$umbrella" checkout "v3.7.x"
+ make -C "$umbrella" up BRANCH="$version"
+ # To remove third-party deps which were checked out when the
+ # projects were on the `master` branch. Thus, possibly not the
+ # version pinning we expect. We update the Umbrella one last time
+ # to fetch the correct third-party deps.
+ make -C "$umbrella" clean-3rd-party-repos
+ make -C "$umbrella" up
+ make -C "$umbrella/deps/rabbit" test-dist
+ rm -fr "$umbrella"/deps/*/{.git,test} "$umbrella"/.git
+ fi
+ done
+ rm -fr umbrellas/master
+ - name: RUN TESTS [mixed-versions]
+ if: success() && 'latest' == 'oldest'
+ run: |
+ set -x
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ for umbrella in umbrellas/*; do
+ test -d "$umbrella"
+ printf '\n\033[1;32mMixing clusters with RabbitMQ %s\033[0m' \
+ $(basename "$umbrella")
+ make distclean-ct ct-metrics \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1 \
+ SECONDARY_UMBRELLA=$PWD/$umbrella \
+ RABBITMQ_FEATURE_FLAGS=
+ done
+ - name: ON FAILURE ARCHIVE TESTS LOGS
+ if: failure()
+ run: |
+ make ct-logs-archive
+ - name: ON FAILURE UPLOAD TESTS LOGS ARTIFACT
+ # https://github.com/marketplace/actions/upload-artifact
+ uses: actions/upload-artifact@v2-preview
+ if: failure()
+ with:
+ name: ct-metrics-logs
+ path: "*-ct-logs-*.tar.xz"
+ # vim:sw=2:et:
+ ct-mirrored_supervisor:
+ needs: [checks]
+ # https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#contexts
+ name: ct-mirrored_supervisor
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ # https://github.com/marketplace/actions/setup-elixir
+ - name: CONFIGURE OTP & ELIXIR
+ uses: actions/setup-elixir@v1
+ with:
+ otp-version: 22.3
+ # https://github.com/elixir-lang/elixir/releases
+ elixir-version: 1.8.0
+ - name: CACHE DEPS
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-22.3_git-${{ github.sha }}_deps
+ - name: RUN TESTS
+ run: |
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ ! test -d ebin || touch ebin/*
+ make ct-mirrored_supervisor \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1
+ - name: CACHE SECONDARY UMBRELLAS
+ if: success() && 'latest' == 'oldest'
+ uses: actions/cache@v1
+ with:
+ path: umbrellas
+ key: secondary-umbrellas-v3.7.0-erlang-22.3-rev3
+ - name: VERIFY SECONDARY UMBRELLA COPIES (in case of cache restore failure)
+ if: success() && 'latest' == 'oldest'
+ run: |
+ set -x
+ for version in v3.7.0; do
+ umbrella="umbrellas/$version"
+ if ! test -d "$umbrella" ||
+ ! make -C "$umbrella/deps/rabbit" test-dist; then
+ rm -rf "$umbrella"
+
+ # Fetch the master Umbrella; the final umbrellas are created from
+ # the master copy.
+ if ! test -d umbrellas/master; then
+ git config --global advice.detachedHead false
+ git clone \
+ https://github.com/rabbitmq/rabbitmq-public-umbrella.git \
+ umbrellas/master
+ make -C umbrellas/master co # To get RabbitMQ components.
+ fi
+
+ # We copy the master Umbrella and checkout the appropriate tag.
+ cp -a umbrellas/master "$umbrella"
+ git -C "$umbrella" checkout "v3.7.x"
+ make -C "$umbrella" up BRANCH="$version"
+ # To remove third-party deps which were checked out when the
+ # projects were on the `master` branch. Thus, possibly not the
+ # version pinning we expect. We update the Umbrella one last time
+ # to fetch the correct third-party deps.
+ make -C "$umbrella" clean-3rd-party-repos
+ make -C "$umbrella" up
+ make -C "$umbrella/deps/rabbit" test-dist
+ rm -fr "$umbrella"/deps/*/{.git,test} "$umbrella"/.git
+ fi
+ done
+ rm -fr umbrellas/master
+ - name: RUN TESTS [mixed-versions]
+ if: success() && 'latest' == 'oldest'
+ run: |
+ set -x
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ for umbrella in umbrellas/*; do
+ test -d "$umbrella"
+ printf '\n\033[1;32mMixing clusters with RabbitMQ %s\033[0m' \
+ $(basename "$umbrella")
+ make distclean-ct ct-mirrored_supervisor \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1 \
+ SECONDARY_UMBRELLA=$PWD/$umbrella \
+ RABBITMQ_FEATURE_FLAGS=
+ done
+ - name: ON FAILURE ARCHIVE TESTS LOGS
+ if: failure()
+ run: |
+ make ct-logs-archive
+ - name: ON FAILURE UPLOAD TESTS LOGS ARTIFACT
+ # https://github.com/marketplace/actions/upload-artifact
+ uses: actions/upload-artifact@v2-preview
+ if: failure()
+ with:
+ name: ct-mirrored_supervisor-logs
+ path: "*-ct-logs-*.tar.xz"
+ # vim:sw=2:et:
+ ct-msg_store:
+ needs: [checks]
+ # https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#contexts
+ name: ct-msg_store
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ # https://github.com/marketplace/actions/setup-elixir
+ - name: CONFIGURE OTP & ELIXIR
+ uses: actions/setup-elixir@v1
+ with:
+ otp-version: 22.3
+ # https://github.com/elixir-lang/elixir/releases
+ elixir-version: 1.8.0
+ - name: CACHE DEPS
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-22.3_git-${{ github.sha }}_deps
+ - name: RUN TESTS
+ run: |
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ ! test -d ebin || touch ebin/*
+ make ct-msg_store \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1
+ - name: CACHE SECONDARY UMBRELLAS
+ if: success() && 'latest' == 'oldest'
+ uses: actions/cache@v1
+ with:
+ path: umbrellas
+ key: secondary-umbrellas-v3.7.0-erlang-22.3-rev3
+ - name: VERIFY SECONDARY UMBRELLA COPIES (in case of cache restore failure)
+ if: success() && 'latest' == 'oldest'
+ run: |
+ set -x
+ for version in v3.7.0; do
+ umbrella="umbrellas/$version"
+ if ! test -d "$umbrella" ||
+ ! make -C "$umbrella/deps/rabbit" test-dist; then
+ rm -rf "$umbrella"
+
+ # Fetch the master Umbrella; the final umbrellas are created from
+ # the master copy.
+ if ! test -d umbrellas/master; then
+ git config --global advice.detachedHead false
+ git clone \
+ https://github.com/rabbitmq/rabbitmq-public-umbrella.git \
+ umbrellas/master
+ make -C umbrellas/master co # To get RabbitMQ components.
+ fi
+
+ # We copy the master Umbrella and checkout the appropriate tag.
+ cp -a umbrellas/master "$umbrella"
+ git -C "$umbrella" checkout "v3.7.x"
+ make -C "$umbrella" up BRANCH="$version"
+ # To remove third-party deps which were checked out when the
+ # projects were on the `master` branch. Thus, possibly not the
+ # version pinning we expect. We update the Umbrella one last time
+ # to fetch the correct third-party deps.
+ make -C "$umbrella" clean-3rd-party-repos
+ make -C "$umbrella" up
+ make -C "$umbrella/deps/rabbit" test-dist
+ rm -fr "$umbrella"/deps/*/{.git,test} "$umbrella"/.git
+ fi
+ done
+ rm -fr umbrellas/master
+ - name: RUN TESTS [mixed-versions]
+ if: success() && 'latest' == 'oldest'
+ run: |
+ set -x
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ for umbrella in umbrellas/*; do
+ test -d "$umbrella"
+ printf '\n\033[1;32mMixing clusters with RabbitMQ %s\033[0m' \
+ $(basename "$umbrella")
+ make distclean-ct ct-msg_store \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1 \
+ SECONDARY_UMBRELLA=$PWD/$umbrella \
+ RABBITMQ_FEATURE_FLAGS=
+ done
+ - name: ON FAILURE ARCHIVE TESTS LOGS
+ if: failure()
+ run: |
+ make ct-logs-archive
+ - name: ON FAILURE UPLOAD TESTS LOGS ARTIFACT
+ # https://github.com/marketplace/actions/upload-artifact
+ uses: actions/upload-artifact@v2-preview
+ if: failure()
+ with:
+ name: ct-msg_store-logs
+ path: "*-ct-logs-*.tar.xz"
+ # vim:sw=2:et:
+ ct-peer_discovery_dns:
+ needs: [checks]
+ # https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#contexts
+ name: ct-peer_discovery_dns
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ # https://github.com/marketplace/actions/setup-elixir
+ - name: CONFIGURE OTP & ELIXIR
+ uses: actions/setup-elixir@v1
+ with:
+ otp-version: 22.3
+ # https://github.com/elixir-lang/elixir/releases
+ elixir-version: 1.8.0
+ - name: CACHE DEPS
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-22.3_git-${{ github.sha }}_deps
+ - name: RUN TESTS
+ run: |
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ ! test -d ebin || touch ebin/*
+ make ct-peer_discovery_dns \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1
+ - name: CACHE SECONDARY UMBRELLAS
+ if: success() && 'latest' == 'oldest'
+ uses: actions/cache@v1
+ with:
+ path: umbrellas
+ key: secondary-umbrellas-v3.7.0-erlang-22.3-rev3
+ - name: VERIFY SECONDARY UMBRELLA COPIES (in case of cache restore failure)
+ if: success() && 'latest' == 'oldest'
+ run: |
+ set -x
+ for version in v3.7.0; do
+ umbrella="umbrellas/$version"
+ if ! test -d "$umbrella" ||
+ ! make -C "$umbrella/deps/rabbit" test-dist; then
+ rm -rf "$umbrella"
+
+ # Fetch the master Umbrella; the final umbrellas are created from
+ # the master copy.
+ if ! test -d umbrellas/master; then
+ git config --global advice.detachedHead false
+ git clone \
+ https://github.com/rabbitmq/rabbitmq-public-umbrella.git \
+ umbrellas/master
+ make -C umbrellas/master co # To get RabbitMQ components.
+ fi
+
+ # We copy the master Umbrella and checkout the appropriate tag.
+ cp -a umbrellas/master "$umbrella"
+ git -C "$umbrella" checkout "v3.7.x"
+ make -C "$umbrella" up BRANCH="$version"
+ # To remove third-party deps which were checked out when the
+ # projects were on the `master` branch. Thus, possibly not the
+ # version pinning we expect. We update the Umbrella one last time
+ # to fetch the correct third-party deps.
+ make -C "$umbrella" clean-3rd-party-repos
+ make -C "$umbrella" up
+ make -C "$umbrella/deps/rabbit" test-dist
+ rm -fr "$umbrella"/deps/*/{.git,test} "$umbrella"/.git
+ fi
+ done
+ rm -fr umbrellas/master
+ - name: RUN TESTS [mixed-versions]
+ if: success() && 'latest' == 'oldest'
+ run: |
+ set -x
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ for umbrella in umbrellas/*; do
+ test -d "$umbrella"
+ printf '\n\033[1;32mMixing clusters with RabbitMQ %s\033[0m' \
+ $(basename "$umbrella")
+ make distclean-ct ct-peer_discovery_dns \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1 \
+ SECONDARY_UMBRELLA=$PWD/$umbrella \
+ RABBITMQ_FEATURE_FLAGS=
+ done
+ - name: ON FAILURE ARCHIVE TESTS LOGS
+ if: failure()
+ run: |
+ make ct-logs-archive
+ - name: ON FAILURE UPLOAD TESTS LOGS ARTIFACT
+ # https://github.com/marketplace/actions/upload-artifact
+ uses: actions/upload-artifact@v2-preview
+ if: failure()
+ with:
+ name: ct-peer_discovery_dns-logs
+ path: "*-ct-logs-*.tar.xz"
+ # vim:sw=2:et:
+ ct-per_user_connection_tracking:
+ needs: [checks]
+ # https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#contexts
+ name: ct-per_user_connection_tracking
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ # https://github.com/marketplace/actions/setup-elixir
+ - name: CONFIGURE OTP & ELIXIR
+ uses: actions/setup-elixir@v1
+ with:
+ otp-version: 22.3
+ # https://github.com/elixir-lang/elixir/releases
+ elixir-version: 1.8.0
+ - name: CACHE DEPS
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-22.3_git-${{ github.sha }}_deps
+ - name: RUN TESTS
+ run: |
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ ! test -d ebin || touch ebin/*
+ make ct-per_user_connection_tracking \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1
+ - name: CACHE SECONDARY UMBRELLAS
+ if: success() && 'latest' == 'oldest'
+ uses: actions/cache@v1
+ with:
+ path: umbrellas
+ key: secondary-umbrellas-v3.7.0-erlang-22.3-rev3
+ - name: VERIFY SECONDARY UMBRELLA COPIES (in case of cache restore failure)
+ if: success() && 'latest' == 'oldest'
+ run: |
+ set -x
+ for version in v3.7.0; do
+ umbrella="umbrellas/$version"
+ if ! test -d "$umbrella" ||
+ ! make -C "$umbrella/deps/rabbit" test-dist; then
+ rm -rf "$umbrella"
+
+ # Fetch the master Umbrella; the final umbrellas are created from
+ # the master copy.
+ if ! test -d umbrellas/master; then
+ git config --global advice.detachedHead false
+ git clone \
+ https://github.com/rabbitmq/rabbitmq-public-umbrella.git \
+ umbrellas/master
+ make -C umbrellas/master co # To get RabbitMQ components.
+ fi
+
+ # We copy the master Umbrella and checkout the appropriate tag.
+ cp -a umbrellas/master "$umbrella"
+ git -C "$umbrella" checkout "v3.7.x"
+ make -C "$umbrella" up BRANCH="$version"
+ # To remove third-party deps which were checked out when the
+ # projects were on the `master` branch. Thus, possibly not the
+ # version pinning we expect. We update the Umbrella one last time
+ # to fetch the correct third-party deps.
+ make -C "$umbrella" clean-3rd-party-repos
+ make -C "$umbrella" up
+ make -C "$umbrella/deps/rabbit" test-dist
+ rm -fr "$umbrella"/deps/*/{.git,test} "$umbrella"/.git
+ fi
+ done
+ rm -fr umbrellas/master
+ - name: RUN TESTS [mixed-versions]
+ if: success() && 'latest' == 'oldest'
+ run: |
+ set -x
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ for umbrella in umbrellas/*; do
+ test -d "$umbrella"
+ printf '\n\033[1;32mMixing clusters with RabbitMQ %s\033[0m' \
+ $(basename "$umbrella")
+ make distclean-ct ct-per_user_connection_tracking \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1 \
+ SECONDARY_UMBRELLA=$PWD/$umbrella \
+ RABBITMQ_FEATURE_FLAGS=
+ done
+ - name: ON FAILURE ARCHIVE TESTS LOGS
+ if: failure()
+ run: |
+ make ct-logs-archive
+ - name: ON FAILURE UPLOAD TESTS LOGS ARTIFACT
+ # https://github.com/marketplace/actions/upload-artifact
+ uses: actions/upload-artifact@v2-preview
+ if: failure()
+ with:
+ name: ct-per_user_connection_tracking-logs
+ path: "*-ct-logs-*.tar.xz"
+ # vim:sw=2:et:
+ ct-per_vhost_connection_limit:
+ needs: [checks]
+ # https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#contexts
+ name: ct-per_vhost_connection_limit
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ # https://github.com/marketplace/actions/setup-elixir
+ - name: CONFIGURE OTP & ELIXIR
+ uses: actions/setup-elixir@v1
+ with:
+ otp-version: 22.3
+ # https://github.com/elixir-lang/elixir/releases
+ elixir-version: 1.8.0
+ - name: CACHE DEPS
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-22.3_git-${{ github.sha }}_deps
+ - name: RUN TESTS
+ run: |
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ ! test -d ebin || touch ebin/*
+ make ct-per_vhost_connection_limit \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1
+ - name: CACHE SECONDARY UMBRELLAS
+ if: success() && 'latest' == 'oldest'
+ uses: actions/cache@v1
+ with:
+ path: umbrellas
+ key: secondary-umbrellas-v3.7.0-erlang-22.3-rev3
+ - name: VERIFY SECONDARY UMBRELLA COPIES (in case of cache restore failure)
+ if: success() && 'latest' == 'oldest'
+ run: |
+ set -x
+ for version in v3.7.0; do
+ umbrella="umbrellas/$version"
+ if ! test -d "$umbrella" ||
+ ! make -C "$umbrella/deps/rabbit" test-dist; then
+ rm -rf "$umbrella"
+
+ # Fetch the master Umbrella; the final umbrellas are created from
+ # the master copy.
+ if ! test -d umbrellas/master; then
+ git config --global advice.detachedHead false
+ git clone \
+ https://github.com/rabbitmq/rabbitmq-public-umbrella.git \
+ umbrellas/master
+ make -C umbrellas/master co # To get RabbitMQ components.
+ fi
+
+ # We copy the master Umbrella and checkout the appropriate tag.
+ cp -a umbrellas/master "$umbrella"
+ git -C "$umbrella" checkout "v3.7.x"
+ make -C "$umbrella" up BRANCH="$version"
+ # To remove third-party deps which were checked out when the
+ # projects were on the `master` branch. Thus, possibly not the
+ # version pinning we expect. We update the Umbrella one last time
+ # to fetch the correct third-party deps.
+ make -C "$umbrella" clean-3rd-party-repos
+ make -C "$umbrella" up
+ make -C "$umbrella/deps/rabbit" test-dist
+ rm -fr "$umbrella"/deps/*/{.git,test} "$umbrella"/.git
+ fi
+ done
+ rm -fr umbrellas/master
+ - name: RUN TESTS [mixed-versions]
+ if: success() && 'latest' == 'oldest'
+ run: |
+ set -x
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ for umbrella in umbrellas/*; do
+ test -d "$umbrella"
+ printf '\n\033[1;32mMixing clusters with RabbitMQ %s\033[0m' \
+ $(basename "$umbrella")
+ make distclean-ct ct-per_vhost_connection_limit \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1 \
+ SECONDARY_UMBRELLA=$PWD/$umbrella \
+ RABBITMQ_FEATURE_FLAGS=
+ done
+ - name: ON FAILURE ARCHIVE TESTS LOGS
+ if: failure()
+ run: |
+ make ct-logs-archive
+ - name: ON FAILURE UPLOAD TESTS LOGS ARTIFACT
+ # https://github.com/marketplace/actions/upload-artifact
+ uses: actions/upload-artifact@v2-preview
+ if: failure()
+ with:
+ name: ct-per_vhost_connection_limit-logs
+ path: "*-ct-logs-*.tar.xz"
+ # vim:sw=2:et:
+ ct-per_vhost_connection_limit_partitions:
+ needs: [checks]
+ # https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#contexts
+ name: ct-per_vhost_connection_limit_partitions
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ # https://github.com/marketplace/actions/setup-elixir
+ - name: CONFIGURE OTP & ELIXIR
+ uses: actions/setup-elixir@v1
+ with:
+ otp-version: 22.3
+ # https://github.com/elixir-lang/elixir/releases
+ elixir-version: 1.8.0
+ - name: CACHE DEPS
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-22.3_git-${{ github.sha }}_deps
+ - name: RUN TESTS
+ run: |
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ ! test -d ebin || touch ebin/*
+ make ct-per_vhost_connection_limit_partitions \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1
+ - name: CACHE SECONDARY UMBRELLAS
+ if: success() && 'latest' == 'oldest'
+ uses: actions/cache@v1
+ with:
+ path: umbrellas
+ key: secondary-umbrellas-v3.7.0-erlang-22.3-rev3
+ - name: VERIFY SECONDARY UMBRELLA COPIES (in case of cache restore failure)
+ if: success() && 'latest' == 'oldest'
+ run: |
+ set -x
+ for version in v3.7.0; do
+ umbrella="umbrellas/$version"
+ if ! test -d "$umbrella" ||
+ ! make -C "$umbrella/deps/rabbit" test-dist; then
+ rm -rf "$umbrella"
+
+ # Fetch the master Umbrella; the final umbrellas are created from
+ # the master copy.
+ if ! test -d umbrellas/master; then
+ git config --global advice.detachedHead false
+ git clone \
+ https://github.com/rabbitmq/rabbitmq-public-umbrella.git \
+ umbrellas/master
+ make -C umbrellas/master co # To get RabbitMQ components.
+ fi
+
+ # We copy the master Umbrella and checkout the appropriate tag.
+ cp -a umbrellas/master "$umbrella"
+ git -C "$umbrella" checkout "v3.7.x"
+ make -C "$umbrella" up BRANCH="$version"
+ # To remove third-party deps which were checked out when the
+ # projects were on the `master` branch. Thus, possibly not the
+ # version pinning we expect. We update the Umbrella one last time
+ # to fetch the correct third-party deps.
+ make -C "$umbrella" clean-3rd-party-repos
+ make -C "$umbrella" up
+ make -C "$umbrella/deps/rabbit" test-dist
+ rm -fr "$umbrella"/deps/*/{.git,test} "$umbrella"/.git
+ fi
+ done
+ rm -fr umbrellas/master
+ - name: RUN TESTS [mixed-versions]
+ if: success() && 'latest' == 'oldest'
+ run: |
+ set -x
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ for umbrella in umbrellas/*; do
+ test -d "$umbrella"
+ printf '\n\033[1;32mMixing clusters with RabbitMQ %s\033[0m' \
+ $(basename "$umbrella")
+ make distclean-ct ct-per_vhost_connection_limit_partitions \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1 \
+ SECONDARY_UMBRELLA=$PWD/$umbrella \
+ RABBITMQ_FEATURE_FLAGS=
+ done
+ - name: ON FAILURE ARCHIVE TESTS LOGS
+ if: failure()
+ run: |
+ make ct-logs-archive
+ - name: ON FAILURE UPLOAD TESTS LOGS ARTIFACT
+ # https://github.com/marketplace/actions/upload-artifact
+ uses: actions/upload-artifact@v2-preview
+ if: failure()
+ with:
+ name: ct-per_vhost_connection_limit_partitions-logs
+ path: "*-ct-logs-*.tar.xz"
+ # vim:sw=2:et:
+ ct-per_vhost_msg_store:
+ needs: [checks]
+ # https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#contexts
+ name: ct-per_vhost_msg_store
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ # https://github.com/marketplace/actions/setup-elixir
+ - name: CONFIGURE OTP & ELIXIR
+ uses: actions/setup-elixir@v1
+ with:
+ otp-version: 22.3
+ # https://github.com/elixir-lang/elixir/releases
+ elixir-version: 1.8.0
+ - name: CACHE DEPS
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-22.3_git-${{ github.sha }}_deps
+ - name: RUN TESTS
+ run: |
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ ! test -d ebin || touch ebin/*
+ make ct-per_vhost_msg_store \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1
+ - name: CACHE SECONDARY UMBRELLAS
+ if: success() && 'latest' == 'oldest'
+ uses: actions/cache@v1
+ with:
+ path: umbrellas
+ key: secondary-umbrellas-v3.7.0-erlang-22.3-rev3
+ - name: VERIFY SECONDARY UMBRELLA COPIES (in case of cache restore failure)
+ if: success() && 'latest' == 'oldest'
+ run: |
+ set -x
+ for version in v3.7.0; do
+ umbrella="umbrellas/$version"
+ if ! test -d "$umbrella" ||
+ ! make -C "$umbrella/deps/rabbit" test-dist; then
+ rm -rf "$umbrella"
+
+ # Fetch the master Umbrella; the final umbrellas are created from
+ # the master copy.
+ if ! test -d umbrellas/master; then
+ git config --global advice.detachedHead false
+ git clone \
+ https://github.com/rabbitmq/rabbitmq-public-umbrella.git \
+ umbrellas/master
+ make -C umbrellas/master co # To get RabbitMQ components.
+ fi
+
+ # We copy the master Umbrella and checkout the appropriate tag.
+ cp -a umbrellas/master "$umbrella"
+ git -C "$umbrella" checkout "v3.7.x"
+ make -C "$umbrella" up BRANCH="$version"
+ # To remove third-party deps which were checked out when the
+ # projects were on the `master` branch. Thus, possibly not the
+ # version pinning we expect. We update the Umbrella one last time
+ # to fetch the correct third-party deps.
+ make -C "$umbrella" clean-3rd-party-repos
+ make -C "$umbrella" up
+ make -C "$umbrella/deps/rabbit" test-dist
+ rm -fr "$umbrella"/deps/*/{.git,test} "$umbrella"/.git
+ fi
+ done
+ rm -fr umbrellas/master
+ - name: RUN TESTS [mixed-versions]
+ if: success() && 'latest' == 'oldest'
+ run: |
+ set -x
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ for umbrella in umbrellas/*; do
+ test -d "$umbrella"
+ printf '\n\033[1;32mMixing clusters with RabbitMQ %s\033[0m' \
+ $(basename "$umbrella")
+ make distclean-ct ct-per_vhost_msg_store \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1 \
+ SECONDARY_UMBRELLA=$PWD/$umbrella \
+ RABBITMQ_FEATURE_FLAGS=
+ done
+ - name: ON FAILURE ARCHIVE TESTS LOGS
+ if: failure()
+ run: |
+ make ct-logs-archive
+ - name: ON FAILURE UPLOAD TESTS LOGS ARTIFACT
+ # https://github.com/marketplace/actions/upload-artifact
+ uses: actions/upload-artifact@v2-preview
+ if: failure()
+ with:
+ name: ct-per_vhost_msg_store-logs
+ path: "*-ct-logs-*.tar.xz"
+ # vim:sw=2:et:
+ ct-per_vhost_queue_limit:
+ needs: [checks]
+ # https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#contexts
+ name: ct-per_vhost_queue_limit
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ # https://github.com/marketplace/actions/setup-elixir
+ - name: CONFIGURE OTP & ELIXIR
+ uses: actions/setup-elixir@v1
+ with:
+ otp-version: 22.3
+ # https://github.com/elixir-lang/elixir/releases
+ elixir-version: 1.8.0
+ - name: CACHE DEPS
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-22.3_git-${{ github.sha }}_deps
+ - name: RUN TESTS
+ run: |
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ ! test -d ebin || touch ebin/*
+ make ct-per_vhost_queue_limit \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1
+ - name: CACHE SECONDARY UMBRELLAS
+ if: success() && 'latest' == 'oldest'
+ uses: actions/cache@v1
+ with:
+ path: umbrellas
+ key: secondary-umbrellas-v3.7.0-erlang-22.3-rev3
+ - name: VERIFY SECONDARY UMBRELLA COPIES (in case of cache restore failure)
+ if: success() && 'latest' == 'oldest'
+ run: |
+ set -x
+ for version in v3.7.0; do
+ umbrella="umbrellas/$version"
+ if ! test -d "$umbrella" ||
+ ! make -C "$umbrella/deps/rabbit" test-dist; then
+ rm -rf "$umbrella"
+
+ # Fetch the master Umbrella; the final umbrellas are created from
+ # the master copy.
+ if ! test -d umbrellas/master; then
+ git config --global advice.detachedHead false
+ git clone \
+ https://github.com/rabbitmq/rabbitmq-public-umbrella.git \
+ umbrellas/master
+ make -C umbrellas/master co # To get RabbitMQ components.
+ fi
+
+ # We copy the master Umbrella and checkout the appropriate tag.
+ cp -a umbrellas/master "$umbrella"
+ git -C "$umbrella" checkout "v3.7.x"
+ make -C "$umbrella" up BRANCH="$version"
+ # To remove third-party deps which were checked out when the
+ # projects were on the `master` branch. Thus, possibly not the
+ # version pinning we expect. We update the Umbrella one last time
+ # to fetch the correct third-party deps.
+ make -C "$umbrella" clean-3rd-party-repos
+ make -C "$umbrella" up
+ make -C "$umbrella/deps/rabbit" test-dist
+ rm -fr "$umbrella"/deps/*/{.git,test} "$umbrella"/.git
+ fi
+ done
+ rm -fr umbrellas/master
+ - name: RUN TESTS [mixed-versions]
+ if: success() && 'latest' == 'oldest'
+ run: |
+ set -x
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ for umbrella in umbrellas/*; do
+ test -d "$umbrella"
+ printf '\n\033[1;32mMixing clusters with RabbitMQ %s\033[0m' \
+ $(basename "$umbrella")
+ make distclean-ct ct-per_vhost_queue_limit \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1 \
+ SECONDARY_UMBRELLA=$PWD/$umbrella \
+ RABBITMQ_FEATURE_FLAGS=
+ done
+ - name: ON FAILURE ARCHIVE TESTS LOGS
+ if: failure()
+ run: |
+ make ct-logs-archive
+ - name: ON FAILURE UPLOAD TESTS LOGS ARTIFACT
+ # https://github.com/marketplace/actions/upload-artifact
+ uses: actions/upload-artifact@v2-preview
+ if: failure()
+ with:
+ name: ct-per_vhost_queue_limit-logs
+ path: "*-ct-logs-*.tar.xz"
+ # vim:sw=2:et:
+ ct-plugin_versioning:
+ needs: [checks]
+ # https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#contexts
+ name: ct-plugin_versioning
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ # https://github.com/marketplace/actions/setup-elixir
+ - name: CONFIGURE OTP & ELIXIR
+ uses: actions/setup-elixir@v1
+ with:
+ otp-version: 22.3
+ # https://github.com/elixir-lang/elixir/releases
+ elixir-version: 1.8.0
+ - name: CACHE DEPS
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-22.3_git-${{ github.sha }}_deps
+ - name: RUN TESTS
+ run: |
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ ! test -d ebin || touch ebin/*
+ make ct-plugin_versioning \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1
+ - name: CACHE SECONDARY UMBRELLAS
+ if: success() && 'latest' == 'oldest'
+ uses: actions/cache@v1
+ with:
+ path: umbrellas
+ key: secondary-umbrellas-v3.7.0-erlang-22.3-rev3
+ - name: VERIFY SECONDARY UMBRELLA COPIES (in case of cache restore failure)
+ if: success() && 'latest' == 'oldest'
+ run: |
+ set -x
+ for version in v3.7.0; do
+ umbrella="umbrellas/$version"
+ if ! test -d "$umbrella" ||
+ ! make -C "$umbrella/deps/rabbit" test-dist; then
+ rm -rf "$umbrella"
+
+ # Fetch the master Umbrella; the final umbrellas are created from
+ # the master copy.
+ if ! test -d umbrellas/master; then
+ git config --global advice.detachedHead false
+ git clone \
+ https://github.com/rabbitmq/rabbitmq-public-umbrella.git \
+ umbrellas/master
+ make -C umbrellas/master co # To get RabbitMQ components.
+ fi
+
+ # We copy the master Umbrella and checkout the appropriate tag.
+ cp -a umbrellas/master "$umbrella"
+ git -C "$umbrella" checkout "v3.7.x"
+ make -C "$umbrella" up BRANCH="$version"
+ # To remove third-party deps which were checked out when the
+ # projects were on the `master` branch. Thus, possibly not the
+ # version pinning we expect. We update the Umbrella one last time
+ # to fetch the correct third-party deps.
+ make -C "$umbrella" clean-3rd-party-repos
+ make -C "$umbrella" up
+ make -C "$umbrella/deps/rabbit" test-dist
+ rm -fr "$umbrella"/deps/*/{.git,test} "$umbrella"/.git
+ fi
+ done
+ rm -fr umbrellas/master
+ - name: RUN TESTS [mixed-versions]
+ if: success() && 'latest' == 'oldest'
+ run: |
+ set -x
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ for umbrella in umbrellas/*; do
+ test -d "$umbrella"
+ printf '\n\033[1;32mMixing clusters with RabbitMQ %s\033[0m' \
+ $(basename "$umbrella")
+ make distclean-ct ct-plugin_versioning \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1 \
+ SECONDARY_UMBRELLA=$PWD/$umbrella \
+ RABBITMQ_FEATURE_FLAGS=
+ done
+ - name: ON FAILURE ARCHIVE TESTS LOGS
+ if: failure()
+ run: |
+ make ct-logs-archive
+ - name: ON FAILURE UPLOAD TESTS LOGS ARTIFACT
+ # https://github.com/marketplace/actions/upload-artifact
+ uses: actions/upload-artifact@v2-preview
+ if: failure()
+ with:
+ name: ct-plugin_versioning-logs
+ path: "*-ct-logs-*.tar.xz"
+ # vim:sw=2:et:
+ ct-policy:
+ needs: [checks]
+ # https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#contexts
+ name: ct-policy
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ # https://github.com/marketplace/actions/setup-elixir
+ - name: CONFIGURE OTP & ELIXIR
+ uses: actions/setup-elixir@v1
+ with:
+ otp-version: 22.3
+ # https://github.com/elixir-lang/elixir/releases
+ elixir-version: 1.8.0
+ - name: CACHE DEPS
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-22.3_git-${{ github.sha }}_deps
+ - name: RUN TESTS
+ run: |
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ ! test -d ebin || touch ebin/*
+ make ct-policy \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1
+ - name: CACHE SECONDARY UMBRELLAS
+ if: success() && 'latest' == 'oldest'
+ uses: actions/cache@v1
+ with:
+ path: umbrellas
+ key: secondary-umbrellas-v3.7.0-erlang-22.3-rev3
+ - name: VERIFY SECONDARY UMBRELLA COPIES (in case of cache restore failure)
+ if: success() && 'latest' == 'oldest'
+ run: |
+ set -x
+ for version in v3.7.0; do
+ umbrella="umbrellas/$version"
+ if ! test -d "$umbrella" ||
+ ! make -C "$umbrella/deps/rabbit" test-dist; then
+ rm -rf "$umbrella"
+
+ # Fetch the master Umbrella; the final umbrellas are created from
+ # the master copy.
+ if ! test -d umbrellas/master; then
+ git config --global advice.detachedHead false
+ git clone \
+ https://github.com/rabbitmq/rabbitmq-public-umbrella.git \
+ umbrellas/master
+ make -C umbrellas/master co # To get RabbitMQ components.
+ fi
+
+ # We copy the master Umbrella and checkout the appropriate tag.
+ cp -a umbrellas/master "$umbrella"
+ git -C "$umbrella" checkout "v3.7.x"
+ make -C "$umbrella" up BRANCH="$version"
+ # To remove third-party deps which were checked out when the
+ # projects were on the `master` branch. Thus, possibly not the
+ # version pinning we expect. We update the Umbrella one last time
+ # to fetch the correct third-party deps.
+ make -C "$umbrella" clean-3rd-party-repos
+ make -C "$umbrella" up
+ make -C "$umbrella/deps/rabbit" test-dist
+ rm -fr "$umbrella"/deps/*/{.git,test} "$umbrella"/.git
+ fi
+ done
+ rm -fr umbrellas/master
+ - name: RUN TESTS [mixed-versions]
+ if: success() && 'latest' == 'oldest'
+ run: |
+ set -x
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ for umbrella in umbrellas/*; do
+ test -d "$umbrella"
+ printf '\n\033[1;32mMixing clusters with RabbitMQ %s\033[0m' \
+ $(basename "$umbrella")
+ make distclean-ct ct-policy \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1 \
+ SECONDARY_UMBRELLA=$PWD/$umbrella \
+ RABBITMQ_FEATURE_FLAGS=
+ done
+ - name: ON FAILURE ARCHIVE TESTS LOGS
+ if: failure()
+ run: |
+ make ct-logs-archive
+ - name: ON FAILURE UPLOAD TESTS LOGS ARTIFACT
+ # https://github.com/marketplace/actions/upload-artifact
+ uses: actions/upload-artifact@v2-preview
+ if: failure()
+ with:
+ name: ct-policy-logs
+ path: "*-ct-logs-*.tar.xz"
+ # vim:sw=2:et:
+ ct-priority_queue:
+ needs: [checks]
+ # https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#contexts
+ name: ct-priority_queue
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ # https://github.com/marketplace/actions/setup-elixir
+ - name: CONFIGURE OTP & ELIXIR
+ uses: actions/setup-elixir@v1
+ with:
+ otp-version: 22.3
+ # https://github.com/elixir-lang/elixir/releases
+ elixir-version: 1.8.0
+ - name: CACHE DEPS
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-22.3_git-${{ github.sha }}_deps
+ - name: RUN TESTS
+ run: |
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ ! test -d ebin || touch ebin/*
+ make ct-priority_queue \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1
+ - name: CACHE SECONDARY UMBRELLAS
+ if: success() && 'latest' == 'oldest'
+ uses: actions/cache@v1
+ with:
+ path: umbrellas
+ key: secondary-umbrellas-v3.7.0-erlang-22.3-rev3
+ - name: VERIFY SECONDARY UMBRELLA COPIES (in case of cache restore failure)
+ if: success() && 'latest' == 'oldest'
+ run: |
+ set -x
+ for version in v3.7.0; do
+ umbrella="umbrellas/$version"
+ if ! test -d "$umbrella" ||
+ ! make -C "$umbrella/deps/rabbit" test-dist; then
+ rm -rf "$umbrella"
+
+ # Fetch the master Umbrella; the final umbrellas are created from
+ # the master copy.
+ if ! test -d umbrellas/master; then
+ git config --global advice.detachedHead false
+ git clone \
+ https://github.com/rabbitmq/rabbitmq-public-umbrella.git \
+ umbrellas/master
+ make -C umbrellas/master co # To get RabbitMQ components.
+ fi
+
+ # We copy the master Umbrella and checkout the appropriate tag.
+ cp -a umbrellas/master "$umbrella"
+ git -C "$umbrella" checkout "v3.7.x"
+ make -C "$umbrella" up BRANCH="$version"
+ # To remove third-party deps which were checked out when the
+ # projects were on the `master` branch. Thus, possibly not the
+ # version pinning we expect. We update the Umbrella one last time
+ # to fetch the correct third-party deps.
+ make -C "$umbrella" clean-3rd-party-repos
+ make -C "$umbrella" up
+ make -C "$umbrella/deps/rabbit" test-dist
+ rm -fr "$umbrella"/deps/*/{.git,test} "$umbrella"/.git
+ fi
+ done
+ rm -fr umbrellas/master
+ - name: RUN TESTS [mixed-versions]
+ if: success() && 'latest' == 'oldest'
+ run: |
+ set -x
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ for umbrella in umbrellas/*; do
+ test -d "$umbrella"
+ printf '\n\033[1;32mMixing clusters with RabbitMQ %s\033[0m' \
+ $(basename "$umbrella")
+ make distclean-ct ct-priority_queue \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1 \
+ SECONDARY_UMBRELLA=$PWD/$umbrella \
+ RABBITMQ_FEATURE_FLAGS=
+ done
+ - name: ON FAILURE ARCHIVE TESTS LOGS
+ if: failure()
+ run: |
+ make ct-logs-archive
+ - name: ON FAILURE UPLOAD TESTS LOGS ARTIFACT
+ # https://github.com/marketplace/actions/upload-artifact
+ uses: actions/upload-artifact@v2-preview
+ if: failure()
+ with:
+ name: ct-priority_queue-logs
+ path: "*-ct-logs-*.tar.xz"
+ # vim:sw=2:et:
+ ct-priority_queue_recovery:
+ needs: [checks]
+ # https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#contexts
+ name: ct-priority_queue_recovery
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ # https://github.com/marketplace/actions/setup-elixir
+ - name: CONFIGURE OTP & ELIXIR
+ uses: actions/setup-elixir@v1
+ with:
+ otp-version: 22.3
+ # https://github.com/elixir-lang/elixir/releases
+ elixir-version: 1.8.0
+ - name: CACHE DEPS
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-22.3_git-${{ github.sha }}_deps
+ - name: RUN TESTS
+ run: |
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ ! test -d ebin || touch ebin/*
+ make ct-priority_queue_recovery \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1
+ - name: CACHE SECONDARY UMBRELLAS
+ if: success() && 'latest' == 'oldest'
+ uses: actions/cache@v1
+ with:
+ path: umbrellas
+ key: secondary-umbrellas-v3.7.0-erlang-22.3-rev3
+ - name: VERIFY SECONDARY UMBRELLA COPIES (in case of cache restore failure)
+ if: success() && 'latest' == 'oldest'
+ run: |
+ set -x
+ for version in v3.7.0; do
+ umbrella="umbrellas/$version"
+ if ! test -d "$umbrella" ||
+ ! make -C "$umbrella/deps/rabbit" test-dist; then
+ rm -rf "$umbrella"
+
+ # Fetch the master Umbrella; the final umbrellas are created from
+ # the master copy.
+ if ! test -d umbrellas/master; then
+ git config --global advice.detachedHead false
+ git clone \
+ https://github.com/rabbitmq/rabbitmq-public-umbrella.git \
+ umbrellas/master
+ make -C umbrellas/master co # To get RabbitMQ components.
+ fi
+
+ # We copy the master Umbrella and checkout the appropriate tag.
+ cp -a umbrellas/master "$umbrella"
+ git -C "$umbrella" checkout "v3.7.x"
+ make -C "$umbrella" up BRANCH="$version"
+ # To remove third-party deps which were checked out when the
+ # projects were on the `master` branch. Thus, possibly not the
+ # version pinning we expect. We update the Umbrella one last time
+ # to fetch the correct third-party deps.
+ make -C "$umbrella" clean-3rd-party-repos
+ make -C "$umbrella" up
+ make -C "$umbrella/deps/rabbit" test-dist
+ rm -fr "$umbrella"/deps/*/{.git,test} "$umbrella"/.git
+ fi
+ done
+ rm -fr umbrellas/master
+ - name: RUN TESTS [mixed-versions]
+ if: success() && 'latest' == 'oldest'
+ run: |
+ set -x
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ for umbrella in umbrellas/*; do
+ test -d "$umbrella"
+ printf '\n\033[1;32mMixing clusters with RabbitMQ %s\033[0m' \
+ $(basename "$umbrella")
+ make distclean-ct ct-priority_queue_recovery \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1 \
+ SECONDARY_UMBRELLA=$PWD/$umbrella \
+ RABBITMQ_FEATURE_FLAGS=
+ done
+ - name: ON FAILURE ARCHIVE TESTS LOGS
+ if: failure()
+ run: |
+ make ct-logs-archive
+ - name: ON FAILURE UPLOAD TESTS LOGS ARTIFACT
+ # https://github.com/marketplace/actions/upload-artifact
+ uses: actions/upload-artifact@v2-preview
+ if: failure()
+ with:
+ name: ct-priority_queue_recovery-logs
+ path: "*-ct-logs-*.tar.xz"
+ # vim:sw=2:et:
+ ct-proxy_protocol:
+ needs: [checks]
+ # https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#contexts
+ name: ct-proxy_protocol
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ # https://github.com/marketplace/actions/setup-elixir
+ - name: CONFIGURE OTP & ELIXIR
+ uses: actions/setup-elixir@v1
+ with:
+ otp-version: 22.3
+ # https://github.com/elixir-lang/elixir/releases
+ elixir-version: 1.8.0
+ - name: CACHE DEPS
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-22.3_git-${{ github.sha }}_deps
+ - name: RUN TESTS
+ run: |
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ ! test -d ebin || touch ebin/*
+ make ct-proxy_protocol \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1
+ - name: CACHE SECONDARY UMBRELLAS
+ if: success() && 'latest' == 'oldest'
+ uses: actions/cache@v1
+ with:
+ path: umbrellas
+ key: secondary-umbrellas-v3.7.0-erlang-22.3-rev3
+ - name: VERIFY SECONDARY UMBRELLA COPIES (in case of cache restore failure)
+ if: success() && 'latest' == 'oldest'
+ run: |
+ set -x
+ for version in v3.7.0; do
+ umbrella="umbrellas/$version"
+ if ! test -d "$umbrella" ||
+ ! make -C "$umbrella/deps/rabbit" test-dist; then
+ rm -rf "$umbrella"
+
+ # Fetch the master Umbrella; the final umbrellas are created from
+ # the master copy.
+ if ! test -d umbrellas/master; then
+ git config --global advice.detachedHead false
+ git clone \
+ https://github.com/rabbitmq/rabbitmq-public-umbrella.git \
+ umbrellas/master
+ make -C umbrellas/master co # To get RabbitMQ components.
+ fi
+
+ # We copy the master Umbrella and checkout the appropriate tag.
+ cp -a umbrellas/master "$umbrella"
+ git -C "$umbrella" checkout "v3.7.x"
+ make -C "$umbrella" up BRANCH="$version"
+ # To remove third-party deps which were checked out when the
+ # projects were on the `master` branch. Thus, possibly not the
+ # version pinning we expect. We update the Umbrella one last time
+ # to fetch the correct third-party deps.
+ make -C "$umbrella" clean-3rd-party-repos
+ make -C "$umbrella" up
+ make -C "$umbrella/deps/rabbit" test-dist
+ rm -fr "$umbrella"/deps/*/{.git,test} "$umbrella"/.git
+ fi
+ done
+ rm -fr umbrellas/master
+ - name: RUN TESTS [mixed-versions]
+ if: success() && 'latest' == 'oldest'
+ run: |
+ set -x
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ for umbrella in umbrellas/*; do
+ test -d "$umbrella"
+ printf '\n\033[1;32mMixing clusters with RabbitMQ %s\033[0m' \
+ $(basename "$umbrella")
+ make distclean-ct ct-proxy_protocol \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1 \
+ SECONDARY_UMBRELLA=$PWD/$umbrella \
+ RABBITMQ_FEATURE_FLAGS=
+ done
+ - name: ON FAILURE ARCHIVE TESTS LOGS
+ if: failure()
+ run: |
+ make ct-logs-archive
+ - name: ON FAILURE UPLOAD TESTS LOGS ARTIFACT
+ # https://github.com/marketplace/actions/upload-artifact
+ uses: actions/upload-artifact@v2-preview
+ if: failure()
+ with:
+ name: ct-proxy_protocol-logs
+ path: "*-ct-logs-*.tar.xz"
+ # vim:sw=2:et:
+ ct-queue_master_location:
+ needs: [checks]
+ # https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#contexts
+ name: ct-queue_master_location
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ # https://github.com/marketplace/actions/setup-elixir
+ - name: CONFIGURE OTP & ELIXIR
+ uses: actions/setup-elixir@v1
+ with:
+ otp-version: 22.3
+ # https://github.com/elixir-lang/elixir/releases
+ elixir-version: 1.8.0
+ - name: CACHE DEPS
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-22.3_git-${{ github.sha }}_deps
+ - name: RUN TESTS
+ run: |
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ ! test -d ebin || touch ebin/*
+ make ct-queue_master_location \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1
+ - name: CACHE SECONDARY UMBRELLAS
+ if: success() && 'latest' == 'oldest'
+ uses: actions/cache@v1
+ with:
+ path: umbrellas
+ key: secondary-umbrellas-v3.7.0-erlang-22.3-rev3
+ - name: VERIFY SECONDARY UMBRELLA COPIES (in case of cache restore failure)
+ if: success() && 'latest' == 'oldest'
+ run: |
+ set -x
+ for version in v3.7.0; do
+ umbrella="umbrellas/$version"
+ if ! test -d "$umbrella" ||
+ ! make -C "$umbrella/deps/rabbit" test-dist; then
+ rm -rf "$umbrella"
+
+ # Fetch the master Umbrella; the final umbrellas are created from
+ # the master copy.
+ if ! test -d umbrellas/master; then
+ git config --global advice.detachedHead false
+ git clone \
+ https://github.com/rabbitmq/rabbitmq-public-umbrella.git \
+ umbrellas/master
+ make -C umbrellas/master co # To get RabbitMQ components.
+ fi
+
+ # We copy the master Umbrella and checkout the appropriate tag.
+ cp -a umbrellas/master "$umbrella"
+ git -C "$umbrella" checkout "v3.7.x"
+ make -C "$umbrella" up BRANCH="$version"
+ # To remove third-party deps which were checked out when the
+ # projects were on the `master` branch. Thus, possibly not the
+ # version pinning we expect. We update the Umbrella one last time
+ # to fetch the correct third-party deps.
+ make -C "$umbrella" clean-3rd-party-repos
+ make -C "$umbrella" up
+ make -C "$umbrella/deps/rabbit" test-dist
+ rm -fr "$umbrella"/deps/*/{.git,test} "$umbrella"/.git
+ fi
+ done
+ rm -fr umbrellas/master
+ - name: RUN TESTS [mixed-versions]
+ if: success() && 'latest' == 'oldest'
+ run: |
+ set -x
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ for umbrella in umbrellas/*; do
+ test -d "$umbrella"
+ printf '\n\033[1;32mMixing clusters with RabbitMQ %s\033[0m' \
+ $(basename "$umbrella")
+ make distclean-ct ct-queue_master_location \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1 \
+ SECONDARY_UMBRELLA=$PWD/$umbrella \
+ RABBITMQ_FEATURE_FLAGS=
+ done
+ - name: ON FAILURE ARCHIVE TESTS LOGS
+ if: failure()
+ run: |
+ make ct-logs-archive
+ - name: ON FAILURE UPLOAD TESTS LOGS ARTIFACT
+ # https://github.com/marketplace/actions/upload-artifact
+ uses: actions/upload-artifact@v2-preview
+ if: failure()
+ with:
+ name: ct-queue_master_location-logs
+ path: "*-ct-logs-*.tar.xz"
+ # vim:sw=2:et:
+ ct-rabbit_core_metrics_gc:
+ needs: [checks]
+ # https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#contexts
+ name: ct-rabbit_core_metrics_gc
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ # https://github.com/marketplace/actions/setup-elixir
+ - name: CONFIGURE OTP & ELIXIR
+ uses: actions/setup-elixir@v1
+ with:
+ otp-version: 22.3
+ # https://github.com/elixir-lang/elixir/releases
+ elixir-version: 1.8.0
+ - name: CACHE DEPS
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-22.3_git-${{ github.sha }}_deps
+ - name: RUN TESTS
+ run: |
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ ! test -d ebin || touch ebin/*
+ make ct-rabbit_core_metrics_gc \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1
+ - name: CACHE SECONDARY UMBRELLAS
+ if: success() && 'latest' == 'oldest'
+ uses: actions/cache@v1
+ with:
+ path: umbrellas
+ key: secondary-umbrellas-v3.7.0-erlang-22.3-rev3
+ - name: VERIFY SECONDARY UMBRELLA COPIES (in case of cache restore failure)
+ if: success() && 'latest' == 'oldest'
+ run: |
+ set -x
+ for version in v3.7.0; do
+ umbrella="umbrellas/$version"
+ if ! test -d "$umbrella" ||
+ ! make -C "$umbrella/deps/rabbit" test-dist; then
+ rm -rf "$umbrella"
+
+ # Fetch the master Umbrella; the final umbrellas are created from
+ # the master copy.
+ if ! test -d umbrellas/master; then
+ git config --global advice.detachedHead false
+ git clone \
+ https://github.com/rabbitmq/rabbitmq-public-umbrella.git \
+ umbrellas/master
+ make -C umbrellas/master co # To get RabbitMQ components.
+ fi
+
+ # We copy the master Umbrella and checkout the appropriate tag.
+ cp -a umbrellas/master "$umbrella"
+ git -C "$umbrella" checkout "v3.7.x"
+ make -C "$umbrella" up BRANCH="$version"
+ # To remove third-party deps which were checked out when the
+ # projects were on the `master` branch. Thus, possibly not the
+ # version pinning we expect. We update the Umbrella one last time
+ # to fetch the correct third-party deps.
+ make -C "$umbrella" clean-3rd-party-repos
+ make -C "$umbrella" up
+ make -C "$umbrella/deps/rabbit" test-dist
+ rm -fr "$umbrella"/deps/*/{.git,test} "$umbrella"/.git
+ fi
+ done
+ rm -fr umbrellas/master
+ - name: RUN TESTS [mixed-versions]
+ if: success() && 'latest' == 'oldest'
+ run: |
+ set -x
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ for umbrella in umbrellas/*; do
+ test -d "$umbrella"
+ printf '\n\033[1;32mMixing clusters with RabbitMQ %s\033[0m' \
+ $(basename "$umbrella")
+ make distclean-ct ct-rabbit_core_metrics_gc \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1 \
+ SECONDARY_UMBRELLA=$PWD/$umbrella \
+ RABBITMQ_FEATURE_FLAGS=
+ done
+ - name: ON FAILURE ARCHIVE TESTS LOGS
+ if: failure()
+ run: |
+ make ct-logs-archive
+ - name: ON FAILURE UPLOAD TESTS LOGS ARTIFACT
+ # https://github.com/marketplace/actions/upload-artifact
+ uses: actions/upload-artifact@v2-preview
+ if: failure()
+ with:
+ name: ct-rabbit_core_metrics_gc-logs
+ path: "*-ct-logs-*.tar.xz"
+ # vim:sw=2:et:
+ ct-rabbitmqctl_integration:
+ needs: [checks]
+ # https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#contexts
+ name: ct-rabbitmqctl_integration
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ # https://github.com/marketplace/actions/setup-elixir
+ - name: CONFIGURE OTP & ELIXIR
+ uses: actions/setup-elixir@v1
+ with:
+ otp-version: 22.3
+ # https://github.com/elixir-lang/elixir/releases
+ elixir-version: 1.8.0
+ - name: CACHE DEPS
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-22.3_git-${{ github.sha }}_deps
+ - name: RUN TESTS
+ run: |
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ ! test -d ebin || touch ebin/*
+ make ct-rabbitmqctl_integration \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1
+ - name: CACHE SECONDARY UMBRELLAS
+ if: success() && 'latest' == 'oldest'
+ uses: actions/cache@v1
+ with:
+ path: umbrellas
+ key: secondary-umbrellas-v3.7.0-erlang-22.3-rev3
+ - name: VERIFY SECONDARY UMBRELLA COPIES (in case of cache restore failure)
+ if: success() && 'latest' == 'oldest'
+ run: |
+ set -x
+ for version in v3.7.0; do
+ umbrella="umbrellas/$version"
+ if ! test -d "$umbrella" ||
+ ! make -C "$umbrella/deps/rabbit" test-dist; then
+ rm -rf "$umbrella"
+
+ # Fetch the master Umbrella; the final umbrellas are created from
+ # the master copy.
+ if ! test -d umbrellas/master; then
+ git config --global advice.detachedHead false
+ git clone \
+ https://github.com/rabbitmq/rabbitmq-public-umbrella.git \
+ umbrellas/master
+ make -C umbrellas/master co # To get RabbitMQ components.
+ fi
+
+ # We copy the master Umbrella and checkout the appropriate tag.
+ cp -a umbrellas/master "$umbrella"
+ git -C "$umbrella" checkout "v3.7.x"
+ make -C "$umbrella" up BRANCH="$version"
+ # To remove third-party deps which were checked out when the
+ # projects were on the `master` branch. Thus, possibly not the
+ # version pinning we expect. We update the Umbrella one last time
+ # to fetch the correct third-party deps.
+ make -C "$umbrella" clean-3rd-party-repos
+ make -C "$umbrella" up
+ make -C "$umbrella/deps/rabbit" test-dist
+ rm -fr "$umbrella"/deps/*/{.git,test} "$umbrella"/.git
+ fi
+ done
+ rm -fr umbrellas/master
+ - name: RUN TESTS [mixed-versions]
+ if: success() && 'latest' == 'oldest'
+ run: |
+ set -x
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ for umbrella in umbrellas/*; do
+ test -d "$umbrella"
+ printf '\n\033[1;32mMixing clusters with RabbitMQ %s\033[0m' \
+ $(basename "$umbrella")
+ make distclean-ct ct-rabbitmqctl_integration \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1 \
+ SECONDARY_UMBRELLA=$PWD/$umbrella \
+ RABBITMQ_FEATURE_FLAGS=
+ done
+ - name: ON FAILURE ARCHIVE TESTS LOGS
+ if: failure()
+ run: |
+ make ct-logs-archive
+ - name: ON FAILURE UPLOAD TESTS LOGS ARTIFACT
+ # https://github.com/marketplace/actions/upload-artifact
+ uses: actions/upload-artifact@v2-preview
+ if: failure()
+ with:
+ name: ct-rabbitmqctl_integration-logs
+ path: "*-ct-logs-*.tar.xz"
+ # vim:sw=2:et:
+ ct-rabbitmqctl_shutdown:
+ needs: [checks]
+ # https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#contexts
+ name: ct-rabbitmqctl_shutdown
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ # https://github.com/marketplace/actions/setup-elixir
+ - name: CONFIGURE OTP & ELIXIR
+ uses: actions/setup-elixir@v1
+ with:
+ otp-version: 22.3
+ # https://github.com/elixir-lang/elixir/releases
+ elixir-version: 1.8.0
+ - name: CACHE DEPS
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-22.3_git-${{ github.sha }}_deps
+ - name: RUN TESTS
+ run: |
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ ! test -d ebin || touch ebin/*
+ make ct-rabbitmqctl_shutdown \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1
+ - name: CACHE SECONDARY UMBRELLAS
+ if: success() && 'latest' == 'oldest'
+ uses: actions/cache@v1
+ with:
+ path: umbrellas
+ key: secondary-umbrellas-v3.7.0-erlang-22.3-rev3
+ - name: VERIFY SECONDARY UMBRELLA COPIES (in case of cache restore failure)
+ if: success() && 'latest' == 'oldest'
+ run: |
+ set -x
+ for version in v3.7.0; do
+ umbrella="umbrellas/$version"
+ if ! test -d "$umbrella" ||
+ ! make -C "$umbrella/deps/rabbit" test-dist; then
+ rm -rf "$umbrella"
+
+ # Fetch the master Umbrella; the final umbrellas are created from
+ # the master copy.
+ if ! test -d umbrellas/master; then
+ git config --global advice.detachedHead false
+ git clone \
+ https://github.com/rabbitmq/rabbitmq-public-umbrella.git \
+ umbrellas/master
+ make -C umbrellas/master co # To get RabbitMQ components.
+ fi
+
+ # We copy the master Umbrella and checkout the appropriate tag.
+ cp -a umbrellas/master "$umbrella"
+ git -C "$umbrella" checkout "v3.7.x"
+ make -C "$umbrella" up BRANCH="$version"
+ # To remove third-party deps which were checked out when the
+ # projects were on the `master` branch. Thus, possibly not the
+ # version pinning we expect. We update the Umbrella one last time
+ # to fetch the correct third-party deps.
+ make -C "$umbrella" clean-3rd-party-repos
+ make -C "$umbrella" up
+ make -C "$umbrella/deps/rabbit" test-dist
+ rm -fr "$umbrella"/deps/*/{.git,test} "$umbrella"/.git
+ fi
+ done
+ rm -fr umbrellas/master
+ - name: RUN TESTS [mixed-versions]
+ if: success() && 'latest' == 'oldest'
+ run: |
+ set -x
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ for umbrella in umbrellas/*; do
+ test -d "$umbrella"
+ printf '\n\033[1;32mMixing clusters with RabbitMQ %s\033[0m' \
+ $(basename "$umbrella")
+ make distclean-ct ct-rabbitmqctl_shutdown \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1 \
+ SECONDARY_UMBRELLA=$PWD/$umbrella \
+ RABBITMQ_FEATURE_FLAGS=
+ done
+ - name: ON FAILURE ARCHIVE TESTS LOGS
+ if: failure()
+ run: |
+ make ct-logs-archive
+ - name: ON FAILURE UPLOAD TESTS LOGS ARTIFACT
+ # https://github.com/marketplace/actions/upload-artifact
+ uses: actions/upload-artifact@v2-preview
+ if: failure()
+ with:
+ name: ct-rabbitmqctl_shutdown-logs
+ path: "*-ct-logs-*.tar.xz"
+ # vim:sw=2:et:
+ ct-signal_handling:
+ needs: [checks]
+ # https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#contexts
+ name: ct-signal_handling
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ # https://github.com/marketplace/actions/setup-elixir
+ - name: CONFIGURE OTP & ELIXIR
+ uses: actions/setup-elixir@v1
+ with:
+ otp-version: 22.3
+ # https://github.com/elixir-lang/elixir/releases
+ elixir-version: 1.8.0
+ - name: CACHE DEPS
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-22.3_git-${{ github.sha }}_deps
+ - name: RUN TESTS
+ run: |
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ ! test -d ebin || touch ebin/*
+ make ct-signal_handling \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1
+ - name: CACHE SECONDARY UMBRELLAS
+ if: success() && 'latest' == 'oldest'
+ uses: actions/cache@v1
+ with:
+ path: umbrellas
+ key: secondary-umbrellas-v3.7.0-erlang-22.3-rev3
+ - name: VERIFY SECONDARY UMBRELLA COPIES (in case of cache restore failure)
+ if: success() && 'latest' == 'oldest'
+ run: |
+ set -x
+ for version in v3.7.0; do
+ umbrella="umbrellas/$version"
+ if ! test -d "$umbrella" ||
+ ! make -C "$umbrella/deps/rabbit" test-dist; then
+ rm -rf "$umbrella"
+
+ # Fetch the master Umbrella; the final umbrellas are created from
+ # the master copy.
+ if ! test -d umbrellas/master; then
+ git config --global advice.detachedHead false
+ git clone \
+ https://github.com/rabbitmq/rabbitmq-public-umbrella.git \
+ umbrellas/master
+ make -C umbrellas/master co # To get RabbitMQ components.
+ fi
+
+ # We copy the master Umbrella and checkout the appropriate tag.
+ cp -a umbrellas/master "$umbrella"
+ git -C "$umbrella" checkout "v3.7.x"
+ make -C "$umbrella" up BRANCH="$version"
+ # To remove third-party deps which were checked out when the
+ # projects were on the `master` branch. Thus, possibly not the
+ # version pinning we expect. We update the Umbrella one last time
+ # to fetch the correct third-party deps.
+ make -C "$umbrella" clean-3rd-party-repos
+ make -C "$umbrella" up
+ make -C "$umbrella/deps/rabbit" test-dist
+ rm -fr "$umbrella"/deps/*/{.git,test} "$umbrella"/.git
+ fi
+ done
+ rm -fr umbrellas/master
+ - name: RUN TESTS [mixed-versions]
+ if: success() && 'latest' == 'oldest'
+ run: |
+ set -x
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ for umbrella in umbrellas/*; do
+ test -d "$umbrella"
+ printf '\n\033[1;32mMixing clusters with RabbitMQ %s\033[0m' \
+ $(basename "$umbrella")
+ make distclean-ct ct-signal_handling \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1 \
+ SECONDARY_UMBRELLA=$PWD/$umbrella \
+ RABBITMQ_FEATURE_FLAGS=
+ done
+ - name: ON FAILURE ARCHIVE TESTS LOGS
+ if: failure()
+ run: |
+ make ct-logs-archive
+ - name: ON FAILURE UPLOAD TESTS LOGS ARTIFACT
+ # https://github.com/marketplace/actions/upload-artifact
+ uses: actions/upload-artifact@v2-preview
+ if: failure()
+ with:
+ name: ct-signal_handling-logs
+ path: "*-ct-logs-*.tar.xz"
+ # vim:sw=2:et:
+ ct-simple_ha:
+ needs: [checks]
+ # https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#contexts
+ name: ct-simple_ha
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ # https://github.com/marketplace/actions/setup-elixir
+ - name: CONFIGURE OTP & ELIXIR
+ uses: actions/setup-elixir@v1
+ with:
+ otp-version: 22.3
+ # https://github.com/elixir-lang/elixir/releases
+ elixir-version: 1.8.0
+ - name: CACHE DEPS
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-22.3_git-${{ github.sha }}_deps
+ - name: RUN TESTS
+ run: |
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ ! test -d ebin || touch ebin/*
+ make ct-simple_ha \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1
+ - name: CACHE SECONDARY UMBRELLAS
+ if: success() && 'latest' == 'oldest'
+ uses: actions/cache@v1
+ with:
+ path: umbrellas
+ key: secondary-umbrellas-v3.7.0-erlang-22.3-rev3
+ - name: VERIFY SECONDARY UMBRELLA COPIES (in case of cache restore failure)
+ if: success() && 'latest' == 'oldest'
+ run: |
+ set -x
+ for version in v3.7.0; do
+ umbrella="umbrellas/$version"
+ if ! test -d "$umbrella" ||
+ ! make -C "$umbrella/deps/rabbit" test-dist; then
+ rm -rf "$umbrella"
+
+ # Fetch the master Umbrella; the final umbrellas are created from
+ # the master copy.
+ if ! test -d umbrellas/master; then
+ git config --global advice.detachedHead false
+ git clone \
+ https://github.com/rabbitmq/rabbitmq-public-umbrella.git \
+ umbrellas/master
+ make -C umbrellas/master co # To get RabbitMQ components.
+ fi
+
+ # We copy the master Umbrella and checkout the appropriate tag.
+ cp -a umbrellas/master "$umbrella"
+ git -C "$umbrella" checkout "v3.7.x"
+ make -C "$umbrella" up BRANCH="$version"
+ # To remove third-party deps which were checked out when the
+ # projects were on the `master` branch. Thus, possibly not the
+ # version pinning we expect. We update the Umbrella one last time
+ # to fetch the correct third-party deps.
+ make -C "$umbrella" clean-3rd-party-repos
+ make -C "$umbrella" up
+ make -C "$umbrella/deps/rabbit" test-dist
+ rm -fr "$umbrella"/deps/*/{.git,test} "$umbrella"/.git
+ fi
+ done
+ rm -fr umbrellas/master
+ - name: RUN TESTS [mixed-versions]
+ if: success() && 'latest' == 'oldest'
+ run: |
+ set -x
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ for umbrella in umbrellas/*; do
+ test -d "$umbrella"
+ printf '\n\033[1;32mMixing clusters with RabbitMQ %s\033[0m' \
+ $(basename "$umbrella")
+ make distclean-ct ct-simple_ha \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1 \
+ SECONDARY_UMBRELLA=$PWD/$umbrella \
+ RABBITMQ_FEATURE_FLAGS=
+ done
+ - name: ON FAILURE ARCHIVE TESTS LOGS
+ if: failure()
+ run: |
+ make ct-logs-archive
+ - name: ON FAILURE UPLOAD TESTS LOGS ARTIFACT
+ # https://github.com/marketplace/actions/upload-artifact
+ uses: actions/upload-artifact@v2-preview
+ if: failure()
+ with:
+ name: ct-simple_ha-logs
+ path: "*-ct-logs-*.tar.xz"
+ # vim:sw=2:et:
+ ct-sup_delayed_restart:
+ needs: [checks]
+ # https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#contexts
+ name: ct-sup_delayed_restart
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ # https://github.com/marketplace/actions/setup-elixir
+ - name: CONFIGURE OTP & ELIXIR
+ uses: actions/setup-elixir@v1
+ with:
+ otp-version: 22.3
+ # https://github.com/elixir-lang/elixir/releases
+ elixir-version: 1.8.0
+ - name: CACHE DEPS
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-22.3_git-${{ github.sha }}_deps
+ - name: RUN TESTS
+ run: |
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ ! test -d ebin || touch ebin/*
+ make ct-sup_delayed_restart \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1
+ - name: CACHE SECONDARY UMBRELLAS
+ if: success() && 'latest' == 'oldest'
+ uses: actions/cache@v1
+ with:
+ path: umbrellas
+ key: secondary-umbrellas-v3.7.0-erlang-22.3-rev3
+ - name: VERIFY SECONDARY UMBRELLA COPIES (in case of cache restore failure)
+ if: success() && 'latest' == 'oldest'
+ run: |
+ set -x
+ for version in v3.7.0; do
+ umbrella="umbrellas/$version"
+ if ! test -d "$umbrella" ||
+ ! make -C "$umbrella/deps/rabbit" test-dist; then
+ rm -rf "$umbrella"
+
+ # Fetch the master Umbrella; the final umbrellas are created from
+ # the master copy.
+ if ! test -d umbrellas/master; then
+ git config --global advice.detachedHead false
+ git clone \
+ https://github.com/rabbitmq/rabbitmq-public-umbrella.git \
+ umbrellas/master
+ make -C umbrellas/master co # To get RabbitMQ components.
+ fi
+
+ # We copy the master Umbrella and checkout the appropriate tag.
+ cp -a umbrellas/master "$umbrella"
+ git -C "$umbrella" checkout "v3.7.x"
+ make -C "$umbrella" up BRANCH="$version"
+ # To remove third-party deps which were checked out when the
+ # projects were on the `master` branch. Thus, possibly not the
+ # version pinning we expect. We update the Umbrella one last time
+ # to fetch the correct third-party deps.
+ make -C "$umbrella" clean-3rd-party-repos
+ make -C "$umbrella" up
+ make -C "$umbrella/deps/rabbit" test-dist
+ rm -fr "$umbrella"/deps/*/{.git,test} "$umbrella"/.git
+ fi
+ done
+ rm -fr umbrellas/master
+ - name: RUN TESTS [mixed-versions]
+ if: success() && 'latest' == 'oldest'
+ run: |
+ set -x
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ for umbrella in umbrellas/*; do
+ test -d "$umbrella"
+ printf '\n\033[1;32mMixing clusters with RabbitMQ %s\033[0m' \
+ $(basename "$umbrella")
+ make distclean-ct ct-sup_delayed_restart \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1 \
+ SECONDARY_UMBRELLA=$PWD/$umbrella \
+ RABBITMQ_FEATURE_FLAGS=
+ done
+ - name: ON FAILURE ARCHIVE TESTS LOGS
+ if: failure()
+ run: |
+ make ct-logs-archive
+ - name: ON FAILURE UPLOAD TESTS LOGS ARTIFACT
+ # https://github.com/marketplace/actions/upload-artifact
+ uses: actions/upload-artifact@v2-preview
+ if: failure()
+ with:
+ name: ct-sup_delayed_restart-logs
+ path: "*-ct-logs-*.tar.xz"
+ # vim:sw=2:et:
+ ct-sync_detection:
+ needs: [checks]
+ # https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#contexts
+ name: ct-sync_detection
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ # https://github.com/marketplace/actions/setup-elixir
+ - name: CONFIGURE OTP & ELIXIR
+ uses: actions/setup-elixir@v1
+ with:
+ otp-version: 22.3
+ # https://github.com/elixir-lang/elixir/releases
+ elixir-version: 1.8.0
+ - name: CACHE DEPS
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-22.3_git-${{ github.sha }}_deps
+ - name: RUN TESTS
+ run: |
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ ! test -d ebin || touch ebin/*
+ make ct-sync_detection \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1
+ - name: CACHE SECONDARY UMBRELLAS
+ if: success() && 'latest' == 'oldest'
+ uses: actions/cache@v1
+ with:
+ path: umbrellas
+ key: secondary-umbrellas-v3.7.0-erlang-22.3-rev3
+ - name: VERIFY SECONDARY UMBRELLA COPIES (in case of cache restore failure)
+ if: success() && 'latest' == 'oldest'
+ run: |
+ set -x
+ for version in v3.7.0; do
+ umbrella="umbrellas/$version"
+ if ! test -d "$umbrella" ||
+ ! make -C "$umbrella/deps/rabbit" test-dist; then
+ rm -rf "$umbrella"
+
+ # Fetch the master Umbrella; the final umbrellas are created from
+ # the master copy.
+ if ! test -d umbrellas/master; then
+ git config --global advice.detachedHead false
+ git clone \
+ https://github.com/rabbitmq/rabbitmq-public-umbrella.git \
+ umbrellas/master
+ make -C umbrellas/master co # To get RabbitMQ components.
+ fi
+
+ # We copy the master Umbrella and checkout the appropriate tag.
+ cp -a umbrellas/master "$umbrella"
+ git -C "$umbrella" checkout "v3.7.x"
+ make -C "$umbrella" up BRANCH="$version"
+ # To remove third-party deps which were checked out when the
+ # projects were on the `master` branch. Thus, possibly not the
+ # version pinning we expect. We update the Umbrella one last time
+ # to fetch the correct third-party deps.
+ make -C "$umbrella" clean-3rd-party-repos
+ make -C "$umbrella" up
+ make -C "$umbrella/deps/rabbit" test-dist
+ rm -fr "$umbrella"/deps/*/{.git,test} "$umbrella"/.git
+ fi
+ done
+ rm -fr umbrellas/master
+ - name: RUN TESTS [mixed-versions]
+ if: success() && 'latest' == 'oldest'
+ run: |
+ set -x
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ for umbrella in umbrellas/*; do
+ test -d "$umbrella"
+ printf '\n\033[1;32mMixing clusters with RabbitMQ %s\033[0m' \
+ $(basename "$umbrella")
+ make distclean-ct ct-sync_detection \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1 \
+ SECONDARY_UMBRELLA=$PWD/$umbrella \
+ RABBITMQ_FEATURE_FLAGS=
+ done
+ - name: ON FAILURE ARCHIVE TESTS LOGS
+ if: failure()
+ run: |
+ make ct-logs-archive
+ - name: ON FAILURE UPLOAD TESTS LOGS ARTIFACT
+ # https://github.com/marketplace/actions/upload-artifact
+ uses: actions/upload-artifact@v2-preview
+ if: failure()
+ with:
+ name: ct-sync_detection-logs
+ path: "*-ct-logs-*.tar.xz"
+ # vim:sw=2:et:
+ ct-term_to_binary_compat_prop:
+ needs: [checks]
+ # https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#contexts
+ name: ct-term_to_binary_compat_prop
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ # https://github.com/marketplace/actions/setup-elixir
+ - name: CONFIGURE OTP & ELIXIR
+ uses: actions/setup-elixir@v1
+ with:
+ otp-version: 22.3
+ # https://github.com/elixir-lang/elixir/releases
+ elixir-version: 1.8.0
+ - name: CACHE DEPS
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-22.3_git-${{ github.sha }}_deps
+ - name: RUN TESTS
+ run: |
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ ! test -d ebin || touch ebin/*
+ make ct-term_to_binary_compat_prop \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1
+ - name: CACHE SECONDARY UMBRELLAS
+ if: success() && 'latest' == 'oldest'
+ uses: actions/cache@v1
+ with:
+ path: umbrellas
+ key: secondary-umbrellas-v3.7.0-erlang-22.3-rev3
+ - name: VERIFY SECONDARY UMBRELLA COPIES (in case of cache restore failure)
+ if: success() && 'latest' == 'oldest'
+ run: |
+ set -x
+ for version in v3.7.0; do
+ umbrella="umbrellas/$version"
+ if ! test -d "$umbrella" ||
+ ! make -C "$umbrella/deps/rabbit" test-dist; then
+ rm -rf "$umbrella"
+
+ # Fetch the master Umbrella; the final umbrellas are created from
+ # the master copy.
+ if ! test -d umbrellas/master; then
+ git config --global advice.detachedHead false
+ git clone \
+ https://github.com/rabbitmq/rabbitmq-public-umbrella.git \
+ umbrellas/master
+ make -C umbrellas/master co # To get RabbitMQ components.
+ fi
+
+ # We copy the master Umbrella and checkout the appropriate tag.
+ cp -a umbrellas/master "$umbrella"
+ git -C "$umbrella" checkout "v3.7.x"
+ make -C "$umbrella" up BRANCH="$version"
+ # To remove third-party deps which were checked out when the
+ # projects were on the `master` branch. Thus, possibly not the
+ # version pinning we expect. We update the Umbrella one last time
+ # to fetch the correct third-party deps.
+ make -C "$umbrella" clean-3rd-party-repos
+ make -C "$umbrella" up
+ make -C "$umbrella/deps/rabbit" test-dist
+ rm -fr "$umbrella"/deps/*/{.git,test} "$umbrella"/.git
+ fi
+ done
+ rm -fr umbrellas/master
+ - name: RUN TESTS [mixed-versions]
+ if: success() && 'latest' == 'oldest'
+ run: |
+ set -x
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ for umbrella in umbrellas/*; do
+ test -d "$umbrella"
+ printf '\n\033[1;32mMixing clusters with RabbitMQ %s\033[0m' \
+ $(basename "$umbrella")
+ make distclean-ct ct-term_to_binary_compat_prop \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1 \
+ SECONDARY_UMBRELLA=$PWD/$umbrella \
+ RABBITMQ_FEATURE_FLAGS=
+ done
+ - name: ON FAILURE ARCHIVE TESTS LOGS
+ if: failure()
+ run: |
+ make ct-logs-archive
+ - name: ON FAILURE UPLOAD TESTS LOGS ARTIFACT
+ # https://github.com/marketplace/actions/upload-artifact
+ uses: actions/upload-artifact@v2-preview
+ if: failure()
+ with:
+ name: ct-term_to_binary_compat_prop-logs
+ path: "*-ct-logs-*.tar.xz"
+ # vim:sw=2:et:
+ ct-topic_permission:
+ needs: [checks]
+ # https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#contexts
+ name: ct-topic_permission
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ # https://github.com/marketplace/actions/setup-elixir
+ - name: CONFIGURE OTP & ELIXIR
+ uses: actions/setup-elixir@v1
+ with:
+ otp-version: 22.3
+ # https://github.com/elixir-lang/elixir/releases
+ elixir-version: 1.8.0
+ - name: CACHE DEPS
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-22.3_git-${{ github.sha }}_deps
+ - name: RUN TESTS
+ run: |
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ ! test -d ebin || touch ebin/*
+ make ct-topic_permission \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1
+ - name: CACHE SECONDARY UMBRELLAS
+ if: success() && 'latest' == 'oldest'
+ uses: actions/cache@v1
+ with:
+ path: umbrellas
+ key: secondary-umbrellas-v3.7.0-erlang-22.3-rev3
+ - name: VERIFY SECONDARY UMBRELLA COPIES (in case of cache restore failure)
+ if: success() && 'latest' == 'oldest'
+ run: |
+ set -x
+ for version in v3.7.0; do
+ umbrella="umbrellas/$version"
+ if ! test -d "$umbrella" ||
+ ! make -C "$umbrella/deps/rabbit" test-dist; then
+ rm -rf "$umbrella"
+
+ # Fetch the master Umbrella; the final umbrellas are created from
+ # the master copy.
+ if ! test -d umbrellas/master; then
+ git config --global advice.detachedHead false
+ git clone \
+ https://github.com/rabbitmq/rabbitmq-public-umbrella.git \
+ umbrellas/master
+ make -C umbrellas/master co # To get RabbitMQ components.
+ fi
+
+ # We copy the master Umbrella and checkout the appropriate tag.
+ cp -a umbrellas/master "$umbrella"
+ git -C "$umbrella" checkout "v3.7.x"
+ make -C "$umbrella" up BRANCH="$version"
+ # To remove third-party deps which were checked out when the
+ # projects were on the `master` branch. Thus, possibly not the
+ # version pinning we expect. We update the Umbrella one last time
+ # to fetch the correct third-party deps.
+ make -C "$umbrella" clean-3rd-party-repos
+ make -C "$umbrella" up
+ make -C "$umbrella/deps/rabbit" test-dist
+ rm -fr "$umbrella"/deps/*/{.git,test} "$umbrella"/.git
+ fi
+ done
+ rm -fr umbrellas/master
+ - name: RUN TESTS [mixed-versions]
+ if: success() && 'latest' == 'oldest'
+ run: |
+ set -x
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ for umbrella in umbrellas/*; do
+ test -d "$umbrella"
+ printf '\n\033[1;32mMixing clusters with RabbitMQ %s\033[0m' \
+ $(basename "$umbrella")
+ make distclean-ct ct-topic_permission \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1 \
+ SECONDARY_UMBRELLA=$PWD/$umbrella \
+ RABBITMQ_FEATURE_FLAGS=
+ done
+ - name: ON FAILURE ARCHIVE TESTS LOGS
+ if: failure()
+ run: |
+ make ct-logs-archive
+ - name: ON FAILURE UPLOAD TESTS LOGS ARTIFACT
+ # https://github.com/marketplace/actions/upload-artifact
+ uses: actions/upload-artifact@v2-preview
+ if: failure()
+ with:
+ name: ct-topic_permission-logs
+ path: "*-ct-logs-*.tar.xz"
+ # vim:sw=2:et:
+ ct-unit:
+ needs: [checks]
+ # https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#contexts
+ name: ct-unit
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ # https://github.com/marketplace/actions/setup-elixir
+ - name: CONFIGURE OTP & ELIXIR
+ uses: actions/setup-elixir@v1
+ with:
+ otp-version: 22.3
+ # https://github.com/elixir-lang/elixir/releases
+ elixir-version: 1.8.0
+ - name: CACHE DEPS
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-22.3_git-${{ github.sha }}_deps
+ - name: RUN TESTS
+ run: |
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ ! test -d ebin || touch ebin/*
+ make ct-unit \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1
+ - name: CACHE SECONDARY UMBRELLAS
+ if: success() && 'latest' == 'oldest'
+ uses: actions/cache@v1
+ with:
+ path: umbrellas
+ key: secondary-umbrellas-v3.7.0-erlang-22.3-rev3
+ - name: VERIFY SECONDARY UMBRELLA COPIES (in case of cache restore failure)
+ if: success() && 'latest' == 'oldest'
+ run: |
+ set -x
+ for version in v3.7.0; do
+ umbrella="umbrellas/$version"
+ if ! test -d "$umbrella" ||
+ ! make -C "$umbrella/deps/rabbit" test-dist; then
+ rm -rf "$umbrella"
+
+ # Fetch the master Umbrella; the final umbrellas are created from
+ # the master copy.
+ if ! test -d umbrellas/master; then
+ git config --global advice.detachedHead false
+ git clone \
+ https://github.com/rabbitmq/rabbitmq-public-umbrella.git \
+ umbrellas/master
+ make -C umbrellas/master co # To get RabbitMQ components.
+ fi
+
+ # We copy the master Umbrella and checkout the appropriate tag.
+ cp -a umbrellas/master "$umbrella"
+ git -C "$umbrella" checkout "v3.7.x"
+ make -C "$umbrella" up BRANCH="$version"
+ # To remove third-party deps which were checked out when the
+ # projects were on the `master` branch. Thus, possibly not the
+ # version pinning we expect. We update the Umbrella one last time
+ # to fetch the correct third-party deps.
+ make -C "$umbrella" clean-3rd-party-repos
+ make -C "$umbrella" up
+ make -C "$umbrella/deps/rabbit" test-dist
+ rm -fr "$umbrella"/deps/*/{.git,test} "$umbrella"/.git
+ fi
+ done
+ rm -fr umbrellas/master
+ - name: RUN TESTS [mixed-versions]
+ if: success() && 'latest' == 'oldest'
+ run: |
+ set -x
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ for umbrella in umbrellas/*; do
+ test -d "$umbrella"
+ printf '\n\033[1;32mMixing clusters with RabbitMQ %s\033[0m' \
+ $(basename "$umbrella")
+ make distclean-ct ct-unit \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1 \
+ SECONDARY_UMBRELLA=$PWD/$umbrella \
+ RABBITMQ_FEATURE_FLAGS=
+ done
+ - name: ON FAILURE ARCHIVE TESTS LOGS
+ if: failure()
+ run: |
+ make ct-logs-archive
+ - name: ON FAILURE UPLOAD TESTS LOGS ARTIFACT
+ # https://github.com/marketplace/actions/upload-artifact
+ uses: actions/upload-artifact@v2-preview
+ if: failure()
+ with:
+ name: ct-unit-logs
+ path: "*-ct-logs-*.tar.xz"
+ # vim:sw=2:et:
+ ct-unit_inbroker_non_parallel:
+ needs: [checks]
+ # https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#contexts
+ name: ct-unit_inbroker_non_parallel
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ # https://github.com/marketplace/actions/setup-elixir
+ - name: CONFIGURE OTP & ELIXIR
+ uses: actions/setup-elixir@v1
+ with:
+ otp-version: 22.3
+ # https://github.com/elixir-lang/elixir/releases
+ elixir-version: 1.8.0
+ - name: CACHE DEPS
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-22.3_git-${{ github.sha }}_deps
+ - name: RUN TESTS
+ run: |
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ ! test -d ebin || touch ebin/*
+ make ct-unit_inbroker_non_parallel \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1
+ - name: CACHE SECONDARY UMBRELLAS
+ if: success() && 'latest' == 'oldest'
+ uses: actions/cache@v1
+ with:
+ path: umbrellas
+ key: secondary-umbrellas-v3.7.0-erlang-22.3-rev3
+ - name: VERIFY SECONDARY UMBRELLA COPIES (in case of cache restore failure)
+ if: success() && 'latest' == 'oldest'
+ run: |
+ set -x
+ for version in v3.7.0; do
+ umbrella="umbrellas/$version"
+ if ! test -d "$umbrella" ||
+ ! make -C "$umbrella/deps/rabbit" test-dist; then
+ rm -rf "$umbrella"
+
+ # Fetch the master Umbrella; the final umbrellas are created from
+ # the master copy.
+ if ! test -d umbrellas/master; then
+ git config --global advice.detachedHead false
+ git clone \
+ https://github.com/rabbitmq/rabbitmq-public-umbrella.git \
+ umbrellas/master
+ make -C umbrellas/master co # To get RabbitMQ components.
+ fi
+
+ # We copy the master Umbrella and checkout the appropriate tag.
+ cp -a umbrellas/master "$umbrella"
+ git -C "$umbrella" checkout "v3.7.x"
+ make -C "$umbrella" up BRANCH="$version"
+ # To remove third-party deps which were checked out when the
+ # projects were on the `master` branch. Thus, possibly not the
+ # version pinning we expect. We update the Umbrella one last time
+ # to fetch the correct third-party deps.
+ make -C "$umbrella" clean-3rd-party-repos
+ make -C "$umbrella" up
+ make -C "$umbrella/deps/rabbit" test-dist
+ rm -fr "$umbrella"/deps/*/{.git,test} "$umbrella"/.git
+ fi
+ done
+ rm -fr umbrellas/master
+ - name: RUN TESTS [mixed-versions]
+ if: success() && 'latest' == 'oldest'
+ run: |
+ set -x
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ for umbrella in umbrellas/*; do
+ test -d "$umbrella"
+ printf '\n\033[1;32mMixing clusters with RabbitMQ %s\033[0m' \
+ $(basename "$umbrella")
+ make distclean-ct ct-unit_inbroker_non_parallel \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1 \
+ SECONDARY_UMBRELLA=$PWD/$umbrella \
+ RABBITMQ_FEATURE_FLAGS=
+ done
+ - name: ON FAILURE ARCHIVE TESTS LOGS
+ if: failure()
+ run: |
+ make ct-logs-archive
+ - name: ON FAILURE UPLOAD TESTS LOGS ARTIFACT
+ # https://github.com/marketplace/actions/upload-artifact
+ uses: actions/upload-artifact@v2-preview
+ if: failure()
+ with:
+ name: ct-unit_inbroker_non_parallel-logs
+ path: "*-ct-logs-*.tar.xz"
+ # vim:sw=2:et:
+ ct-unit_inbroker_parallel:
+ needs: [checks]
+ # https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#contexts
+ name: ct-unit_inbroker_parallel
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ # https://github.com/marketplace/actions/setup-elixir
+ - name: CONFIGURE OTP & ELIXIR
+ uses: actions/setup-elixir@v1
+ with:
+ otp-version: 22.3
+ # https://github.com/elixir-lang/elixir/releases
+ elixir-version: 1.8.0
+ - name: CACHE DEPS
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-22.3_git-${{ github.sha }}_deps
+ - name: RUN TESTS
+ run: |
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ ! test -d ebin || touch ebin/*
+ make ct-unit_inbroker_parallel \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1
+ - name: CACHE SECONDARY UMBRELLAS
+ if: success() && 'latest' == 'oldest'
+ uses: actions/cache@v1
+ with:
+ path: umbrellas
+ key: secondary-umbrellas-v3.7.0-erlang-22.3-rev3
+ - name: VERIFY SECONDARY UMBRELLA COPIES (in case of cache restore failure)
+ if: success() && 'latest' == 'oldest'
+ run: |
+ set -x
+ for version in v3.7.0; do
+ umbrella="umbrellas/$version"
+ if ! test -d "$umbrella" ||
+ ! make -C "$umbrella/deps/rabbit" test-dist; then
+ rm -rf "$umbrella"
+
+ # Fetch the master Umbrella; the final umbrellas are created from
+ # the master copy.
+ if ! test -d umbrellas/master; then
+ git config --global advice.detachedHead false
+ git clone \
+ https://github.com/rabbitmq/rabbitmq-public-umbrella.git \
+ umbrellas/master
+ make -C umbrellas/master co # To get RabbitMQ components.
+ fi
+
+ # We copy the master Umbrella and checkout the appropriate tag.
+ cp -a umbrellas/master "$umbrella"
+ git -C "$umbrella" checkout "v3.7.x"
+ make -C "$umbrella" up BRANCH="$version"
+ # To remove third-party deps which were checked out when the
+ # projects were on the `master` branch. Thus, possibly not the
+ # version pinning we expect. We update the Umbrella one last time
+ # to fetch the correct third-party deps.
+ make -C "$umbrella" clean-3rd-party-repos
+ make -C "$umbrella" up
+ make -C "$umbrella/deps/rabbit" test-dist
+ rm -fr "$umbrella"/deps/*/{.git,test} "$umbrella"/.git
+ fi
+ done
+ rm -fr umbrellas/master
+ - name: RUN TESTS [mixed-versions]
+ if: success() && 'latest' == 'oldest'
+ run: |
+ set -x
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ for umbrella in umbrellas/*; do
+ test -d "$umbrella"
+ printf '\n\033[1;32mMixing clusters with RabbitMQ %s\033[0m' \
+ $(basename "$umbrella")
+ make distclean-ct ct-unit_inbroker_parallel \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1 \
+ SECONDARY_UMBRELLA=$PWD/$umbrella \
+ RABBITMQ_FEATURE_FLAGS=
+ done
+ - name: ON FAILURE ARCHIVE TESTS LOGS
+ if: failure()
+ run: |
+ make ct-logs-archive
+ - name: ON FAILURE UPLOAD TESTS LOGS ARTIFACT
+ # https://github.com/marketplace/actions/upload-artifact
+ uses: actions/upload-artifact@v2-preview
+ if: failure()
+ with:
+ name: ct-unit_inbroker_parallel-logs
+ path: "*-ct-logs-*.tar.xz"
+ # vim:sw=2:et:
+ ct-unit_log_config:
+ needs: [checks]
+ # https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#contexts
+ name: ct-unit_log_config
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ # https://github.com/marketplace/actions/setup-elixir
+ - name: CONFIGURE OTP & ELIXIR
+ uses: actions/setup-elixir@v1
+ with:
+ otp-version: 22.3
+ # https://github.com/elixir-lang/elixir/releases
+ elixir-version: 1.8.0
+ - name: CACHE DEPS
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-22.3_git-${{ github.sha }}_deps
+ - name: RUN TESTS
+ run: |
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ ! test -d ebin || touch ebin/*
+ make ct-unit_log_config \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1
+ - name: CACHE SECONDARY UMBRELLAS
+ if: success() && 'latest' == 'oldest'
+ uses: actions/cache@v1
+ with:
+ path: umbrellas
+ key: secondary-umbrellas-v3.7.0-erlang-22.3-rev3
+ - name: VERIFY SECONDARY UMBRELLA COPIES (in case of cache restore failure)
+ if: success() && 'latest' == 'oldest'
+ run: |
+ set -x
+ for version in v3.7.0; do
+ umbrella="umbrellas/$version"
+ if ! test -d "$umbrella" ||
+ ! make -C "$umbrella/deps/rabbit" test-dist; then
+ rm -rf "$umbrella"
+
+ # Fetch the master Umbrella; the final umbrellas are created from
+ # the master copy.
+ if ! test -d umbrellas/master; then
+ git config --global advice.detachedHead false
+ git clone \
+ https://github.com/rabbitmq/rabbitmq-public-umbrella.git \
+ umbrellas/master
+ make -C umbrellas/master co # To get RabbitMQ components.
+ fi
+
+ # We copy the master Umbrella and checkout the appropriate tag.
+ cp -a umbrellas/master "$umbrella"
+ git -C "$umbrella" checkout "v3.7.x"
+ make -C "$umbrella" up BRANCH="$version"
+ # To remove third-party deps which were checked out when the
+ # projects were on the `master` branch. Thus, possibly not the
+ # version pinning we expect. We update the Umbrella one last time
+ # to fetch the correct third-party deps.
+ make -C "$umbrella" clean-3rd-party-repos
+ make -C "$umbrella" up
+ make -C "$umbrella/deps/rabbit" test-dist
+ rm -fr "$umbrella"/deps/*/{.git,test} "$umbrella"/.git
+ fi
+ done
+ rm -fr umbrellas/master
+ - name: RUN TESTS [mixed-versions]
+ if: success() && 'latest' == 'oldest'
+ run: |
+ set -x
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ for umbrella in umbrellas/*; do
+ test -d "$umbrella"
+ printf '\n\033[1;32mMixing clusters with RabbitMQ %s\033[0m' \
+ $(basename "$umbrella")
+ make distclean-ct ct-unit_log_config \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1 \
+ SECONDARY_UMBRELLA=$PWD/$umbrella \
+ RABBITMQ_FEATURE_FLAGS=
+ done
+ - name: ON FAILURE ARCHIVE TESTS LOGS
+ if: failure()
+ run: |
+ make ct-logs-archive
+ - name: ON FAILURE UPLOAD TESTS LOGS ARTIFACT
+ # https://github.com/marketplace/actions/upload-artifact
+ uses: actions/upload-artifact@v2-preview
+ if: failure()
+ with:
+ name: ct-unit_log_config-logs
+ path: "*-ct-logs-*.tar.xz"
+ # vim:sw=2:et:
+ ct-vhost:
+ needs: [checks]
+ # https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#contexts
+ name: ct-vhost
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ # https://github.com/marketplace/actions/setup-elixir
+ - name: CONFIGURE OTP & ELIXIR
+ uses: actions/setup-elixir@v1
+ with:
+ otp-version: 22.3
+ # https://github.com/elixir-lang/elixir/releases
+ elixir-version: 1.8.0
+ - name: CACHE DEPS
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-22.3_git-${{ github.sha }}_deps
+ - name: RUN TESTS
+ run: |
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ ! test -d ebin || touch ebin/*
+ make ct-vhost \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1
+ - name: CACHE SECONDARY UMBRELLAS
+ if: success() && 'latest' == 'oldest'
+ uses: actions/cache@v1
+ with:
+ path: umbrellas
+ key: secondary-umbrellas-v3.7.0-erlang-22.3-rev3
+ - name: VERIFY SECONDARY UMBRELLA COPIES (in case of cache restore failure)
+ if: success() && 'latest' == 'oldest'
+ run: |
+ set -x
+ for version in v3.7.0; do
+ umbrella="umbrellas/$version"
+ if ! test -d "$umbrella" ||
+ ! make -C "$umbrella/deps/rabbit" test-dist; then
+ rm -rf "$umbrella"
+
+ # Fetch the master Umbrella; the final umbrellas are created from
+ # the master copy.
+ if ! test -d umbrellas/master; then
+ git config --global advice.detachedHead false
+ git clone \
+ https://github.com/rabbitmq/rabbitmq-public-umbrella.git \
+ umbrellas/master
+ make -C umbrellas/master co # To get RabbitMQ components.
+ fi
+
+ # We copy the master Umbrella and checkout the appropriate tag.
+ cp -a umbrellas/master "$umbrella"
+ git -C "$umbrella" checkout "v3.7.x"
+ make -C "$umbrella" up BRANCH="$version"
+ # To remove third-party deps which were checked out when the
+ # projects were on the `master` branch. Thus, possibly not the
+ # version pinning we expect. We update the Umbrella one last time
+ # to fetch the correct third-party deps.
+ make -C "$umbrella" clean-3rd-party-repos
+ make -C "$umbrella" up
+ make -C "$umbrella/deps/rabbit" test-dist
+ rm -fr "$umbrella"/deps/*/{.git,test} "$umbrella"/.git
+ fi
+ done
+ rm -fr umbrellas/master
+ - name: RUN TESTS [mixed-versions]
+ if: success() && 'latest' == 'oldest'
+ run: |
+ set -x
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ for umbrella in umbrellas/*; do
+ test -d "$umbrella"
+ printf '\n\033[1;32mMixing clusters with RabbitMQ %s\033[0m' \
+ $(basename "$umbrella")
+ make distclean-ct ct-vhost \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1 \
+ SECONDARY_UMBRELLA=$PWD/$umbrella \
+ RABBITMQ_FEATURE_FLAGS=
+ done
+ - name: ON FAILURE ARCHIVE TESTS LOGS
+ if: failure()
+ run: |
+ make ct-logs-archive
+ - name: ON FAILURE UPLOAD TESTS LOGS ARTIFACT
+ # https://github.com/marketplace/actions/upload-artifact
+ uses: actions/upload-artifact@v2-preview
+ if: failure()
+ with:
+ name: ct-vhost-logs
+ path: "*-ct-logs-*.tar.xz"
+ # vim:sw=2:et:
+ ct-worker_pool:
+ needs: [checks]
+ # https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#contexts
+ name: ct-worker_pool
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ # https://github.com/marketplace/actions/setup-elixir
+ - name: CONFIGURE OTP & ELIXIR
+ uses: actions/setup-elixir@v1
+ with:
+ otp-version: 22.3
+ # https://github.com/elixir-lang/elixir/releases
+ elixir-version: 1.8.0
+ - name: CACHE DEPS
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-22.3_git-${{ github.sha }}_deps
+ - name: RUN TESTS
+ run: |
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ ! test -d ebin || touch ebin/*
+ make ct-worker_pool \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1
+ - name: CACHE SECONDARY UMBRELLAS
+ if: success() && 'latest' == 'oldest'
+ uses: actions/cache@v1
+ with:
+ path: umbrellas
+ key: secondary-umbrellas-v3.7.0-erlang-22.3-rev3
+ - name: VERIFY SECONDARY UMBRELLA COPIES (in case of cache restore failure)
+ if: success() && 'latest' == 'oldest'
+ run: |
+ set -x
+ for version in v3.7.0; do
+ umbrella="umbrellas/$version"
+ if ! test -d "$umbrella" ||
+ ! make -C "$umbrella/deps/rabbit" test-dist; then
+ rm -rf "$umbrella"
+
+ # Fetch the master Umbrella; the final umbrellas are created from
+ # the master copy.
+ if ! test -d umbrellas/master; then
+ git config --global advice.detachedHead false
+ git clone \
+ https://github.com/rabbitmq/rabbitmq-public-umbrella.git \
+ umbrellas/master
+ make -C umbrellas/master co # To get RabbitMQ components.
+ fi
+
+ # We copy the master Umbrella and checkout the appropriate tag.
+ cp -a umbrellas/master "$umbrella"
+ git -C "$umbrella" checkout "v3.7.x"
+ make -C "$umbrella" up BRANCH="$version"
+ # To remove third-party deps which were checked out when the
+ # projects were on the `master` branch. Thus, possibly not the
+ # version pinning we expect. We update the Umbrella one last time
+ # to fetch the correct third-party deps.
+ make -C "$umbrella" clean-3rd-party-repos
+ make -C "$umbrella" up
+ make -C "$umbrella/deps/rabbit" test-dist
+ rm -fr "$umbrella"/deps/*/{.git,test} "$umbrella"/.git
+ fi
+ done
+ rm -fr umbrellas/master
+ - name: RUN TESTS [mixed-versions]
+ if: success() && 'latest' == 'oldest'
+ run: |
+ set -x
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ for umbrella in umbrellas/*; do
+ test -d "$umbrella"
+ printf '\n\033[1;32mMixing clusters with RabbitMQ %s\033[0m' \
+ $(basename "$umbrella")
+ make distclean-ct ct-worker_pool \
+ base_rmq_ref=v3.7.x \
+ current_rmq_ref=$branch_or_tag_name \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1 \
+ SECONDARY_UMBRELLA=$PWD/$umbrella \
+ RABBITMQ_FEATURE_FLAGS=
+ done
+ - name: ON FAILURE ARCHIVE TESTS LOGS
+ if: failure()
+ run: |
+ make ct-logs-archive
+ - name: ON FAILURE UPLOAD TESTS LOGS ARTIFACT
+ # https://github.com/marketplace/actions/upload-artifact
+ uses: actions/upload-artifact@v2-preview
+ if: failure()
+ with:
+ name: ct-worker_pool-logs
+ path: "*-ct-logs-*.tar.xz"
+ # vim:sw=2:et:
+ capture-tested-deps-versions:
+ needs:
+ - dialyzer
+ - eunit
+ - ct-amqqueue_backward_compatibility
+ - ct-authn_authz_context_propagation
+ - ct-backing_queue
+ - ct-channel_interceptor
+ - ct-channel_operation_timeout
+ - ct-cluster
+ - ct-cluster_formation_locking
+ - ct-cluster_rename
+ - ct-clustering_management
+ - ct-config_schema
+ - ct-confirms_rejects
+ - ct-crashing_queues
+ - ct-credential_validation
+ - ct-disconnect_detected_during_alarm
+ - ct-dynamic_ha
+ - ct-eager_sync
+ - ct-feature_flags
+ - ct-gm
+ - ct-health_check
+ - ct-lazy_queue
+ - ct-list_consumers_sanity_check
+ - ct-list_queues_online_and_offline
+ - ct-many_node_ha
+ - ct-metrics
+ - ct-mirrored_supervisor
+ - ct-msg_store
+ - ct-peer_discovery_dns
+ - ct-per_user_connection_tracking
+ - ct-per_vhost_connection_limit
+ - ct-per_vhost_connection_limit_partitions
+ - ct-per_vhost_msg_store
+ - ct-per_vhost_queue_limit
+ - ct-plugin_versioning
+ - ct-policy
+ - ct-priority_queue
+ - ct-priority_queue_recovery
+ - ct-proxy_protocol
+ - ct-queue_master_location
+ - ct-rabbit_core_metrics_gc
+ - ct-rabbitmqctl_integration
+ - ct-rabbitmqctl_shutdown
+ - ct-signal_handling
+ - ct-simple_ha
+ - ct-sup_delayed_restart
+ - ct-sync_detection
+ - ct-term_to_binary_compat_prop
+ - ct-topic_permission
+ - ct-unit
+ - ct-unit_inbroker_non_parallel
+ - ct-unit_inbroker_parallel
+ - ct-unit_log_config
+ - ct-vhost
+ - ct-worker_pool
+ runs-on: ubuntu-18.04
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ - name: CACHE DEPS
+ uses: actions/cache@v1
+ with:
+ path: deps
+ key: otp-22.3_git-${{ github.sha }}_deps
+ - name: FORMAT GIT REF
+ # https://github.community/t5/GitHub-Actions/How-can-I-set-an-expression-as-an-environment-variable-at/m-p/41804/highlight/true#M4751
+ id: ref
+ run: |
+ branch_or_tag_name=${GITHUB_REF#refs/*/}
+ echo "::set-output name=branch_or_tag_name::$branch_or_tag_name"
+ - name: UPLOAD TO S3
+ if: github.ref == 'refs/heads/v3.7.x'
+ # https://github.com/marketplace/actions/s3-file-upload
+ uses: zdurham/s3-upload-github-action@master
+ env:
+ AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
+ AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
+ AWS_REGION: ${{ secrets.AWS_REGION }}
+ FILE: deps/rabbit-rabbitmq-deps.mk
+ S3_BUCKET: ${{ secrets.AWS_S3_BUCKET }}
+ S3_KEY: rabbitmq-server/${{ steps.ref.outputs.branch_or_tag_name }}/${{ github.run_id }}/otp-22.3/rabbit-rabbitmq-deps.mk