21

我正在尝试使用 coveralls.io 为我的测试显示覆盖率徽章,但覆盖率徽章卡在“未知”上。

相关的仓库在这里:https ://github.com/cfogelberg/grunt-set-app-mode

当我查看该 repo 的 coveralls.io 时,我看到相同的“coverage: unknown”状态:coveralls.io/r/cfogelberg/grunt-set-app-mode

但是,各个版本已正确发送到coveralls.io:https://coveralls.io/builds/788669

我错过了什么?

4

9 回答 9

13

如果清除本地缓存并不能修复图像,则问题可能是 Github 在其图像 URL 匿名化过程中将其缓存。

您可以使用以下 curl 命令强制 Github 清除其图像缓存。将示例 URL 更改为您的存储库中的 URL,它将始终https://camo.githubusercontent.com/后跟一个长哈希。

curl -X PURGE https://camo.githubusercontent.com/4d04abe0044d94fefcf9af2133223....

来源:GitHub 帮助:关于匿名图像 URL

于 2019-06-30T14:22:16.773 回答
9

我错过了什么?

您的浏览器可能缓存了图像。我意识到这最近发生在我身上。我不明白为什么我的徽章在我的 github 页面上说的是一件事,但在徽章的网站上却是不同的。

现在我倾向于在 Chrome 隐身窗口中查看网站,这样我就不用担心缓存了。

于 2016-06-18T07:10:47.260 回答
4

自从发布这个问题以来,我已经推送了更多的提交并多次重新运行工作服任务,现在覆盖徽章可以工作:

https://github.com/cfogelberg/grunt-set-app-mode/compare/4FB59ACC...58E23E5373

目前尚不清楚为什么它现在有效而之前没有。自从上次失败的工作服构建以来,工作服已添加到默认任务中。但是,它被添加到默认任务并在下一次构建工作服之前推送到 Github,这只会更改 README.md 文件(修复指向 david-dm.org 徽章的链接)。

恐怕这并不是一个真正的“解决方案”,我仍然很想知道(不知道为什么/谁投票否决了这个问题),但无论如何我希望这些信息在未来对其他人有用.

于 2014-05-23T19:27:17.313 回答
4

在我的例子中,我的工作服徽章中的代码覆盖率已经过时了,这个 Markdown 片段:

[![Coverage Status](https://coveralls.io/repos/github/user-repo/user-project/badge.svg?branch=master)](https://coveralls.io/github/user-repo/user-project?branch=master)

但是当我删除branch第一个 URL 的参数时,覆盖范围会更新!

[![Coverage Status](https://coveralls.io/repos/github/user-repo/user-project/badge.svg)](https://coveralls.io/github/user-repo/user-project?branch=master)

更新:

我的第一个解决方案第二次没有用。所以我恢复了它,并将徽章类型从 SVG 更改为 PNG。

[![Coverage Status](https://coveralls.io/repos/github/user-repo/user-project/badge.png?branch=master)](https://coveralls.io/github/user-repo/user-project?branch=master)
于 2018-05-13T03:14:34.837 回答
2

您的浏览器缓存了徽章图像。要强制更新,请在重新加载浏览器选项卡时按住 SHIFT(在 macOS 上的 Brave 上,我通过CMD+执行此操作R)。

于 2021-06-27T09:38:51.550 回答
1

我已经解决了这个问题,在我的 github 操作工作流程结束时添加了一个 PURGE 请求来清除 GitHub 的缓存徽章副本:

$ curl -X PURGE https://camo.githubusercontent.com/4d04abe0044d94fefcf9af2133223....

我已经使用了 http-request-action :

- name: refresh coverage badge
      uses: fjogeleit/http-request-action@master
      with:
        url: https://camo.githubusercontent.com/12c4fcb3b21fbb2a725fc61449fb1b91e972c4c8a2baaf5904936d8e334bdbe8/68747470733a2f2f636f766572616c6c732e696f2f7265706f732f6769746875622f62336230302f63736c792f62616467652e7376673f6272616e63683d64657626736572766963653d676974687562
        method: PURGE
于 2021-06-03T13:41:15.693 回答
1

将 queryString 参数添加到徽章图像 URL,这是答案https://github.com/lemurheavy/coveralls-public/issues/1065#issuecomment-435494495

于 2021-04-14T20:45:47.017 回答
0

对我来说,问题是图像是由 github 缓存的,而不是我自己的浏览器。此处记录了一个有效的修复程序:

我在图片网址中添加了“kill_cache = 1”

例如:src="https://coveralls.io/repos/github/spread-the-code/git-commiter-nodejs/badge.svg?branch=master&kill_cache=1" />

https://github.com/lemurheavy/coveralls-public/issues/1065

于 2022-02-16T17:51:42.763 回答
0

我在这里尝试过其他建议,但似乎都没有奏效。

从这里安装禁用 Cookies chrome 扩展。

转到您的 github 项目,按禁用 cookie,然后将其恢复。

之后应该更新coveralls.io 徽章。

怀疑同样的问题也适用于普通用户。

在我的情况下,图像无法刷新多少次我按下重新加载,使用清除或其他技巧(不想清除历史记录)。

匿名网页浏览有时也会有所帮助。

请注意,coveralls.io 报告需要时间来处理,因此至少需要等待几分钟。(可以从 coveralls.io 网站查看)。

于 2021-04-15T20:50:54.103 回答