.readthedocs.yml
基本情報 [必須]
| 項目 | 内容 |
|---|---|
| ファイルパス | .readthedocs.yml |
| 種別 | Read the Docs ビルド設定 |
| 適用環境 | Read the Docs ホスティング環境(CI/CD) |
概要 [必須]
このファイルは Read the Docs v2 形式のビルド設定であり、Scrapy のドキュメントサイト(docs.scrapy.org)のビルドプロセスを定義している。Ubuntu 24.04 上で Python 3.14 を使用し、tox 経由で Sphinx ドキュメントをビルドした後、出力を Read the Docs の公開ディレクトリにコピーする。tox の docs 環境を利用することで、ローカル開発環境と Read the Docs のビルド環境で同一のビルドプロセスを保証している。
設計パターン [必須]
設定ファイルのため、特定の設計パターンは使用していません。
主要な構成要素 [必須]
クラス / 関数一覧
設定ファイルのため、クラスや関数の定義は存在しません。
重要なメソッド・関数の詳細 [必須]
設定ファイルのため該当なし。
設定項目一覧 [必須]
| セクション | キー | 値 | 説明 | 推奨値 |
|---|---|---|---|---|
| - | version | 2 |
Read the Docs 設定ファイルのスキーマバージョン | 2(最新) |
| build | os | ubuntu-24.04 |
ビルドに使用する OS イメージ | 最新の LTS |
| build.tools | python | "3.14" |
ビルドに使用する Python バージョン | プロジェクトがサポートする最新バージョン |
| build.commands[0] | - | pip install tox |
tox のインストール | - |
| build.commands[1] | - | tox -e docs |
tox の docs 環境でドキュメントをビルド |
- |
| build.commands[2] | - | mkdir -p $READTHEDOCS_OUTPUT/html |
出力ディレクトリの作成 | - |
| build.commands[3] | - | cp -a docs/_build/all/. $READTHEDOCS_OUTPUT/html/ |
ビルド成果物を Read the Docs 出力ディレクトリにコピー | - |
環境別差分 [必須]
| キー | 開発環境 | Read the Docs 環境 | 理由 |
|---|---|---|---|
| ビルドコマンド | tox -e docs で直接実行 |
tox -e docs 後に $READTHEDOCS_OUTPUT へコピー |
Read the Docs は $READTHEDOCS_OUTPUT/html/ を公開ディレクトリとして使用するため |
| Python バージョン | 任意 | 3.14(固定) | ドキュメントビルドの再現性を確保するため |
セキュリティ考慮 [必須]
| 設定項目 | 現在値 | 推奨値 | リスク |
|---|---|---|---|
| OS イメージ | ubuntu-24.04 | 最新 LTS | 古い OS イメージはセキュリティパッチが適用されていない可能性がある |
| pip install tox | バージョン未固定 | バージョン固定推奨 | tox の破壊的変更やサプライチェーン攻撃のリスク |
依存関係 [必須]
| 関連先 | 種別 | 関連内容 |
|---|---|---|
| tox.ini | 設定 | [testenv:docs] 環境の設定を使用してドキュメントをビルドする |
| docs/requirements.txt | 依存 | tox の docs 環境が参照する Sphinx 関連の依存パッケージ |
| pyproject.toml | 設定 | [tool.sphinx-scrapy] の python-version 設定と同期が必要 |
定数一覧 [必須]
設定ファイルのため、定数定義は存在しません。
リレーション [必須]
Model ではないため該当なし。
オーバーライドメソッド [必須]
設定ファイルのため、親クラスをオーバーライドするメソッドは該当なし。
データ構造 [必須]
設定ファイルのため、クラスプロパティや入出力データ構造の定義は該当なし。
注意点・特記事項 [必須]
- 変更時の影響範囲: docs.scrapy.org のビルドプロセス全体に影響する。変更は Read the Docs 上でのビルド失敗を引き起こす可能性がある
- 再起動要否: 設定変更後は Read the Docs 側で自動的に再ビルドが実行される(ブランチへの push 時)
- 他の設定との関連: Python バージョン(3.14)は
pyproject.tomlの[tool.sphinx-scrapy]のpython-versionと一致させる必要がある。tox のdocs環境設定はtox.iniで管理されている
技術的負債・既知の問題 [必須]
| 種別 | 内容 | 影響度 | 改善案 |
|---|---|---|---|
| 設定 | pip install tox でバージョンが固定されていないため、tox の破壊的変更によりビルドが失敗する可能性がある |
中 | pip install tox==X.Y.Z のようにバージョンを固定する |
拡張性・保守性 [必須]
- 拡張ポイント:
build.commandsにコマンドを追加することで、ビルドパイプラインにステップを追加できる - 制約事項: Python バージョンは
pyproject.tomlの[tool.sphinx-scrapy]のpython-versionと一致させる必要がある。tox のdocs環境設定の変更も同時に考慮すること - テスト容易性: ローカルで
tox -e docsを実行することで、Read the Docs と同等のビルドプロセスを再現可能
関連ファイル [必須]
- tox.ini.md -
[testenv:docs]環境でドキュメントビルドの設定を定義 - pyproject.toml.md -
[tool.sphinx-scrapy]のpython-version設定と同期が必要