我有一个 github 操作:
name: Test
on:
workflow_dispatch:
env:
PREX: false
jobs:
build:
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- name: Say Hi
run: |
# Print the PREX environment variable
echo "${{ env.PREX }}"
- name: Say Hi2
if: contains(steps.get-version.outputs.version-suffix, 'beta')
run: |
echo "PREX=true" >> $GITHUB_ENV
- name: Say Hi3
run: |
# Print the PREX environment variable
echo "${{ env.PREX }}"
如果我的条件为真,我想将 Prex 变量值更改为 true。但每次我检查它的值都是假的。当我在 Hi3 部分打印它时,我期望得到一个真实值,因为我在 Hi2 部分更改了它的值。我可以确认我的 if 条件工作正常(我可以使用 exit 1 命令并且工作流程将被取消,因此 if 语句工作正常但 Prex 值未设置/更改) 为了简单的代码,我删除了其他代码。
您正在 Windows 上使用 Powershell。您需要使用
$env:GITHUB_ENV
来引用它,或者设置 shell: bash
来代替。
run: |
echo "PREX=true" >> $env:GITHUB_ENV
或
shell: bash
run: |
echo "PREX=true" >> $GITHUB_ENV
或
build:
runs-on: ubuntu-latest