2014年2月10日月曜日

COVERALLSのバッジがGithub上で更新されない問題

dmm4sというライブラリを作ってる。

ライブラリ自体は、DMM APIを叩いて結果のXMLをScalaのcase classにマッピングしているだけの多愛のない物だ。

このライブラリを作ったテーマは、「ライブラリとしてちゃんと作る」ということ。
Maven Centralリポジトリへの登録であるとか、CIを構築するとか、テストを書く、とか。そういう「OSSとしてちゃんと作る」という事を自分のテーマとしてやってみた。

そういうテーマを課して作ってみたので、GithubのREADMEにその証としてTravis CIとCOVERALLSのバッジを貼ってみた。

しかしこのせいでドハマりすることになる。

まずはこちらのスクリーンショットを見ていただこう。










これはdmm4sの0.1-SNAPSHOTをリリースした時のREADMEのスクリーンショットである。COVERALLSのバッジの色が赤いのが御覧いただけると思う。このバッジが示すカバレッジは71%。COVERALLS的にはテスト足りてないんじゃないの? と警告されているわけである。

しかし、実際にはこの時、COVERALLS上でのカバレッジは96%であった。お疑いのようならこちらのサイトへおもむき、「0.1-SNAPSHOTリリース」とコメントのついた履歴をご覧頂きたい。

カバレッジ71%というのは、dmm4sにCOVERALLSをはじめて導入した際のカバレッジである。つまり、GithubのREADMEとCOVERALLSとが連動していないのである。

しばらく待っていればそのうち連動されるだろう、と思いつつ数日を過ごすも一向に変わらない。READMEを更新してみたり、バッジを一旦削除してみたりしても変わらない。

行き詰まった僕は、COVERALLSにissueを投げてみた。

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

結果、中の人からは「youのバッジは最新になってるYO!」とのこと。どうやらこちらの意図がうまく伝わらなかったのだろうか。
issueのコメントには「Please re-open the issue if you see it happen again.」と書いてあるのだが、re-openのボタンがどこにも見当たらない。

オレのアカウントにre-openできる権限ねーじゃねーか!!!!

ふと思い立ち、ChromeでREADMEに貼ってあるバッジ部分のコードを読んでみる。

するとこのバッジ、HTML上はgithubのキャッシュを参照しているようだ。

僕がREADMEに貼っている実際のリンクは次のコードである。

https://coveralls.io/repos/daiksy/dmm4s/badge.png?

このリンクが変われば、キャッシュも更新されるだろう、と思い、"https"を"http"に変えてコミットしてみた。そうすると…。












更新されたああああああ!!

しかし、次にカバレッジが変わった場合にはもう一度"https"にしたらなおるんだろうか…。

1 件のコメント:

  1. 私もこれは困ってます。Travis CIはすぐに反映されるのに。

    返信削除