我的构建使用最新的 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
表明:
v0.0.27-13-g9e62705
log -1
的githash与来自show-ref
的标签相同,指向我想要的标签describe
使用与 log
和标签此工作流程已在使用:
uses: actions/checkout@v4
with:
fetch-depth: 0
fetch-tags: true
如 git 所示描述了解前一个标签和过去的提交次数。
出于某种我不明白的原因,您需要向
--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