@@ -15,19 +15,50 @@ concurrency:
1515 group : ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
1616 cancel-in-progress : true
1717jobs :
18- build-and-xref :
19- name : Build and Xref
20- strategy :
21- fail-fast : false
22- matrix :
23- erlang_version :
24- - ' 26'
25- - ' 27'
26- elixir_version :
27- - ' 1.17'
28- # @todo Add macOS and Windows.
18+ # build-and-xref:
19+ # name: Build and Xref
20+ # strategy:
21+ # fail-fast: false
22+ # matrix:
23+ # erlang_version:
24+ # - '26'
25+ # - '27'
26+ # elixir_version:
27+ # - '1.17'
28+ # # @todo Add macOS and Windows.
29+ # runs-on: ubuntu-latest
30+ # timeout-minutes: 30
31+ # steps:
32+ # - name: CHECKOUT REPOSITORY
33+ # uses: actions/checkout@v4
34+ #
35+ # - name: FETCH TAGS
36+ # run: git fetch --tags
37+ #
38+ # - name: SETUP OTP & ELIXIR
39+ 40+ # with:
41+ # otp-version: ${{ matrix.erlang_version }}
42+ # elixir-version: ${{ matrix.elixir_version }}
43+ # hexpm-mirrors: |
44+ # https://builds.hex.pm
45+ # https://cdn.jsdelivr.net/hex
46+ #
47+ # - name: SANITY CHECK (rabbit)
48+ # run: make -C deps/rabbit parallel-ct-sanity-check
49+ #
50+ # - name: SANITY CHECK (rabbitmq_mqtt)
51+ # run: make -C deps/rabbitmq_mqtt parallel-ct-sanity-check
52+ #
53+ # - name: BUILD
54+ # run: make
55+ #
56+ # - name: XREF
57+ # run: make xref
58+
59+ mixed-test :
60+ name : Mixed version testing
2961 runs-on : ubuntu-latest
30- timeout-minutes : 30
3162 steps :
3263 - name : CHECKOUT REPOSITORY
3364 uses : actions/checkout@v4
@@ -38,53 +69,82 @@ jobs:
3869 - name : SETUP OTP & ELIXIR
39704071 with :
41- otp-version : ${{ matrix.erlang_version }}
42- elixir-version : ${{ matrix.elixir_version }}
72+ otp-version : ' 27 '
73+ elixir-version : ' 1.17 '
4374 hexpm-mirrors : |
4475 https://builds.hex.pm
4576 https://cdn.jsdelivr.net/hex
77+ # This currently only applies to Elixir; and can be safely
78+ # restricted to the build jobs to avoid duplication in output.
79+ disable_problem_matchers : true
4680
47- - name : SANITY CHECK (rabbit)
48- run : make -C deps/rabbit parallel-ct-sanity-check
81+ - name : Download release signing keys
82+ uses : dsaltares/fetch-gh-release-asset@master
83+ with :
84+ repo : rabbitmq/signing-keys
85+ file : rabbitmq-release-signing-key.asc
4986
50- - name : SANITY CHECK (rabbitmq_mqtt)
51- run : make -C deps/rabbitmq_mqtt parallel-ct-sanity-check
87+ - name : Import release signing keys
88+ run : gpg --import rabbitmq-release-signing-key.asc
5289
53- - name : BUILD
54- run : make
90+ - name : Download package generic unix
91+ uses : dsaltares/fetch-gh-release-asset@master
92+ with :
93+ regex : true
94+ file : " rabbitmq-server-generic-unix-[\\ d.]*\\ .tar.xz"
95+ target : ./
5596
56- - name : XREF
57- run : make xref
97+ - name : Verify package
98+ run : gpg --verify rabbitmq-server-generic-unix-*.asc rabbitmq-server-generic-unix-*.tar.xz
5899
59- test :
60- name : Test
61- strategy :
62- fail-fast : false
63- matrix :
64- erlang_version :
65- - ' 26'
66- # - '27'
67- elixir_version :
68- - ' 1.17'
69- metadata_store :
70- - mnesia
71- - khepri
72- uses : ./.github/workflows/test-make-tests.yaml
73- with :
74- erlang_version : ${{ matrix.erlang_version }}
75- elixir_version : ${{ matrix.elixir_version }}
76- metadata_store : ${{ matrix.metadata_store }}
100+ - name : Extract package generic unix
101+ run : tar xf rabbitmq-server-generic-unix-*.tar.xz
77102
78- type-check :
79- name : Type check
80- strategy :
81- fail-fast : false
82- matrix :
83- erlang_version : # Latest OTP
84- - ' 27'
85- elixir_version : # Latest Elixir
86- - ' 1.17'
87- uses : ./.github/workflows/test-make-type-check.yaml
88- with :
89- erlang_version : ${{ matrix.erlang_version }}
90- elixir_version : ${{ matrix.elixir_version }}
103+ - run : ls -la
104+
105+ - name : RUN TESTS
106+ run : |
107+ make -C deps/rabbit ct-cluster_upgrade RABBITMQ_RUN_SECONDARY=rabbitmq-server-4.0.2/
108+
109+ - name : UPLOAD TEST LOGS
110+ if : always()
111+ uses : actions/upload-artifact@v4
112+ with :
113+ name : CT logs mixed
114+ path : |
115+ logs/
116+ # !logs/**/log_private
117+ if-no-files-found : ignore
118+
119+ # test:
120+ # name: Test
121+ # strategy:
122+ # fail-fast: false
123+ # matrix:
124+ # erlang_version:
125+ # - '26'
126+ # # - '27'
127+ # elixir_version:
128+ # - '1.17'
129+ # metadata_store:
130+ # - mnesia
131+ # - khepri
132+ # uses: ./.github/workflows/test-make-tests.yaml
133+ # with:
134+ # erlang_version: ${{ matrix.erlang_version }}
135+ # elixir_version: ${{ matrix.elixir_version }}
136+ # metadata_store: ${{ matrix.metadata_store }}
137+ #
138+ # type-check:
139+ # name: Type check
140+ # strategy:
141+ # fail-fast: false
142+ # matrix:
143+ # erlang_version: # Latest OTP
144+ # - '27'
145+ # elixir_version: # Latest Elixir
146+ # - '1.17'
147+ # uses: ./.github/workflows/test-make-type-check.yaml
148+ # with:
149+ # erlang_version: ${{ matrix.erlang_version }}
150+ # elixir_version: ${{ matrix.elixir_version }}
0 commit comments