Compatibility matrix strategy (#389)

0a54959 · Sebastian Weddmark Olsson · 2026-03-14 16:50

1 files +33 -0
Message
{commit_body(@commit)}

Files changed

modified README.md
+33 −0
@@ -93,6 +93,11 @@ and Erlang/OTP.
93 93 **Note** \*: prior to 23, Windows builds are only available for minor versions, e.g. 21.0, 21.3,
94 94 22.0, etc.
95 95
96 +### Compatibility between Erlang/OTP and rebar3
97 +
98 +Check [version compatibility](https://github.com/erlang/rebar3?tab=readme-ov-file#compatibility-between-rebar3-and-erlangotp)
99 +in `erlang/rebar3`.
100 +
96 101 ### Self-hosted runners
97 102
98 103 Self-hosted runners need to set env. variable `ImageOS` to one of the following, since the action
@@ -292,6 +297,34 @@ jobs:
292 297 - run: rebar3 ct
293 298 ```
294 299
300 +### Compatibility
301 +
302 +To execute matrix testing with specific dependency versions, configure the environment matrix to
303 +use pinned, compatible releases:
304 +
305 +```yaml
306 + test:
307 + runs-on: ${{matrix.compat.os}}
308 + name: Erlang/OTP ${{matrix.compat.otp}} / rebar3 ${{matrix.compat.rebar3}}
309 + strategy:
310 + matrix:
311 + compat:
312 + - otp: "26.2.5.5"
313 + rebar3: "3.22.1"
314 + os: ubuntu-24.04
315 + - otp: "27.1.2"
316 + rebar3: "3.22.1"
317 + os: ubuntu-latest
318 + steps:
319 + - uses: actions/checkout@v4
320 + - uses: erlef/setup-beam@v1
321 + with:
322 + otp-version: ${{matrix.compat.otp}}
323 + rebar3-version: ${{matrix.compat.rebar3}}
324 + version-type: strict
325 + - run: rebar3 eunit
326 +```
327 +
295 328 ### Erlang/OTP + `rebar3`, on Windows
296 329
297 330 ```yaml

Parents: 3a3c94f