何を見つけたか
tests/ に pytest のテスト一式(tests/cli tests/commands tests/project tests/snapshot など 10 ディレクトリ)がありますが、.github/workflows/ci.yml はこれを実行しません。CI が動かすのは次の 3 つだけです。
| ジョブ |
内容 |
python-syntax |
python -m compileall -q lib bin |
lint |
ruff check --select=E9,F63,F7,F82 lib |
shellcheck |
shellcheck --severity=error を bin/ と install.sh へ |
compileall は構文しか見ず、ruff の E9,F63,F7,F82 は構文エラーと明らかな誤りだけです。テストが壊れても main へ入ります。
どこで見つけたか
.github/workflows/ci.yml。#139 の修正方針を検討し、回帰テストの追加先を確認する過程で気づきました。
なぜこの変更の範囲外なのか
#139 の受け入れ条件は devbase build <image> が正しい docker コマンドを組み立てることと、その回帰テストが tests/ にあることです。CI の構成は受け入れ条件に含まれず、issues/old/PLAN49_build-image-argument.md の「対象範囲(含まない)」にも「CI に pytest を追加すること」として明記しています。
直さないと何が起きるか
テストを足しても、それが壊れたことに CI が気づきません。#139 で追加する devbase build <image> の回帰テストも、追加した本人が手元で実行したとき以外は誰も走らせないため、引数解釈が再び壊れても気づけません。同じ形の不具合が再発します。
導入時には次を確認する必要があります。
uv のセットアップ手順(pyproject.toml / uv.lock がある)
- 実
docker を必要とするテストがある場合の切り分け(マーカーか、CI では除外するか)
由来
issue #139
進行
モード: light / 作業ツリー: .worktrees/ci/pytest / 計画: issues/PLAN60_ci-pytest.md
何を見つけたか
tests/に pytest のテスト一式(tests/clitests/commandstests/projecttests/snapshotなど 10 ディレクトリ)がありますが、.github/workflows/ci.ymlはこれを実行しません。CI が動かすのは次の 3 つだけです。python-syntaxpython -m compileall -q lib binlintruff check --select=E9,F63,F7,F82 libshellcheckshellcheck --severity=errorをbin/とinstall.shへcompileallは構文しか見ず、ruffのE9,F63,F7,F82は構文エラーと明らかな誤りだけです。テストが壊れても main へ入ります。どこで見つけたか
.github/workflows/ci.yml。#139 の修正方針を検討し、回帰テストの追加先を確認する過程で気づきました。なぜこの変更の範囲外なのか
#139 の受け入れ条件は
devbase build <image>が正しいdockerコマンドを組み立てることと、その回帰テストがtests/にあることです。CI の構成は受け入れ条件に含まれず、issues/old/PLAN49_build-image-argument.mdの「対象範囲(含まない)」にも「CI に pytest を追加すること」として明記しています。直さないと何が起きるか
テストを足しても、それが壊れたことに CI が気づきません。#139 で追加する
devbase build <image>の回帰テストも、追加した本人が手元で実行したとき以外は誰も走らせないため、引数解釈が再び壊れても気づけません。同じ形の不具合が再発します。導入時には次を確認する必要があります。
uvのセットアップ手順(pyproject.toml/uv.lockがある)dockerを必要とするテストがある場合の切り分け(マーカーか、CI では除外するか)由来
issue #139
進行
モード: light / 作業ツリー:
.worktrees/ci/pytest/ 計画:issues/PLAN60_ci-pytest.md