我想在YAML Github动作中的其他env变量中重用一个env变量。
我已经试过了:
name: BUILD AND PUBLISH
on:
push:
branches: "master"
pull_request:
branches: "master"
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: BEFORE Set env variables
run: echo "NOW=$(date +'%Y.%m.%d-%H.%M.%S')" >> $GITHUB_ENV;
echo "LINUX_ARM_64_NAME=linux-arm64_${{ env.NOW }}" >> $GITHUB_ENV;
...
但结果是:
env:
NOW: 2022.07.06-21.56.48
LINUX_ARM_64_NAME: linux-arm64_
期望的结果是(我不想重复$(date +'%Y.%m.%d-%H.%M.%S')
行):
env:
NOW: 2022.07.06-21.56.48
LINUX_ARM_64_NAME: linux-arm64_2022.07.06-21.56.48
环境变量只能在(docs)中设置的步骤之后的步骤中使用。
你可以使用单独的步骤:
- run: echo "NOW=$(date +'%Y.%m.%d-%H.%M.%S')" >> "$GITHUB_ENV"
- run: echo "LINUX_ARM_64_NAME=linux-arm64_${{ env.NOW }}" >> "$GITHUB_ENV"
或者你可以使用一个临时变量:
- name: BEFORE Set env variables
run: |
NOW=$(date +'%Y.%m.%d-%H.%M.%S')
echo "NOW=$NOW" >> "$GITHUB_ENV"
echo "LINUX_ARM_64_NAME=linux-arm64_$NOW" >> "$GITHUB_ENV"