Skip to content

Commit ec3ce28

Browse files
committed
[skip ci] WIP: scheduled mixed version tests
1 parent 4390bb6 commit ec3ce28

File tree

3 files changed

+109
-1
lines changed

3 files changed

+109
-1
lines changed

.github/workflows/test-make-target.yaml

Lines changed: 44 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,14 @@ on:
1515
required: false
1616
default: false
1717
type: boolean
18+
previous_version:
19+
required: false
20+
default: 'tags/v4.0.9'
21+
type: string
22+
previous_otp_version:
23+
required: false
24+
default: '26'
25+
type: string
1826
make_target:
1927
required: true
2028
type: string
@@ -50,6 +58,41 @@ jobs:
5058
# restricted to the build jobs to avoid duplication in output.
5159
disable_problem_matchers: true
5260

61+
- name: MIXED CLUSTERS - RESTORE OLDER ERLANG FROM CACHE
62+
uses: actions/cache/restore@v4
63+
if: inputs.mixed_clusters
64+
id: cache-older-erlang-restore
65+
with:
66+
path: ~/.cache/erlang-${{ inputs.previous_otp_version }}
67+
key: erlang-${{ inputs.previous_otp_version }}-${{ runner.os }}
68+
69+
- name: MIXED CLUSTERS - SETUP OLDER ERLANG VERSION
70+
uses: erlef/[email protected]
71+
if: inputs.mixed_clusters && steps.cache-older-erlang-restore.outputs.cache-hit != 'true'
72+
with:
73+
otp-version: ${{ inputs.previous_otp_version }}
74+
#elixir-version: ${{ inputs.elixir_version }}
75+
76+
- name: MIXED CLUSTERS - MOVE AND CACHE OLDER ERLANG
77+
if: inputs.mixed_clusters && steps.cache-older-erlang-restore.outputs.cache-hit != 'true'
78+
run: |
79+
# Find the installed Erlang/OTP directory
80+
ERLANG_ROOT=$(erl -eval 'io:format("~s~n", [code:root_dir()]), halt().' -noshell)
81+
echo "Found Erlang at: $ERLANG_ROOT"
82+
83+
# Create cache directory and copy Erlang installation
84+
mkdir -p ~/.cache/erlang-${{ inputs.previous_otp_version }}
85+
mv "$ERLANG_ROOT" ~/.cache/erlang-${{ inputs.previous_otp_version }}
86+
87+
echo "Cached Erlang ${{ inputs.previous_otp_version }} to ~/.cache/erlang-${{ inputs.previous_otp_version }}"
88+
89+
- name: MIXED CLUSTERS - CACHE OLDER ERLANG VERSION
90+
uses: actions/cache/save@v4
91+
if: inputs.mixed_clusters && steps.cache-older-erlang-restore.outputs.cache-hit != 'true'
92+
with:
93+
path: ~/.cache/erlang-${{ inputs.previous_otp_version }}
94+
key: erlang-${{ inputs.previous_otp_version }}-${{ runner.os }}
95+
5396
- name: MIXED CLUSTERS - FETCH SIGNING KEYS
5497
uses: dsaltares/fetch-gh-release-asset@master
5598
if: inputs.mixed_clusters
@@ -62,7 +105,7 @@ jobs:
62105
uses: dsaltares/fetch-gh-release-asset@master
63106
if: inputs.mixed_clusters
64107
with:
65-
version: 'tags/v4.0.9'
108+
version: ${{ inputs.previous_version }}
66109
regex: true
67110
file: "rabbitmq-server-generic-unix-\\d.+\\.tar\\.xz"
68111
target: ./

.github/workflows/test-make-tests.yaml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,14 @@ on:
1414
mixed_clusters:
1515
required: true
1616
type: boolean
17+
previous_version:
18+
required: false
19+
default: 'tags/v4.0.9'
20+
type: string
21+
previous_otp_version:
22+
required: false
23+
default: '26'
24+
type: string
1725
jobs:
1826
test-rabbit:
1927
name: Test rabbit
@@ -39,6 +47,8 @@ jobs:
3947
elixir_version: ${{ inputs.elixir_version }}
4048
metadata_store: ${{ inputs.metadata_store }}
4149
mixed_clusters: ${{ inputs.mixed_clusters }}
50+
previous_version: ${{ inputs.previous_version }}
51+
previous_otp_version: ${{ inputs.previous_otp_version }}
4252
make_target: ${{ matrix.make_target }}
4353
plugin: rabbit
4454

@@ -50,6 +60,8 @@ jobs:
5060
elixir_version: ${{ inputs.elixir_version }}
5161
metadata_store: ${{ inputs.metadata_store }}
5262
mixed_clusters: ${{ inputs.mixed_clusters }}
63+
previous_version: ${{ inputs.previous_version }}
64+
previous_otp_version: ${{ inputs.previous_otp_version }}
5365
make_target: parallel-ct-set-1
5466
plugin: rabbitmq_mqtt
5567

@@ -63,6 +75,8 @@ jobs:
6375
elixir_version: ${{ inputs.elixir_version }}
6476
metadata_store: ${{ inputs.metadata_store }}
6577
mixed_clusters: ${{ inputs.mixed_clusters }}
78+
previous_version: ${{ inputs.previous_version }}
79+
previous_otp_version: ${{ inputs.previous_otp_version }}
6680
make_target: ct-config_schema ct-unit
6781
plugin: rabbitmq_peer_discovery_aws
6882

@@ -121,5 +135,7 @@ jobs:
121135
elixir_version: ${{ inputs.elixir_version }}
122136
metadata_store: ${{ inputs.metadata_store }}
123137
mixed_clusters: ${{ inputs.mixed_clusters }}
138+
previous_version: ${{ inputs.previous_version }}
139+
previous_otp_version: ${{ inputs.previous_otp_version }}
124140
make_target: tests
125141
plugin: ${{ matrix.plugin }}
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
name: Test mixed clusters (scheduled)
2+
on:
3+
push:
4+
workflow_dispatch:
5+
inputs:
6+
erlang_version:
7+
description: 'Erlang version'
8+
required: true
9+
default: '28'
10+
type: string
11+
elixir_version:
12+
description: 'Elixir version'
13+
required: true
14+
default: '1.18'
15+
type: string
16+
metadata_store:
17+
description: 'Metadata store'
18+
required: true
19+
default: 'mnesia'
20+
type: choice
21+
options:
22+
- mnesia
23+
- khepri
24+
previous_version:
25+
description: 'Previous version to test against'
26+
required: true
27+
default: 'tags/v3.13.7'
28+
type: string
29+
previous_otp_version:
30+
description: 'Erlang version for previous RabbitMQ version'
31+
required: true
32+
default: '26'
33+
type: string
34+
35+
concurrency:
36+
group: ${{ github.workflow }}
37+
cancel-in-progress: true
38+
39+
jobs:
40+
test-mixed-clusters:
41+
name: Test mixed clusters
42+
uses: ./.github/workflows/test-make-tests.yaml
43+
with:
44+
erlang_version: ${{ inputs.erlang_version }}
45+
elixir_version: ${{ inputs.elixir_version }}
46+
metadata_store: ${{ inputs.metadata_store }}
47+
mixed_clusters: true
48+
previous_version: ${{ inputs.previous_version }}
49+
previous_otp_version: ${{ inputs.previous_otp_version }}

0 commit comments

Comments
 (0)