将标签与提交匹配时,github 工作流程操作与 cli 不匹配

问题描述 投票:0回答:1

我的构建使用最新的 git 标签在运行时推断版本 这适用于我的本地环境 当我有一个 github 工作流程(在标签上触发)进行构建时,它会出错。一点调试表明是 GIT 出错了,但我不明白出了什么问题?

git log 显示我的提交,describe 显示前一个标签 + 许多提交,但 show-ref --tags 显示标签哈希与提交哈希匹配。

这里发生了什么?当我等待几分钟并重新运行作业时,这甚至会出现问题。

工作流程作业中的输出:

  git describe
  git log -1
  git show-ref --tags
  python setup.py bdist_wheel
  shell: /usr/bin/bash -e {0}
v0.0.27-13-g9e62705
commit 9e6270590ad7824870a77b809de415c577a42821
Date:   Mon Aug 5 15:52:04 2024 -0700
    Stable and working version from tags.
bfe0fc0472e23b657cdc600721e8042be32d1c05 refs/tags/v0.0.27
9e6270590ad7824870a77b809de415c577a42821 refs/tags/v0.0.28

表明:

  • Git 知道有标签和提交
    v0.0.27-13-g9e62705
  • 来自
    log -1
    的githash与来自
    show-ref
    的标签相同,指向我想要的标签
  • describe
    使用与
    log
    和标签
  • 相同的提交

此工作流程已在使用:

    uses: actions/checkout@v4
    with:
      fetch-depth: 0
      fetch-tags: true

如 git 所示描述了解前一个标签和过去的提交次数。

git github tags
1个回答
0
投票

出于某种我不明白的原因,您需要向

--tags
提供
git describe
选项。

在我刚刚创建的测试工作流程中,我在标签推送中得到了这些结果:

Run git describe
  git describe
  git describe --tags
  shell: /usr/bin/bash -e {0}
v0.0.2-1-gb5c0da7
v0.0.3

我的

git describe
输出(
v0.0.2-1-gb5c0da7
)与你的一致,显示相同的意外结果。

我的

git describe --tags
输出是正确的:
v0.0.3
,因为我正在查看的工作流程是在该标签的推动下。

GitHub actions 上的相关问题:https://github.com/actions/checkout/issues/272

© www.soinside.com 2019 - 2024. All rights reserved.