今回の演習もひどかった。
テンプレートリポジトリは https://github.com/githubtraining/exercise-publish-package
fork した自分用のは https://github.com/kyanny/automatic-octo-adventure
何が辛いって、README の instruction が薄すぎる。パッケージを publish する方法として、GitHub Actions ワークフローからやるべきなのか(GitHub Actions のコースなので当然そうであるべきだが)、コマンドラインから gem push
とかそういうコマンドでやるのか、そこについてすら触れてない。
そして今回は README をアップデートしていく地獄のようなワークフローは組み込まれてなかったが、パッケージをリポジトリに publish できたら採点用のワークフローが動くという話なのに、一向に動かない。registry_package
イベントでトリガーされるようになってるので仕様が変わってこのイベントがトリガーされないようになったのか?と思って webhook を仕込んで smee.io でイベントを監視するとちゃんと registry_package
イベント(と package
イベント)が送られている。よってワークフローもトリガーされるはず。だがされない。
トリガーされないのは GITHUB_TOKEN だからかと思ったが Personal Access Token で直 gem push ではイベント飛ばないのでなんでやねんと。
お手上げなのでいじるなと書いてある採点ワークフローとかをいじってどうにか動かそうとしたが、だめ。諦めて採点は飛ばした。採点ワークフローを workflow_dispatch
で実行するとトラブルシュートできます、とあるけど実行しても空文字列が echo されるだけで、何か足りないのか?と思ってワークフローを読んでみたらマジで空文字列を echo してるだけで意味不明だった。何の役にも立たない。一体これのどこがトラブルシュートに役立つのだ。
採点されようがされまいが Microsoft Learn 側には影響ないので、普通に先へ進んでクイズをこなしたりしてモジュール完了。ちなみに仮に採点ワークフローがトリガーされたとしても、中で使ってる local-action を node12 で動かすことになってて node16 にアップデートしないと結局動かないはず。
ほんとに、こんなクオリティ低いものを堂々と公式リソース的に(githubtraining はすでに古いが)公開しててメンテもできてないのは恥ずかしい。