目次
問題になった経緯
GithubActionsでCIを実行したところblackがエラーになったので、コマンドでblackを実行してコミットした。
これで大丈夫!と思ったら次はisortのエラーになったので、コマンドでisortを実行してコミットした。
そしたらまたblackのエラーが!!
もう一度、コマンドでblackを実行してコミット。
そしたらまたisortのエラー。。
blackを実行すればisortのエラーになるし、isortを実行すればblackのエラーになるし。。
どうしたらいいの?🥺
原因
blackとisortではフォーマットのルールが異なるためコンフリクトしてしまう。
解決策
isortにはprofileというオプションがあり、black互換用のprofileも提供されているのでそれを利用する
https://pycqa.github.io/isort/docs/configuration/profiles.html
--profile black
こうやって修正したよ
isortの処理を記述しているymlファイルにオプションを追記してあげるだけ。
修正前
.yml
#blackの設定
- name: black
run: |
black {対象ファイル} --check
#isortの設定
- name: isort
run: |
isort $file --check-only
修正後
.yml
#blackの設定
- name: black
run: |
black {対象ファイル} --check
#isortの設定
- name: isort
run: |
isort $file --check-only --profile black