自作のRustクレートをcrates.ioに公開する
Page content
公開したのは大昔に書いたbrainfuck方言生成器。
リンク
- repo: https://github.com/guricerin/bf-derivatives-tools
crates.io
: https://crates.io/crates/bf-derivatives-tools
経緯
去年の3月、上記のリポジトリにissue報告が来た。おれがownerであるリポジトリに初めて報告された記念すべきissueだったが、かなり適当な対応をしてしまった。
で、昨日とつぜん謎のやる気が湧いてきてcode fixするとともに、勉強がてらクレート公開やCI/CD実装も行った。
ライブラリ更新
小さいプログラムなので依存ライブラリ自体が少なく、たいして手間はかからなかった。
ついでにeditionも2018から2021に更新。ガイドに記載されてる通り、cargo fix --edition
したりなんやかんやの手順でOK。
テスト作成
そもそもテスト書いてなかったのでついでに作成。だが、超ぞんざいな結合テストのみである。
クレート公開
ガイドに従えばOK。詰まる部分はないはず(Rustの公式ドキュメントすごく丁寧だな)。
CI/CD
RustのGitHub Actionsは全然わかってないが、actions-rust-lang/setup-rust-toolchainを使用した。しち面倒くさいcacheもよしなに設定してくれてそうな雰囲気がある。
Publish release
したら自動でcargo publish
を実行するようにした。publishの際に用いるcrates.ioのAPIトークンはRepository secrets
に保存し、ワークフローから参照させている。
あとは適当にBranch protection rules
やCode security and analysis
を設定して完了(これらは最初の段階でやるべきだって?いやまったくもってその通りです)。