スリーシェイクに入社しました

Google OSSにマージされた話

この投稿は私の現在所属しているスターフェスティバル株式会社の スターフェスティバル Advent Calendar 2022 の7日目記事になります。

昨日は yui_tang さんによる機械学習でメタルかそうでないかを聞き分ける自作アプリの紹介でした!面白かったので是非読んでみてください!

https://zenn.dev/stafes_blog/articles/89a29ade69ec6d

こんにちは! k1rnt です。

今回はGoogle OSSにissueを出しPRの作成、マージまでの経緯をお話しできればと思います。

なぜやろうと思ったのか

つい先日GitHub Actionsの save-stateset-output コマンドが廃止になるという速報が社内Slackに投稿されました

https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/

こちらですね。

社内のリポジトリのGithub Actionsでも結構 set-output は使われていることもあり自分も書いていました。

そんな中弊社、 ikkitang からこんな一言が!

簡単な内容な割にはクリティカルで影響範囲も大きいはず...!

そう感じた私はひとまずGoogle OSSのGitHubで set-output が使われていないか検索をしてみることにしました。

OSSコミットチャンス

Google OSSを検索するとset-outputを使用しているリポジトリが多々ありました。

その中でも一度使ったことある go-github も対象に含まれていたのでこちらに貢献することを決めました。

CONTRIBUTING.mdを読む

まずどのように貢献したら良いかは大抵CONTRIBUTING.mdといったファイルがあるはずなので読みます。

今回の場合 こちら

これを読むとissueにて問題の報告PRにてパッチの提出を行えば良いことがわかります。

このドキュメントにはパッチの提出の際 go fmt の実行やテストを書く必要があると書かれていますが今回修正するファイルはGitHub Actionsなのでこれらは無視します。

issueを書く

OSSではissueだけでなくPRなども全て英語で書く必要がありますがdeepl等で翻訳したテキストを投下しても問題ないと思われます。

今回書いたissueはこちらになります。

https://github.com/google/go-github/issues/2491

今回はフォーマットなどが無かったのでなるべく簡潔に書きました。

リアクションがついて嬉しかったので皆さんも是非issueにもリアクションしていきましょう。

リポジトリをForkして作業

他社のリポジトリに貢献する際、通常はそのリポジトリをForkして作業を行います。

今回行った修正はこちらになります。

https://github.com/google/go-github/pull/2492/commits/fa30a07caf75a5a8354e93221f82d5701f991d4a

PRを提出

少しドキドキしながらPRの提出を行いました。

https://github.com/google/go-github/pull/2492

私はGoogle OSSに貢献するのが初めてだったのでCLAに署名する必要がありました。

こちらはリンクから簡単に行えました。

CLAとは?

CLA は Contributor License Agreement (コントリビューター ライセンス契約) の頭文字であり、オープンソース プロジェクトの主体と、コードを提供する個人開発者あるいは企業との間で締結される契約を意味します。

https://prtimes.jp/main/html/rd/p/000000052.000042042.html

変更リクエストがありました

私の作業のダブルクォーテーションの位置の間違いです。

丁寧にsuggestion機能でレビューを頂きました。

恥ずかしい> <

上記を治すと、

他にもWindowsでのJobでtestが落ちる、などが発生しました。

こちらについてもしばらく時間がかかったもののWindowsのJobに対しては正しくshellの種類をセットしなければいけないと言ったものでした。

マージされました!

こうしてやっとPRがマージされることになりました。

初めてGoogle OSSに貢献できた...!!

終わりに

Google OSSへの貢献は今回初めてだったのですが、 gmlewis さんが非常に優しくレビューをして頂いたりリアクションがあったりと、とても勉強になり非常に良い体験ができました。

OSS貢献は敷居が高く感じられることも多々ありますが意外とやればすんなり出来るものです。

是非ここまで読んでいただいた皆さんも気軽にOSS貢献してみてください。

ありがとうございました!

明日は@delucciさんの記事になります!お楽しみに!

このエントリーをはてなブックマークに追加

コメント