【发布时间】:2021-07-29 19:07:01
【问题描述】:
我想使用actions/create-release@v1 从带有 GitHub Actions 的工作流创建发布标签。我为标签名称和发布名称指定了相同的值,即v${MAJOR}.${MINOR}.${PATCH},其中MAJOR、MINOR 和PATCH 在所有作业之前的yaml 文件开头的env 下定义像这样:
env:
MAJOR: $(cat VERSION.txt | cut -d . -f 1)
MINOR: $(cat VERSION.txt | cut -d . -f 2)
PATCH: $(cat VERSION.txt | cut -d . -f 3)
这是我调用 create-release 操作的部分:
- name: Create Release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # this token is created by Actions, no need to set it up ourselves
with:
tag_name: "v${MAJOR}.${MINOR}.${PATCH}" #THIS DOESN'T CAST MAJOR, MINOR, PATCH
release_name: "v${MAJOR}.${MINOR}.${PATCH}"
这将创建一个明确为v${MAJOR}.${MINOR}.${PATCH} 的标记名称。环境变量不会转换为它们的值。当我改用v${{ env.MAJOR }}.${{ env.MINOR }}.${{ env.PATCH }} 时,我得到了一个格式不正确的标签名称。
当我回显v${MAJOR}.${MINOR}.${PATCH} 时,我得到了所需的输出,类似于v5.9.1。
如何让标签名使用环境变量的值?
【问题讨论】:
-
如果没有设置这些变量的部分,那只是猜测
-
我添加了定义主要、次要和补丁的部分
-
你不能这样设置环境变量。在此处查看文档:docs.github.com/en/actions/reference/…
-
如果我没记错的话,您所指的语法在作业级别起作用,这意味着我必须为每个作业重复它,同时在之前的 yaml 文件的开头设置 env 键任何作业都使环境变量可用于所有作业。此外,我所做的方式似乎适用于同一个 yaml 文件中的其他操作。
标签: github release github-actions release-management