我正在探索 Dependabot 是如何工作的,但它并没有像我预期的那样工作。
我创建了 2个私有 Golang 存储库(one
,two
),one
具体取决于two
:
one
的go.mod
:
module github.com/dazwilkin/one
go 1.17
require github.com/dazwilkin/two v0.0.0-20210927170438-e7aa41e4107b
NOTE
e7aa41e4107b
是为了检查 VS Code 和 Dependabot 的更新检查而故意预先提交的。
并且dependabot.yml
:
version: 2
updates:
- package-ecosystem: "gomod"
directory: "/"
schedule:
interval: "daily"
two
的 2 个最近的提交是:
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"
}
NOTE
b2f2074829aa
是我期望被告知的提交,并且是继续引用e7aa41e4107b
的先前提交。two
one
VS Code 很快确定有可用的更新,并且:
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
,但为简单起见,我使用全小写 ( github.com/dazwilkin
) 发布和引用 Golang 模块。但是 Dependabot 似乎没有问题找到先前的提交。