PHPerKaigi 2022でGitHub Actionsについて発表した #phperkaigi

参加してきましたPHPerKaigi 2022

phperkaigi.jp

感想

一言で言うと「オフライン参加の人たちが羨ましい!!!」でした。

オンライン開催でも本当に参加してよかったと思えたのですが、時折垣間見えるオフライン参加の人たちのワイワイ感が楽しそうでした。

オンライン参加しなかったのは完全に自分の選択であって誰のせいでもないのです。ただ、「オンラインでも楽しいけど、やっぱりオフライン楽しいんだな」という感じです( ep 67 @fortkle @o0h_と、私の尊敬する若手スペシャル by Yokohama North AM でも楽しそうに語っていて羨ましかったです)。

逆にオンラインの場を設けてもらって、地方勢や家庭イベント勢には本当にありがたいと思いました*1

GitHub Actions Deep Dive using PHP

今回はGitHub Actionsについてちょっとだけ濃い話を発表してきました。

私は、自分のOSSのCI/CD環境だけでなく所属会社であるGMOペパボでもGitHub Actionsにどっぷりなので「多分普通よりもGitHub Actionsを使っているだろう」ということで発表題材にしました。

Upload Artifact

発表の中では余談として話した「Upload ArtifactはAPIドキュメントにない」というお話ですが、なぜこんなマニアックな挙動を調べたかというと、「Artifactを使った実装を自作Actionで完結させて提供したかったから」です。

具体的には何に使っているかと言うと octocov のコードメトリクスレポートの保存先です。Artifactを使うことでリポジトリ内で完結した状態で、外部サーバやストレージなどに頼らずにPRごとにカバレッジの差分表示などを出すことができるので便利なのです。

言語はGoですが、Upload Artifactの実装はパッケージに切り出していますので、「Artifactを使った実装を自作Actionで完結させて提供したい」という奇特な方はご利用ください。

github.com

New Action

発表のインパクトになればいいなーと、今回の発表のためだけに2つActionを作成しました。

github.com

github.com

とはいえサンプルなどではなく、一応ちゃんと作ったつもりですので使うタイミングがあったらぜひ使ってみてください(マーケットプレイスにちゃんと登録しないとだ)。

私がGitHub Actionsに抱いているイメージ

これは賛同する人は少ないかもなのですが、私がGitHub Actionsに抱いているイメージは「CI/CD」というよりも「Serverless」です。

なんというかそれ自体の使い勝手が良いのと、コンピューティングリソースの運用をしなくていいので*2、なんでもかんでもGitHub Actionsで完結させたくなります。

「ハンマーを持つと全てが釘に見える」というアレですね。

これからも「いち実行環境」として便利に使っていくんだろうなと思います。

PHPerKaigi 2022 お疲れさまでした!!

運営の皆さん、発表者の皆さん、参加者の皆さん、お疲れさまでしたー!

楽しかったです!

*1:ただ、ただ、モジュラモノリス発表x2の合同アフタートークがあったりしたらしく、それは聞きたかったなーと

*2:正確には他の誰かに丸投げしている