PyPI自動更新のために何が必要か
2026-05-19 時点では、ここで列挙した中核要件(publish workflow、PyPI secret、package 専用 test/lint、analysis-core-v* tag 規約)は一通り満たされ、analysis-core-v0.1.2 で実際に PyPI publish success を確認した。したがってこのページは「何が必要か」の記録として残しつつ、現在の実挙動は pypi-release-trigger と pypi-release-observation-2026-05-19 を優先参照するとよい。pypi-release-observation-2026-05-19より
必須
-
publish workflow の追加
docs/refactoring/phase2_5_plan.mdにはanalysis-core-v*命名の案があり、2026-05-17 時点ではanalysis-core-v*を採用 する判断になった。したがって.github/workflows/publish-analysis-core.ymlはpush.tags: ['analysis-core-v*']で起動する前提で作る必要がある。github-dev-docsより -
PyPI 認証の GitHub Secrets 文書上の自動化案は
pypa/gh-action-pypi-publish@release/v1とsecrets.PYPI_API_TOKENを前提にしている。したがって repository secrets に PyPI 用認証情報を登録する必要がある。github-dev-docsより -
package を build できる job
packages/analysis-core/pyproject.tomlはhatchlingbuild backend を使う。workflow 側では Python 3.12 をセットアップし、python -m build packages/analysis-coreで wheel / sdist を作る job が必要。source-codeより github-dev-docsより -
release gate となるテスト/lint 現在の CI は
apps/api向けのserver-pytest.ymlとruff-check.ymlが中心で、packages/analysis-core/を直接検証する workflow は見当たらない。PyPI 自動更新にするなら、少なくとも package 配下のpytestとruffを publish 前段に置かないと、tag だけで壊れた配布物が出る。source-codeより -
version bump と tag 作成の運用固定 手順書では
packages/analysis-core/pyproject.tomlの version 更新後に tag を打つ前提。自動更新は「何をもって release とみなすか」が必要なので、pyproject.toml更新 → commit → tag push の運用を明文化し、workflow の trigger と一致させる必要がある。github-dev-docsより source-codeより
実務上ほぼ必要
-
TestPyPI を使った検証経路 手順書には TestPyPI 手順がある。いきなり本番 publish するより、
workflow_dispatchか prerelease tag で TestPyPI に流す経路を分けた方が安全。github-dev-docsより -
package ディレクトリ外 build の扱い確認 手動手順では
AbsoluteLinkError回避のため package 外の venv を強調している。GitHub Actions のテンプレは repo root からpython -m build packages/analysis-coreなので、CI 上で問題ないことを一度確認しておくべき。github-dev-docsより
いま不足しているもの
- publish 用
.github/workflows/*.yml - PyPI secret 登録済みという証拠
packages/analysis-core/専用の test/lint workflowanalysis-core-v*tag 規約に沿った publish workflow 本体
最短構成
最短で動かすなら次の 4 点で足りる。
packages/analysis-core/用 pytest/ruff workflow を追加.github/workflows/publish-analysis-core.ymlを追加PYPI_API_TOKENを GitHub Secrets に登録analysis-core-v0.1.1のような release tag を打って運用開始
Open Questions
- publish 前に
apps/api側の互換テストまで必須にするか - PyPI 認証を token secret で持つか、Trusted Publishing に寄せるか
- 「release タイミング自体を自動化するか(tag 付けまで CI 側に持っていくか)」の判断は pypi-release-timing-automation に分離した
Updates
- 2026-05-19: 必須要件が一通り満たされ、
analysis-core-v0.1.2で publish success を観測したことを追記 - 2026-05-17: tag 規約は
analysis-core-v*を採用する前提に更新 - 2026-05-17: Query への filing back として追加。
docs/development/pypi-release.md、docs/refactoring/phase2_5_plan.md、.github/workflows/、packages/analysis-core/pyproject.tomlを照合