Github工作流“无法读取未定义的属性'includes'”

时间:2020-07-16 15:10:02

标签: github github-actions

背景

我有一个小灵丹妙药项目,我正在尝试使用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

1 个答案:

答案 0 :(得分:0)

摘要

文件中的长生不老药版本错误。它应该具有:

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

代替当前内容。

RCA

所以这个很有趣。谈到elixir版本时,因为我将asdf用作我的版本管理器,所以我可以为我拥有的erlang设置选择最佳版本(最优化)。

我怎么知道哪个elixir版本最适合,比如说erlang 22.1? 好吧,我使用bob的列表:

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

尽管这很好,并且可以在我的机器和docker文件等上正常运行,但Github Action 不会接受。 Github Actions从这里获得了它的长生不老药版本:

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

如您所见,没有称为“ 1.10-otp-22”的正式发行版

因此,文件应具有以下内容,而不是当前内容:

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