conda-forgeに登録したパッケージのバージョンアップ
はじめに
こちらの記事で記載しているパッケージ(仮想高分子ライブラリ発生器 SMiPoly)をバージョンアップし、PyPIとconda-forgeに反映したので、次回に備え、conda-forgeの部分をメモ。
素人がなんとかマニュアルを読み解き、みたいなところがあるので、参考程度にご覧ください。
概要
PyPIでバージョンアップすると、 regro-cf-autotick-botがversion updateを自動作成してくれ、このpull request (PR) をmergeするだけでよかった。
内容
1. マニュアル参照
conda-forgeのpackageメンテナンスマニュアル に従って作業。Top pageからは、
"Docs / Maintainer Documentation / Maintaining packages"。中ほどに"Example workflow for updating a package"の項目があるので参照した。
2. conda-forgeのfeedstockをローカルにclone
結果的に、botが自動生成してくれたPRを使用したので、今回はこのcloneを使う機会はなかったが、work flowにも記載があり、事前に実施している。
-
https://github.com/conda-forge 上部の検索窓にパッケージ名を入力し、conda-forge/<パッケージ名>-feedstockを探して移動
- <パッケージ名>-feedstockのページ上部のForkボタンを押すと、自分のgithubリポジトリに <パッケージ名>-feedstockが追加される。
- ローカルPCにフォルダを作成し、gitbashを起動して、そのフォルダへ移動。
gitbashで
git clone https://github.com/<your-github-id>/<パッケージ名>-feedstock
を入力してcloneを作成
3. botのremoteを追加
マニュアルの"1. Manually setting up git remotes:"に記載のとおり実施。 上記のcloneしたディレクトリに移動して、
$git remote add regro-cf-autotick-bot git@github.com:regro-cf-autotick-bot/<package>-feedstock.git
ただし、この時点で、botがPyPIでのバージョンアップをまだ検知していないためだと思うが、次の手順Fetchは実施できなかった。
4. botからの連絡を待つ
PyPIに新しいバージョンを登録後、3時間程度で、botからpull request (PR) がメール(登録しているメールアドレス宛)で届き、Reviewを求められた。
メール中のリンクから、botが作成したbranchに飛び、右上の "Add your review"をクリックした(画面キャプチャせず)。特に何も問題ないと判断したので、次の "Review changes" で "approve" を選択して、submit review。
5. 内容を確認してMergeした
3 checks passedで、他に問題もないと判断し、手順書記載の" In most cases you can simply merge this PR"でよかったなあ、と思いつつ、"Merge pull request"を押す。
5分後くらいには、anaconda.org、conda-forgeとも新バージョンが公開されていました。
念のために、新規で仮想環境を作って、conda installで動作確認。問題ありませんでした。
まとめ
登録時のgrayskullによるmeta.yamlの作成といい、今回のregro-cf-autotick-botといい、自動化の恩恵著しいですね。
Discussion