我之前一直使用 set-output 来设置值,但现在我们收到“已弃用的功能”消息,并且我按照规定使用 $GITHUB_OUTPUT 。
我替换了所有实例
run: echo ::set-output name=Key::Value
Run Code Online (Sandbox Code Playgroud)
和
run: "Key=Value" >> $GITHUB_OUTPUT
Run Code Online (Sandbox Code Playgroud)
但密钥似乎没有设置。
我的运行器运行在 Windows 版本 2.299.1 上,工作流程使用 CMD。所有对 set-output 的调用都有效,而所有使用 $GITHUB_OUTPUT 的调用都无效。
简化的操作代码
defaults:
run:
shell: cmd
jobs:
EnvSetup:
name: Publish Base Environment Vars
runs-on: [self-hosted, Windows, myLabel]
outputs:
var_Project: ${{ steps.set-Project.outputs.Project }}
var_Val1: ${{ steps.set-Val1.outputs.Val1 }}
var_Val2: ${{ steps.set-Val2.outputs.Val2 }}
steps:
- name: Project
id: set-Project
run: echo ::set-output name=Project::Larry
- name: Val1
id: set-Val1
run: echo "Val1=Curly" >> $GITHUB_OUTPUT
- name: Val2
id: set-Val2 …Run Code Online (Sandbox Code Playgroud) 我定义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
Run Code Online (Sandbox Code Playgroud)