Open2
Pythonプロジェクトのビルド・リリース作業の自動化を考えてみる
YouTubeチャンネルを監視して、ライブ配信が始まったら録音してポッドキャスト化するコマンドラインツールをPythonで作っています。ビルドしてPyPIにアップロードする作業の手順を覚えられないので、自動化の方法を検討してみます。
対象のレポジトリ → harupong/ytpodgen
やりたいことは以下のとおりです。
-
pyproject.toml
に書かれているバージョン番号を編集する -
pyproject.toml
をコミットして、バージョン番号を付けたタグを作る - ビルドしてPyPIにアップロードする
プロジェクト管理にはpoetryを使っています。現状の作業手順は以下のとおりです。
poetry version <patch/minor/major>
git add pyproject.toml && git commit -m $(poetry version -s)
git push origin main
gh release create --generate-notes "v$(poetry version -s)"
git fetch --tags origin
poetry publish --build -u ${PYPI_USERNAME} -p ${PYPI_SECRET}
検討している方法は以下の3つです。
- シェルスクリプトで自動化する
- Makefileで自動化する
- GitHub Actionsで自動化する