0

我正在探索 Dependabot 是如何工作的,但它并没有像我预期的那样工作。

我创建了 2个私有 Golang 存储库(onetwo),one具体取决于two

onego.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的先前提交。twoone

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 似乎没有问题找到先前的提交。

4

1 回答 1

0

我相信这是因为dependabot不支持伪版本 - https://github.com/dependabot/dependabot-core/issues/3017

于 2022-02-10T17:55:10.490 回答