我想在 Windows 自托管运行器上访问之前作业的步骤结果。为了做到这一点,我使用如下输出变量,效果很好(在最后一步中打印“成功”)。
name: Debug workflow
on: workflow_dispatch
jobs:
job1:
runs-on: tester-1
outputs:
output1: ${{ steps.step1.outputs.MY_OUTPUT }}
steps:
- name: Checkout with submodules
id: checkout_step
uses: actions/checkout@v3
- name: Write variable to output
id: step1
run: echo '::set-output name=MY_OUTPUT::${{ steps.checkout_step.outcome }}'
job2:
runs-on: tester-1
needs: job1
env:
OUTPUT1: '${{needs.job1.outputs.output1}}'
steps:
- name: Print outputs from previous
run: echo ${{ env.OUTPUT1 }}
Run Code Online (Sandbox Code Playgroud)
然而::set-output 已被弃用,所以我想转换为正确的方法。根据另一个问题,我已经尝试将我的替换echo '::set-output name=MY_OUTPUT::${{ steps.checkout_step.outcome }}'为
echo "MY_OUTPUT=${{ steps.checkout_step.outcome }}" >> $env:GITHUB_ENVecho …