less than 1 minute read

프로젝트별 erlang과 elixir 버전 관리를 Asdf로 하고 있다. .tool-versions 파일로 사용하는 버전을 정의한다. 지금 사용 중인 .tool-versions 내용은 아래와 같다.

erlang 26.2.5.3
elixir 1.16.3-otp-26

변경 사항이 생기면 자동으로 테스트를 돌리는 데 사용하는 GitHub Action에서 asdf를 사용하지 못한다. 그래서 아래와 같이 버전을 똑같이 수동으로 맞춰서 사용하고 있었다.

strategy:
  # Specify the OTP and Elixir versions to use when building
  # and running the workflow steps.
  matrix:
    otp: ['26.2.5.3']       # Define the OTP version [required]
    elixir: ['1.16.3']    # Define the elixir version [required]
steps:
  # Step: Setup Elixir + Erlang image as the base.
  - name: Set up Elixir
    uses: erlef/setup-beam@v1
    with:
      otp-version: $
      elixir-version: $

asdf는 사용하지 못하지만 .tool-versions 파일은 사용할 수 있다는 걸 최근에 알았다.

# Step: Setup Elixir + Erlang image as the base.
- name: Set up Elixir
  uses: erlef/setup-beam@v1
  with:
    version-file: .tool-versions
    version-type: strict

이제 erlang, elixir 버전을 .tool-versions 한 곳에서만 관리하면 된다.

관련 커밋 da81b1f93f4