## 何を見つけたか `supervise.py new release` が書く verify ステップは、`cwd` を元のリポジトリ(メインディレクトリ)にして `git pull -q --ff-only origin <ベースブランチ> && release-verification-steps.py verify-install ...` を打つ。メインディレクトリが本番ブランチ(`main`)にいると、`main` には `develop` に無いマージコミットがあるため fast-forward できず、`fatal: Not possible to fast-forward, aborting.`(exit 128)で止まる。 - スプリント m1914 の `7-release`(開発版 10.22.0-dev.1)で発生。リリース PR #2137 は develop へマージ済みの後で止まり、判定は「履歴の書き換えにつながりうる」として stop を返した - `verify-install` に `--root <リリースの worktree>` を渡し、pull を外すと 3 ランタイムで通った - 本番(`--channel prod`)のプランも同じ形で、`origin develop` を pull しつつ `--ref main` を確かめる ## どこで見つけたか - `plugins/ndf/scripts/supervise_lib/release_templates.py` の 263 行目(verify の `cmd`) - `.ndf/tmp/sprint-m1914/7-release-state/06-verify.out` ## なぜこの変更の範囲外なのか スプリント m1914 の受け入れ条件(#1914・#1529・#1630・#1593)はリリースの雛形の verify を対象にしない。雛形の verify の形(pull の要否・`--root` の渡し方)を変えるのは方針の変更を含むため、即時修正の条件 3 から外れる。根拠: 共通原則の「判断の範囲は目の前の変更・操作に限る」・C4(MVV 版 2) ## 直さないと何が起きるか メインディレクトリを本番ブランチに置いている利用者では、開発版・本番の配布のたびに verify で止まり、手で `--root` 付きに書き換えて流し直す必要がある。判定が stop を返すため、`pace: auto` / `fast` でも人へ戻る。 ## 起票者の推定 - 直し方は「pull を外し `--root` に作業場所を渡す」でよい(推した出所: この会話で手で直して通ったこと) - メインディレクトリを main に置く運用は他の利用者にもある(推した出所: `.ndf/worktree.json` に `follow_branch` が無く、追従先が決まらないこと) ## 由来 PR #2133
Activity