【发布时间】:2021-03-01 03:32:54
【问题描述】:
我有一个 GitHub 操作运行我的网络应用单元测试。我从此操作运行 CodeClimate 测试报告。
CodeClimate 需要设置两个环境变量才能正确发送报告。这些是;
- GIT_SHA
- GIT_BRANCH
GitHub 操作使 git commit sha 可通过 github 上下文通过 github.sha 使用,因此我可以像这样在操作上设置环境变量;
env:
GIT_SHA: ${{ github.sha }}
但是 github 操作不会使分支名称可用。
它确实提供了一个名为 GITHUB_REF 的默认环境变量,这是完整的 ref,但我知道我可以使用这种速记语法 $GITHUB_REF##*/ 获取短 ref 即分支名称
我遇到的问题是我无法使用此值设置名为 GITHUB_BRANCH 的环境变量 $GITHUB_REF##*/
谁知道我如何获取分支名称并将其设置为环境变量GIT_BRANCH,以便 CodeClimate 测试脚本能够使用它。
最终我希望我的环境配置看起来像这样:
env:
GIT_SHA: <git commit sha>
GIT_BRANCH: <current git branch>
【问题讨论】:
-
(所以 tl;dr,您不需要在 github 操作中进行任何特殊的环境设置,变量已经存在)
-
变量在那里是正确的,但不是在 CodeClimate 要求的名称下。补充一下,好像你不能根据另一个的值来设置环境。
-
${{ env.GITHUB_BRANCH }}例如应该可以工作 -
看起来设置
GIT_BRANCH: ${{ github.head_ref }}可能有效。虽然不确定这是否适用于推送到主分支,因为这将发生在推送事件而不是 pull_request 事件
标签: git github-actions