diff --git a/.github/workflows/test-make.yaml b/.github/workflows/test-make.yaml index 66d940f0081..66169792dc4 100644 --- a/.github/workflows/test-make.yaml +++ b/.github/workflows/test-make.yaml @@ -15,19 +15,50 @@ concurrency: group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} cancel-in-progress: true jobs: - build-and-xref: - name: Build and Xref - strategy: - fail-fast: false - matrix: - erlang_version: - - '26' - - '27' - elixir_version: - - '1.17' - # @todo Add macOS and Windows. +# build-and-xref: +# name: Build and Xref +# strategy: +# fail-fast: false +# matrix: +# erlang_version: +# - '26' +# - '27' +# elixir_version: +# - '1.17' +# # @todo Add macOS and Windows. +# runs-on: ubuntu-latest +# timeout-minutes: 30 +# steps: +# - name: CHECKOUT REPOSITORY +# uses: actions/checkout@v4 +# +# - name: FETCH TAGS +# run: git fetch --tags +# +# - name: SETUP OTP & ELIXIR +# uses: erlef/setup-beam@v1.17 +# with: +# otp-version: ${{ matrix.erlang_version }} +# elixir-version: ${{ matrix.elixir_version }} +# hexpm-mirrors: | +# https://builds.hex.pm +# https://cdn.jsdelivr.net/hex +# +# - name: SANITY CHECK (rabbit) +# run: make -C deps/rabbit parallel-ct-sanity-check +# +# - name: SANITY CHECK (rabbitmq_mqtt) +# run: make -C deps/rabbitmq_mqtt parallel-ct-sanity-check +# +# - name: BUILD +# run: make +# +# - name: XREF +# run: make xref + + mixed-test: + name: Mixed version testing runs-on: ubuntu-latest - timeout-minutes: 30 steps: - name: CHECKOUT REPOSITORY uses: actions/checkout@v4 @@ -38,53 +69,82 @@ jobs: - name: SETUP OTP & ELIXIR uses: erlef/setup-beam@v1.17 with: - otp-version: ${{ matrix.erlang_version }} - elixir-version: ${{ matrix.elixir_version }} + otp-version: '27' + elixir-version: '1.17' hexpm-mirrors: | https://builds.hex.pm https://cdn.jsdelivr.net/hex + # This currently only applies to Elixir; and can be safely + # restricted to the build jobs to avoid duplication in output. + disable_problem_matchers: true - - name: SANITY CHECK (rabbit) - run: make -C deps/rabbit parallel-ct-sanity-check + - name: Download release signing keys + uses: dsaltares/fetch-gh-release-asset@master + with: + repo: rabbitmq/signing-keys + file: rabbitmq-release-signing-key.asc - - name: SANITY CHECK (rabbitmq_mqtt) - run: make -C deps/rabbitmq_mqtt parallel-ct-sanity-check + - name: Import release signing keys + run: gpg --import rabbitmq-release-signing-key.asc - - name: BUILD - run: make + - name: Download package generic unix + uses: dsaltares/fetch-gh-release-asset@master + with: + regex: true + file: "rabbitmq-server-generic-unix-[\\d.]*\\.tar.xz" + target: ./ - - name: XREF - run: make xref + - name: Verify package + run: gpg --verify rabbitmq-server-generic-unix-*.asc rabbitmq-server-generic-unix-*.tar.xz - test: - name: Test - strategy: - fail-fast: false - matrix: - erlang_version: - - '26' -# - '27' - elixir_version: - - '1.17' - metadata_store: - - mnesia - - khepri - uses: ./.github/workflows/test-make-tests.yaml - with: - erlang_version: ${{ matrix.erlang_version }} - elixir_version: ${{ matrix.elixir_version }} - metadata_store: ${{ matrix.metadata_store }} + - name: Extract package generic unix + run: tar xf rabbitmq-server-generic-unix-*.tar.xz - type-check: - name: Type check - strategy: - fail-fast: false - matrix: - erlang_version: # Latest OTP - - '27' - elixir_version: # Latest Elixir - - '1.17' - uses: ./.github/workflows/test-make-type-check.yaml - with: - erlang_version: ${{ matrix.erlang_version }} - elixir_version: ${{ matrix.elixir_version }} + - run: ls -la + + - name: RUN TESTS + run: | + make -C deps/rabbit ct-cluster_upgrade RABBITMQ_RUN_SECONDARY=rabbitmq-server-4.0.2/ + + - name: UPLOAD TEST LOGS + if: always() + uses: actions/upload-artifact@v4 + with: + name: CT logs mixed + path: | + logs/ +# !logs/**/log_private + if-no-files-found: ignore + +# test: +# name: Test +# strategy: +# fail-fast: false +# matrix: +# erlang_version: +# - '26' +## - '27' +# elixir_version: +# - '1.17' +# metadata_store: +# - mnesia +# - khepri +# uses: ./.github/workflows/test-make-tests.yaml +# with: +# erlang_version: ${{ matrix.erlang_version }} +# elixir_version: ${{ matrix.elixir_version }} +# metadata_store: ${{ matrix.metadata_store }} +# +# type-check: +# name: Type check +# strategy: +# fail-fast: false +# matrix: +# erlang_version: # Latest OTP +# - '27' +# elixir_version: # Latest Elixir +# - '1.17' +# uses: ./.github/workflows/test-make-type-check.yaml +# with: +# erlang_version: ${{ matrix.erlang_version }} +# elixir_version: ${{ matrix.elixir_version }}