Skip to content

Elixir

How json2vars-setter handles Elixir, and how the example workflow provisions it.

json2vars-setter integration

Item Value
Matrix JSON key versions.elixir
Action output versions_elixir
Dynamic-update strategy input elixir-strategy (stable / latest / both)
Version source see Version Sources

Supported runners

The example matrix runs on Ubuntu / Windows / macOS:

ubuntu-latest, windows-latest, macos-latest

Any GitHub-hosted runner the setup action supports also works - the OS list is just the os array in your matrix JSON.

Supported versions

Example matrix (what the example workflow runs):

1
2
3
4
5
6
7
8
{
  "versions": {
    "elixir": [
      "1.18",
      "1.19"
    ]
  }
}

Latest values tracked by the dynamic-update tooling (auto-refreshed from the release APIs into the version cache):

Field Version
stable 1.19.5
latest 1.20.2

Cache last updated: 2026-06-24T12:28:42.181636.

Setup action (example workflow)

elixir_test.yml provisions Elixir with the matrix value json2vars-setter produced:

1
2
3
4
5
- name: Set up Erlang/Elixir
  uses: erlef/setup-beam@v1.24.1
  with:
    otp-version: "27"
    elixir-version: ${{ matrix.elixir-version }}

Note: erlef/setup-beam also needs an Erlang/OTP version, pinned separately in the workflow. On windows-latest the runner image now reports ImageOS=win25-vs2026; setup-beam v1.24.0 only maps the bare win25 label, so the workflow normalizes it (win25-vs2026 -> win25) in a Windows-only step before the setup action runs.

References