connehito/cake-sentryのCakePHP4対応を終えた

遅ればせながらリリースしました🎉

packagist.org

connehito/cake-sentryというのは、前職時代に開発していてその後もメンテナに入れてもらっているOSSです。
半年ほど前に、メジャーバージョンアップをどうにか終えました。
daisuki.nichiyoubi.land

この時は「Sentry SDKがリデザインされたので新しいのを使うようにしようよ」だったのですが、1ヵ月ほど後に今度は「CakePHPが新しいメジャーバージョンを出したよ」ということで、それの対応をやらねばやらねば・・・・と今に至ったわけでございます。

どうしたの

cake4はおろかcake3ですら触っていない状況になってしまっていたので、どうにもこうにも腰が重く。*1
そうこうしている間にコミュニティの方々からPRをもらったので、よしコレを基礎としてリリースまで持っていくぞ!!!という気持ちがやっと湧いてきたのでございます。

3つ目のPRである#34をもらった時点で「大まかには動くじゃろ」というのが確認できて、またPRに書いてもらった説明から「どんな感じに変わったの?」が読み取りやすかったので、こらが大変背中を押してくれるような結果になりました。
わかりやすいPR大事だな〜〜〜〜!

ついでに

久しぶりに全体的にコードを眺めてみる〜という行動になったので、いくつか気になった点を修正したりもしています。

その中でコードカバレッジが100%になったりもしました。ソレ自体はあんま意味のある数字とも思っていないけど、まぁ折角ならキリの良い数にしておいた方が気持ちいいじゃんね!!くらいの。そもそも「あと何行かくらいだし、100%にしておこ」という軽い気持ちで手を出したら「実際にはそこに到達しない(手前でエラーになっている)」という箇所が炙り出せたので、良かったなぁという気持ちです。

他には、久々に全体的に見返していて「名付けが一貫性無いかもな・・・?」と感じた部分をシンプルにしたり、といった事をしています。

デモ環境を用意しておいて良かったね

今回の改修に関して改めて感じましたが、「そのプラグインを動かすために必要な環境を一緒に梱包しておく」のは、やはり良いですね〜。
CakeSentryでいうとtest_app という形でdocker-composeと動作デモ用URLを混ぜてありますが、コレのおかげで、開発に際して必要なことに集中できた感じがあります。

cake-sentry/tests/test_app at master · Connehito/cake-sentry · GitHub

コレやってなかったらもっと億劫だっただろうなと・・・・・・

折角Dockerfileもあることですし、Sentry側の変更等への追従を保証すべく、E2EっぽいものをCI上で回したいなぁという野望も抱いていたりします。
「web/cliでエラーを起こして→Sentry側に登録エラーを問い合わせて→登録されるべき形で今のエラーが登録されているか」みたいな。
これをスケジュール設定して動かしておけたら良さそうな感じするんですよねぇ。

おわりに

作ったものを使ってくれている人がいるのは有り難いなぁ〜〜というのを改めて感じた次第。
PRくれた人に対してどこまで直しをお願いしようかな・・?というのは割と悩ましく感じたけれど、早め早めでマージしつつ気になった所は自分で直す!!くらいの温度感が良さそう〜というのを今回の流れの中で感じました。業務コードだったり相手が同僚だったりした場合とは別だな、と。
折角関わってくれた人に対して敬意を表したいぜ〜〜〜!の気持ちと、少しずつでも前進させていくやり方をとりたいな〜という気持ちと。

今後もメンテちゃんとやっていくぞ〜〜

*1:cake3使っていれば多分cake4移行やろうぜ!!というモチベーションで動かしているだろうにな、とも思いつつ。