Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

This article is a Private article. Only a writer and users who know the URL can access it.
Please change open range to public in publish setting if you want to share this article with other users.

uvとGitHub ActionsでpythonパッケージとドキュメントのCI/CD

Last updated at Posted at 2025-03-27

はじめに

uvとGitHub Actionsでpythonパッケージの自動更新するテンプレートリポジトリを公開しました。

リポジトリ:https://github.com/jiroshimaya/version-update-workflow-sample

主に以下のようなことができます。

  • git tagの自動インクリメント
  • 自動テスト、lint、フォーマット
  • sphinxによるドキュメントのビルドとGitHub Pages上での公開
  • PyPI、TestPyPIでのパッケージ公開

本記事では、このリポジトリを作成した背景と簡単な使い方を紹介します。

背景

Pythonパッケージの開発中に以下の定常作業をなるべく簡単にしたいと思いました。

  • PyPIの更新
  • ドキュメントの更新

この解決策としてGitHub Actionsを使うことが考えられます。
一方、プライベートの開発では高速なpythonパッケージ管理ツールであるuvをよく使用しています。

この課題を持ち始めた時点では、uvとGitHub Actionsを組み合わせたプラクティスが世の中にあまりない気がしました。
そこで、バージョン管理を自動化したり、ドキュメント更新を自動化する方法を検討してきました。

今回、これらの知見を活かして、再利用しやすい形でまとめなおしたテンプレートリポジトリを作成したので、改めて背景や使い方をまとめました。

使い方

  • 本リポジトリをテンプレートとした新規リポジトリを作成してください。
  • 作成したリポジトリページのSettingページのSettingsから以下を設定してください。
    • GitHub ActionsによるリポジトリのReadとWriteの許可
    • GitHub Pagesの作成元をGitHub Actionsに変更
    • PyPIやTestPyPIのトークンをシークレットに登録
  • ローカルにクローン
  • uvが未インストールの場合はインストール
    • curl -LsSf https://astral.sh/uv/install.sh | sh
  • uv run task initを実行して初期化

その他、詳細および最新の使い方はリポジトリのREADMEを参照してください。

おわりに

実際に使いながら引き続き改良していこうと思います。

0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?