Skip to content

ci(dprint): check every tracked file instead of only the config itself #439

Closed

Description

@furedea-agent

CI の dprint check --config dprint/dprint.json が,リポジトリの JSON/TOML/Markdown を実質チェックしていない.
dprint は includes を設定ファイルのあるディレクトリ(dprint/)基準で解決するため,対象が dprint/dprint.json 自身の 1 ファイルだけになっている.
CI で全 tracked ファイルを確実にチェックするよう修正する.

項目 before after
CI の dprint 対象 dprint/dprint.json の 1 ファイル(実測) tracked の JSON/TOML/Markdown 全件
未整形ファイルの検出 されない CI が失敗する
flowchart LR
  C["dprint check --config dprint/dprint.json"] --> R["includes を dprint/ 基準で解決"]
  R --> X["対象: dprint/dprint.json のみ"]
Loading

受け入れ条件

  • CI の dprint ステップが tracked の JSON/TOML/Markdown 全件を対象にすることを,dprint output-file-paths 等の出力で確認する
  • 未整形のファイルを置くと CI の dprint ステップが失敗する(意図的に崩したファイルで確認)
  • 新たに対象になったファイルを整形するか,生成物(例: nvim/lazy-lock.json)は理由付きで excludes に入れる
  • ~/dprint.json(グローバル設定)としての挙動と lefthook の挙動を壊さない
範囲・前提・出典
  • 範囲: .github/workflows/ci.yml の format-check ジョブ,dprint/dprint.json(excludes),新たに対象になるファイルの整形
  • 除外: bats の CI 対象(別 Issue)
  • 前提: build(dprint): format Markdown with dprint instead of prettierd #438(Markdown を dprint に移行)のマージ後に着手する.md の includes はそこで追加される
  • 実測: dprint output-file-paths --config dprint/dprint.json をリポジトリルートで実行すると dprint/dprint.json だけを返す.tracked の JSON/TOML は 15 件
  • 同種の不具合: build(hooks): format Markdown with dprint instead of prettierd agent-config#139 で hook 側の --includes-override の相対パス解決を修正済み
  • 案: リポジトリルートに dprint/dprint.json を extends する設定を置く,または CI で git ls-files の結果を位置引数で渡す

Activity

  1. furedea-agent commented on Nov 10, 2026

    @furedea-agent
    ContributorAuthor

    実装計画(改訂: 設定をリポジトリのルートへ移す)

    原因は設定ファイルが dprint/ サブディレクトリにあり,dprint が includes を設定ファイルのディレクトリ基準で解決すること.回避スクリプトではなく,設定をルートへ移して原因を取り除く.

    項目 before after
    設定の場所 dprint/dprint.json ./dprint.json
    ~/dprint.json dprint/dprint.json へのリンク ./dprint.json へのリンク(中身は同じ)
    CI dprint check --config dprint/dprint.json dprint check(対象: tracked の JSON/TOML/Markdown 全件)
    lefthook --config ~/dprint.json リポジトリの設定を自動検出
    不採用 scripts/ci/check_dprint.sh と専用 bats(回避策),ルート設定の extends(dprint が includes を拒否)

    Lane D — ci/check-every-tracked-file-with-dprint(PR #448 を作り直す)

    • git mv dprint/dprint.json dprint.json
    • nix/home/default.nix のリンク元,README の表,tests/esa/format.bats の参照を更新する
    • CI の format-check を dprint check --incremental=false にする.lefthook も --config ~/dprint.json を外す
    • scripts/ci/check_dprint.sh と tests/ci/dprint_scope.bats を削除する
    • 検証: リポジトリのルートで dprint output-file-paths が tracked の JSON/TOML/Markdown 全件(60 件)と一致する.nix flake check が通る.CI の format-check が通る
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions