【问题标题】:Tag name using environment variables使用环境变量的标记名称
【发布时间】:2021-07-29 19:07:01
【问题描述】:

我想使用actions/create-release@v1 从带有 GitHub Actions 的工作流创建发布标签。我为标签名称和发布名称指定了相同的值,即v${MAJOR}.${MINOR}.${PATCH},其中MAJORMINORPATCH 在所有作业之前的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


【解决方案1】:

感谢其中一位 cmets,我设法让 tag_name 接收到值 v5.9.1。我删除了yaml文件开头的env键,并创建了一个步骤get_version,内容如下:

   - name: Get version
      id: get_version
      run:  |
        MAJOR=$(cat VERSION.txt | cut -d . -f 1)
        MINOR=$(cat VERSION.txt | cut -d . -f 2)
        PATCH=$(cat VERSION.txt | cut -d . -f 3)
        VERSION="v${MAJOR}.${MINOR}.${PATCH}"
        echo "::set-output name=version::${VERSION}"

然后我修改了创建发布步骤:

- name: Create release
  uses: actions/create-release@v1
  env:
     GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
  tag_name: ${{ needs.get_version.outputs.version }} 
  release_name: ${{ needs.get_version.outputs.version }}
   draft: false
   prerelease: false

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-12
    • 2017-06-23
    • 2020-01-17
    • 1970-01-01
    • 1970-01-01
    • 2023-03-29
    相关资源
    最近更新 更多