Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

コミット時にclang formatでc,hファイルをコンテナ内でフォーマット #25

Draft
wants to merge 6 commits into
base: main
Choose a base branch
from

Conversation

nakamo326
Copy link
Collaborator

変更内容

  • コミット時にbackendコンテナでステージングされてるc,hファイルをフォーマット
  • makeの依存関係に.git/hooks内のスクリプトを追加

なぜ変更したか

  • macとlinuxでclang-formatのバージョンが合わないことがままあるのでフォーマットの環境をコンテナに統一したい

動作確認の方法、動作確認した内容

  • make後、c,hファイルに不要なインデントなどを追加してコミットを試す

その他、レビューで確認してほしいことなど

@nakamo326 nakamo326 requested a review from s-xix98 January 28, 2023 14:03
@nakamo326 nakamo326 changed the title Feature/pre commitでclang format コミット時にclang formatでc,hファイルをフォーマット Jan 28, 2023
@nakamo326 nakamo326 changed the title コミット時にclang formatでc,hファイルをフォーマット コミット時にclang formatでc,hファイルをコンテナ内でフォーマット Jan 28, 2023
@s-xix98
Copy link
Owner

s-xix98 commented Jan 29, 2023

Screen Shot 2023-01-29 at 14 40 46

こんな感じでコピーしないと動かないの面倒だね。

自分の環境だと docker compose image の 名前が、de-backend なんだけど、
ナカモトさんの環境だと、de_backendになってるのか?

あと、自分の環境だと上記が原因でうまく動かなかったんだけど、
コミットには成功しちゃったから、
シェルスクリプトの一番最初に set -eux (x は なくてもいいかも)
とかつけるといいかも。

あと、docker compose が 動作中だと clang-format の コンテナが exit した時に、よくわからんコンテナ名で exit 0 とか出るから、
run の オプションの時に、 --name de-backend-clang-format とかつけてあげてほしいかも。

@nakamo326
Copy link
Collaborator Author

あら
docker-composeが作るイメージの名前環境で違うのかー
確かにイメージ別に用意するほうがよさそうだね
修正します

@nakamo326
Copy link
Collaborator Author

  • フォーマット用のイメージ追加ので環境依存ではなくなったはず
  • set -euつけたからdocker run失敗したら落ちるはず
  • 他、細かい出力修正など

@nakamo326
Copy link
Collaborator Author

これフォーマットでdiffなくなると空コミットできちゃうな
ちょっと考えるます

@nakamo326
Copy link
Collaborator Author

ready for review~~

llvm15-libs \
musl

COPY --from=build /usr/bin/clang-format /usr/bin/clang-format
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

これは、どこから、どこに コピーしてんだ?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

dockerのマルチステージビルドみたいなやつ
1行目のbuildって名前つけたやつから、6行目から始まるステージにコピーしてる

@nakamo326 nakamo326 marked this pull request as draft January 29, 2023 11:38
@nakamo326
Copy link
Collaborator Author

一旦保留

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

コミット時にc,hファイルをコンテナからフォーマットする
2 participants