Closed2

tfaction の module 含めた変更検知のあるべき姿を整理する

Shunsuke SuzukiShunsuke Suzuki

https://github.com/suzuki-shunsuke/tfaction/issues/1966

  • module with tfaction_module.yaml
  • directory with tfaction.yaml
  • directory in tfaction-root.yaml
  • directory without tfaction.yaml
  • module without tfaction_module.yaml

  • ファイルが directory in tfaction-root.yaml 配下にあるとき、 module 関係なくその directory は変更されている
  • update_local_path_module_caller が有効なとき
    • module が変更された、 tfaction_module.yaml の有無にかかわらずその module に依存する module 及び directory は変更されている
  • directory が nest しているとき、最も近い(深い) directory のみ変更されている
  • module が nest しているとき、最も近い(深い) module のみ変更されている
  • directory 内に module があり、 module が変更されたとき、その directory も変更されている
  • module 内に directory があり(その状況はおかしいきがするが)、 directory が変更されたとき directory のみ変更されている
Shunsuke SuzukiShunsuke Suzuki
  • module with tfaction_module.yaml のリスト
  • directory with tfaction.yaml のリスト
  • module (tfaction_module.yaml を持たないものも含む) => module を使っている module と directory のリスト

各変更されたファイルがどれに属するかまず調べる。
そのためにコンテナとなる directory と module のリストを作成し、ソートする必要がある。

ただし、

directory 内に module があり、 module が変更されたとき、その directory も変更されている

なので module と directory を同じ配列にするとうまく扱えない。
module, directory それぞれ list を用意し、ファイルが属する module, directory を調べ、深さを比較する。

  • module > directory > file
  • directory > module > file
このスクラップは25日前にクローズされました