☝️

conda-forgeに登録したパッケージのバージョンアップ

2024/05/12に公開

はじめに

こちらの記事で記載しているパッケージ(仮想高分子ライブラリ発生器 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にも記載があり、事前に実施している。

  1. https://github.com/conda-forge 上部の検索窓にパッケージ名を入力し、conda-forge/<パッケージ名>-feedstockを探して移動
  2. <パッケージ名>-feedstockのページ上部のForkボタンを押すと、自分のgithubリポジトリに <パッケージ名>-feedstockが追加される。
  3. ローカル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