Remove the FrontISTR_manual submodule and the leftover manual assets

Close #811 (closed)

目的

本 MR は 2 つの目的を含む。2 点目は 1 点目の調査中に発見した既存不具合であり、対象ファイル・対象ジョブが重なるため同一 MR にまとめている。

  1. doc/FrontISTR_manual submodule の廃止と、マニュアル向けに残っていた不要ファイル・CI 定義の削除
  2. pages ジョブが生成する _redirects のパースエラーの修正

変更内容

1. submodule の廃止

コミット 内容
2cc1c7ea .gitmodules と doc/FrontISTR_manual の gitlink を削除
cace114c doc/create_docs.sh、doc/requirements.txt、.gitignore の doc/manuals 行を削除

いずれも 9ee22e4e(2020-11-13)で CI からマニュアルビルドが外れて以降、参照元が存在しない。

2. マニュアルリンクとリダイレクトの削除

コミット 内容
51dce5ce public/index.html のマニュアル 2 リンク、doc/_redirects(145 ルール)、document ジョブを削除

public/index.html のマニュアルリンクは実体を持たず 404 を返していた。doc/_redirects はそれらを FrontISTR_manual 側へ転送するための定義であり、リンク削除により役割を失う。document ジョブは cp doc/_redirects public/_redirects のみを行っていたため、ジョブごと削除した。stages の document は doxygen ジョブが使用するため残している。

ユーザーマニュアルは FrontISTR_manual プロジェクト自身の GitLab Pages(カスタムドメイン https://manual.frontistr.com/ )で公開されており、本リポジトリ側に公開設定は存在しない。本 MR はマニュアルの公開に影響しない。

3. _redirects パースエラーの修正

コミット 内容
f46c5630 pages ジョブの deb 向けリダイレクト行を削除

削除した行は $(find . -name "FrontISTR_*.deb") を埋め込んでおり、hybrid 構成の deb が ubuntu2204 / ubuntu2404 の 2 つ存在するため 2 パスに展開され、1 行が 4 フィールドになっていた。この結果 _redirects 全体がパース不能となり、定義済みリダイレクトが 1 件も機能していなかった。

deb パッケージは https://pages.frontistr.com/release/deb/ から直接提供されているため、行を修復せず削除した。これにより残る Windows 向け zip のリダイレクト 2 件が本来の意図どおり機能する見込みである。

4. document イメージと CI/CD ドキュメントの整理

コミット 内容
bcf67993 docker/ci/Dockerfile.ubuntu2204 / .ubuntu2404 の document ターゲットから python3 python3-pip を削除
8691651f doc/CICD/manual.md の記述を実態に合わせて更新

python3 / python3-pip は pip3 install -r doc/requirements.txt のために入っていたもので、document イメージの用途は doxygen の実行のみである。

注記: .gitlab-ci.yml の変数 REGISTRY は上流レジストリ registry.gitlab.com/frontistr-commons/frontistr を指すため、docker/ci/Dockerfile.* の変更は本 MR のマージだけでは CI に反映されない。反映するには docker/ci/Makefile の document ターゲットでイメージをビルドし、レジストリへ push する必要がある(Developer 以上の権限が必要)。

タスク

  • pages ジョブに、_redirects 生成直後の妥当性検証(全行が 3 フィールドであることの確認)を追加する

今回のパースエラーは、CI が動的生成する _redirects の健全性を検証する仕組みが無いため、長期間気づかれないまま放置されていた。同種の破綻を即座に検出できるようにしておきたい。

動作確認

個人 fork へ push し、CI パイプラインで確認した。

ソースコード(.f90 / .c / .h)および CMake 関連ファイルへの変更はない。

レビュー時にご確認いただきたい点

  1. pages ジョブは feature ブランチでは実行されない(only: [master, release])ため、修正後の _redirects が GitLab Pages に受理されるかはマージ後に確認が必要です。curl https://pages.frontistr.com/_redirects がパースエラーを返さないこと、および旧 zip URL が 301 を返すことをご確認ください。
  2. 残した zip リダイレクト 2 行のパス接頭辞は /FrontISTR/... です。実体ファイルは接頭辞なしの https://pages.frontistr.com/release/... と接頭辞ありの https://frontistr-commons.gitlab.io/FrontISTR/release/... の双方で 200 を返すため、接頭辞が不要である可能性があります。今回は挙動が未検証のため変更していません。

Merge request reports

Loading
Loading