Задний план

У меня есть небольшой проект эликсира, и я пытаюсь использовать GithubWorkflow, чтобы иметь хороший конвейер и автоматизировать некоторые действия.

Проблема

Однако я даже не могу его запустить, так как получаю следующую ошибку:

 Setup elixir
1s
    AUCTION_HOUSE_TOKEN: ***
Run actions/setup-elixir@v1
  with:
    elixir-version: 1.10-otp-22
    otp-version: 22.1
    install-hex: true
    install-rebar: true
  env:
    COOKIE: ***
    TOKEN: ***
##[error]Cannot read property 'includes' of undefined

Код

Я думаю, что мой рабочий процесс может быть неправильным, может ли кто-нибудь помочь разобраться, что не так?

name: build

on:
  push:
    branches: [ master ]
  pull_request:
    branches: [ master ]

env: 
  AUCTION_HOUSE_COOKIE: ${{ secrets.MARKET_MANAGER_WM_COOKIE }}
  AUCTION_HOUSE_TOKEN: ${{ secrets.MARKET_MANAGER_WM_XCSRFTOKEN }}

jobs:

  build:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v2
    - name: Setup elixir
      uses: actions/setup-elixir@v1
      with:
        elixir-version: '1.10-otp-22' # Define the elixir version [required]
        otp-version: '22.1' # Define the OTP version [required]
    - name: Install Dependencies
      run: mix deps.get
    - name: Run Tests
      run: mix test
    - name: Run credo code analyser
      run: mix credo --strict
    - name: Run typechecks
      run: mix dialyzer
    - name: Build executable
      run: mix escript.build
      env: 
        MIX_ENV: prod
0
Flame_Phoenix 16 Июл 2020 в 18:10

1 ответ

Лучший ответ

Резюме

Версия эликсира в файле была неправильной . В нем должны быть:

      with:
        elixir-version: '1.10.4 # Define the elixir version [required]
        otp-version: '22.1' # Define the OTP version [required]

Вместо текущего контента.

RCA

Так что это было интересно. Когда дело доходит до версий elixir, поскольку я использую asdf в качестве диспетчера версий, мне разрешено выбрать лучшую версию (наиболее оптимизированную) для имеющейся у меня настройки erlang.

Как мне узнать, какая версия эликсира лучше всего подходит, скажем, для Erlang 22.1? Ну, я использую список Боба:

https://bobs-list.kobrakai.de/#version_v1.10

И хотя это нормально и работает на моей машине, в файлах докеров и т. Д., Github Action не принимает его . Github Actions берет свою версию эликсира отсюда:

https://github.com/elixir-lang/elixir/releases

И, как видите, официального релиза под названием "1.10-отп-22" не было.

Таким образом, вместо текущего содержимого файл должен иметь:

with:
        elixir-version: '1.10.4' # Define the elixir version [required]
        otp-version: '22.1' # Define the OTP version [required]
0
Flame_Phoenix 17 Июл 2020 в 09:59