我将GENERATOR_PLATFORM
定义为一个空的环境变量,然后我想将其设置为适合我的Windows版本的值。但是,该变量从未被设置:
env:
GENERATOR_PLATFORM:
steps:
- name: windows-dependencies
if: startsWith(matrix.os, 'windows')
run: |
$generator= "-DCMAKE_GENERATOR_PLATFORM=x64"
echo "Generator: ${generator}"
echo "GENERATOR_PLATFORM=$generator" >> $GITHUB_ENV
- name: Configure CMake
shell: bash
working-directory: ${{github.workspace}}/build
run: cmake $GITHUB_WORKSPACE $GENERATOR_PLATFORM
2条答案
按热度按时间nle07wnf1#
如果您使用的是Windows/PowerShell环境,则必须使用
$env:GITHUB_ENV
而不是$GITHUB_ENV
:这样,您就可以通过
$env:GENERATOR_PLATFORM
访问您的env var,例如:oxiaedzo2#
跟进@soltex回答:建议的解决方案仅在编码设置为utf-8时有效。如果您的运行程序使用的是Windows PowerShell(即,不是PowerShell v7+,默认情况下使用utf-8),utf 16-le将写入环境文件,这将导致不设置变量。
正确的解决方案是:
来自:https://github.com/actions/runner-images/issues/5251#issuecomment-1071030822
进一步阅读:Changing PowerShell's default output encoding to UTF-8