Skip to content

v0.2.0

Latest

Choose a tag to compare

@github-actions github-actions released this 28 Jul 08:20
fix(release): 配布用 ZIP (vendor 同梱) のビルドと Release 自動添付を追加

GitHub が自動生成する "Source code (zip)" には .gitignore 済みの vendor/ が
含まれないため、それを WordPress にアップロードすると有効化時に
vendor/autoload.php が見つからず Fatal Error になっていた (テスト利用者からの報告)。
Releases に Source code しか無く、composer 実行済みの配布物を出す経路が
そもそも存在しなかったのが原因。

1. bin/build-zip.sh: runtime に必要なファイルだけを staging して composer を通し、
   build/amane-blog-distribution-<version>.zip を出力する。
   依存はプラグインヘッダの "Requires PHP" (= 7.4) を platform に固定して解決する
   (開発機の composer.lock をそのまま使うと PHP 8.1 以上を要求する
   symfony/deprecation-contracts v3 が混ざり、ヘッダの宣言と実体が食い違うため)
2. bin/zip-dir.php: zip コマンドが無い環境向けのフォールバック。
   PowerShell の Compress-Archive はエントリ名がバックスラッシュ区切りになることがあり、
   その zip は WordPress 側で解凍すると階層が壊れるので使わない
3. .github/workflows/release.yml: タグ push で zip をビルドして Release に自動添付。
   タグ名とプラグインヘッダの Version が一致しない場合はリリースさせない
   (Stable tag と実体のズレは wordpress.org 公開時の最頻出事故のため)
4. ci.yml に package ジョブを追加。PR の時点で「zip がビルドでき vendor が入っている」
   ことを検証し、同じ事故の再発を構造的に防ぐ
5. プラグイン本体: vendor/autoload.php が読めない場合は Fatal Error ではなく
   管理画面通知で「配布用 ZIP を使ってください」と案内して静かに停止する
6. README: Source code (zip) では導入できない旨と、自前ビルド手順を明記