Compatibility matrix strategy (#389)
0a54959 · Sebastian Weddmark Olsson · 2026-03-14 16:50
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