Skip to content

Commit

Permalink
WIP
Browse files Browse the repository at this point in the history
  • Loading branch information
lhoguin committed Oct 21, 2024
1 parent c800f42 commit fa8159e
Showing 1 changed file with 113 additions and 53 deletions.
166 changes: 113 additions & 53 deletions .github/workflows/test-make.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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-*/
- 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 }}

0 comments on commit fa8159e

Please sign in to comment.