我正在探索Dependabot是如何工作的,但它并没有像我预期的那样工作。
我创建了2privateGolang repos (one
,two
) withone
取决于two
:
one
'sgo.mod
:
module github.com/dazwilkin/one
go 1.17
require github.com/dazwilkin/two v0.0.0-20210927170438-e7aa41e4107b
注意
e7aa41e4107b
是为了检查VS Code和Dependabot的更新检查而故意提前提交的。
Anddependabot.yml
:
version: 2
updates:
- package-ecosystem: "gomod"
directory: "/"
schedule:
interval: "daily"
two
最近的两次提交是:
curl
--silent
--header "Authorization: Bearer ${TOKEN}"
https://api.github.com/repos/${OWNER}/${REPO}/commits
| jq -r '.[]|{"sha":.sha,"date":.commit.committer.date}'
:
{
"sha": "b2f2074829aa61218d7e38f27bb6051ccd97ab7a",
"date": "2021-09-27T18:03:33Z"
}
{
"sha": "e7aa41e4107b8c28f99cadfe55b831380730e808",
"date": "2021-09-27T17:04:38Z"
}
注意
b2f2074829aa
是我期望被告知的提交,e7aa41e4107b
是one
继续引用的two
上的先前提交。
VS代码快速确定一个更新是可用的和:
go list -m -u all
github.com/dazwilkin/one
github.com/dazwilkin/two v0.0.0-20210927170438-e7aa41e4107b [v0.0.0-20210927180333-b2f2074829aa]
注意正确识别最新的提交(
b2f2074829aa
)以取代之前的提交(e7aa41e4107b
)
但是,经过22小时和反复的强制更新,dependabot
继续报告e7aa41e4107b
是最新的:
updater | INFO <job_214390230> Starting job processing
updater | INFO <job_214390230> Starting update job for DazWilkin/one
updater | INFO <job_214390230> Checking if github.com/dazwilkin/two 0.0.0-20210927170438-e7aa41e4107b needs updating
updater | INFO <job_214390230> Latest version is 0.0.0-20210927170438-e7aa41e4107b
updater | INFO <job_214390230> No update needed for github.com/dazwilkin/two 0.0.0-20210927170438-e7aa41e4107b
updater | INFO <job_214390230> Finished job processing
注意Dependabot访问
github.com/dazwilkin/two
似乎没有问题,但它找不到最近的提交。
这只是一个最终的一致性问题,我需要等待更长时间吗?
更新我又等了24小时,它继续找到早先的提交作为
latest version
还是我误解或错误配置了Dependabot?
一个可能相关的问题,我的GitHub帐户是混合情况的DazWilkin
,但是,为了简单起见,我发布和引用的Golang模块使用全小写(github.com/dazwilkin
)。但是,Dependabot似乎没有发现先前提交的问题。
我相信这是因为dependabot不支持伪版本- https://github.com/dependabot/dependabot-core/issues/3017