PyPIへのリリースはどういう時に発生するか
kouchou-ai-analysis-core の PyPI リリースは、analysis-core-v* 形式の git tag を push した時 に発生する。main への merge や通常の branch push だけでは発生しない。pypi-release-observation-2026-05-19より
具体的な発火条件
publish workflow .github/workflows/publish-analysis-core.yml は push.tags: ['analysis-core-v*'] で起動する。したがって release の実務上の条件は次の通り。
packages/analysis-core/pyproject.tomlとanalysis_core.__version__を bump- その commit を含む状態を remote へ push
analysis-core-v0.1.2のような tag を push- GitHub Actions が
ruff→pytest→build→Publish to PyPIを順に実行 - 全て success の時だけ PyPI に公開
発生しないケース
- PR を作っただけ
- draft / ready を切り替えただけ
- PR を merge しただけ
mainに commit を pushしただけanalysis-core-v*以外の tag を push しただけ
2026-05-18 の観測では、publish workflow を main に入れただけでは release は起きず、analysis-core-v0.1.1 tag push で初めて workflow が起動した。pypi-release-observation-2026-05-19より
release が「起動したが公開されない」ケース
tag push で workflow は起動しても、前段の test/lint が失敗すると PyPI 公開は行われない。2026-05-18 の analysis-core-v0.1.1 では、version hardcode test が落ちたため Publish to PyPI は skip された。つまり tag push は必要条件だが十分条件ではない。pypi-release-observation-2026-05-19より
実務上の答え
「PyPI へのリリースはどういう時に発生するか?」への短い答えはこれ。
analysis-core-v* tag を push した時に GitHub Actions が走り、その workflow が最後まで成功した時に発生する。
Open Questions
- 将来 TestPyPI 経路を入れるなら、
analysis-core-v*以外に prerelease 用 tag 規約を増やすか - Trusted Publishing へ移行した時も trigger を tag push のまま維持するか
- 「tag 付け自体を自動化するか」は別ページで判断を分けた。pypi-release-timing-automation を参照
Updates
- 2026-05-19: 初回作成。
analysis-core-v0.1.1failure /v0.1.2success 観測を元に整理