繁体   English   中英

如何在 Windows 版本的 GitHub 操作上设置 Bakeware env vars?

[英]How to set Bakeware env vars on GitHub Actions for a Windows release?

背景

我正在尝试获得与 Windows 和Bakeware一起使用的 Github 操作,因为我正在尝试使用它创建一个版本。

但是,我遇到了环境变量的问题。

代码

在 Bakeware 的设置页面中提到我们必须设置MAKECC环境变量:

在我的 Github 操作中,这正是我所做的(我认为):

name: build

env:
  MIX_ENV: test
  GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

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

jobs:

  build:
    name: Build on Windows
    runs-on: windows-2019
    env: 
        CC: gcc
        MAKE: make

    steps:
    - uses: actions/checkout@v2
    - uses: erlef/setup-beam@v1
      with:
        elixir-version: '1.13.x' # Define the elixir version [required]
        otp-version: '24.2.x' # Define the OTP version [required]
    
    - name: Install choco
      shell: powershell
      run: |
        Set-ExecutionPolicy -ExecutionPolicy Bypass
        Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))

    - name: Install bakeware dependencies
      shell: powershell
      run: choco install -y zstandard make mingw

    - name: Install Dependencies
      shell: powershell
      run: mix deps.get
 
    - name: Run credo code analyser
      shell: powershell
      run: mix credo --strict

我什至正在使用 powershell 来做到这一点(即使我不确定是否需要这样做)。

问题

但是我的 GitHub Actions 代码返回此错误:

==> bakeware

mkdir "d:/a/market_manager/market_manager/_build/test/lib/bakeware/obj"

mkdir "d:/a/market_manager/market_manager/_build/test/lib/bakeware/launcher"

mkdir "d:/a/market_manager/market_manager/_build/test/lib/bakeware/obj/zstd/lib/decompress"

mkdir: cannot create directory 'd:/a/market_manager/market_manager/_build/test/lib/bakeware/obj/zstd/lib/decompress': No such file or directory

make: *** [Makefile:70: d:/a/market_manager/market_manager/_build/test/lib/bakeware/obj/zstd/lib/decompress] Error 1

could not compile dependency :bakeware, "mix compile" failed. Errors may have been logged above. You can recompile this dependency with "mix deps.compile bakeware", update it with "mix deps.update bakeware" or clean it with "mix deps.clean bakeware"

** (Mix) Could not compile with "make" (exit status: 2).

它说它不能用make编译。

问题

我尝试复制/粘贴该部分:

env: 
  CC: gcc
  MAKE: make

对于我能想到的该文件中的每个部分,但我总是遇到同样的问题。

我究竟做错了什么?

回答

在这种情况下,环境变量已正确创建和设置。 问题更深,它与库本身无法创建所需的文件夹有关。

因为库使用的make工具需要这些文件夹,所以该工具会自行崩溃并报告,因此让我相信我的环境设置存在问题,因为我收到了错误:

 (Mix) Could not compile with "make" (exit status: 2).

然而实际上,这个问题是库中的一个错误,这个问题已经在 master 中修复:

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM