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

minimum_user_for_s2eを使ったS2E向けビルドCI #26

Merged
merged 7 commits into from
Nov 22, 2021

Conversation

sksat
Copy link
Collaborator

@sksat sksat commented Nov 22, 2021

概要

Examples/minimun_user_for_s2eをビルドするだけ

Issue

詳細

とりあえずS2E with C2AではなくC2Aのみで完結したビルドCIが欲しい(C2A単体でのワーニングなどを認識するため).
そこで,exampleのsrc下にこのリポジトリをsrc/src_userとしてcloneしてしまい,ビルドする.

検証結果

windows runnerを使ってビルドが通った
https://github.com/ut-issl/c2a-core/runs/4285174934?check_suite_focus=true

影響範囲

小: Examples/minimum_user_for_s2eのCMakeのオプションを追加しただけ.後でいいかんじにしたくはあるものの,とりあえず現状に即してはいる.

補足

いいかんじにやるならcoreのuser部への依存を整理したり色々やる必要があるが,とりあえず現状の状態でビルドCIを入れるならこう

@sksat sksat added the enhancement New feature or request label Nov 22, 2021
@sksat sksat requested a review from meltingrabbit November 22, 2021 10:35
@sksat sksat self-assigned this Nov 22, 2021
@sksat
Copy link
Collaborator Author

sksat commented Nov 22, 2021

private repoのうちはwindows runnerは高速に課金される(高速に無料枠を喰い潰す)ので,そこにだけは注意

@sksat
Copy link
Collaborator Author

sksat commented Nov 22, 2021

rebaseします

@meltingrabbit
Copy link
Collaborator

meltingrabbit commented Nov 22, 2021

確認したいこと

  • 32bitビルドできてるか
  • (一応現状では仕方がないので)C89ビルドできてるか

@sksat
Copy link
Collaborator Author

sksat commented Nov 22, 2021

これS2E用(実際使う時はC++としてビルドされる)ので,C89指定するのはちょっと違うんですよね...

@meltingrabbit
Copy link
Collaborator

あー,たしかに.なのでC89チェックしたいなら,別のActionを建てるべきか...
32bitは現状S2Eも32bitなので,仕方ないとして.

@meltingrabbit
Copy link
Collaborator

今後,C89サポートはやめる方向ではあるが,やめたとしても,特定のバージョンに適合してるかチェックは入れないとだめだよね(このPRの範疇外なので,別途issue立てときます.)

@sksat
Copy link
Collaborator Author

sksat commented Nov 22, 2021

そしてS2Eの方のCMakeLists.txtにはこういうものはあるけど32bit指定されてるのか?という疑問が発生している

if(WIN32)
  add_definitions(-DWIN32)
endif()

@sksat
Copy link
Collaborator Author

sksat commented Nov 22, 2021

ワーニングを認識するため,と思ったけれど,これはSILSのために「C++として解釈されてもビルドが通るか」のために使うべきっぽいな

@meltingrabbit
Copy link
Collaborator

そんな気がしてきましたね.

@200km
Copy link
Member

200km commented Nov 22, 2021

そしてS2Eの方のCMakeLists.txtにはこういうものはあるけど32bit指定されてるのか?という疑問が発生している

@sksat 解決しているかもですが、Visual Studioでの32bit指定はjsonファイルの方で指定されています。
その他のコンパイラでは、set(CMAKE_CXX_FLAGS "-m32 -rdynamic -Wall -g")あたりで指定されています。

@sksat
Copy link
Collaborator Author

sksat commented Nov 22, 2021

なるほど!そういうことでしたか > jsonファイル

そしてS2Eの方のCMakeLists.txtにはこういうものはあるけど32bit指定されてるのか?という疑問が発生している

@sksat 解決しているかもですが、Visual Studioでの32bit指定はjsonファイルの方で指定されています。 その他のコンパイラでは、set(CMAKE_CXX_FLAGS "-m32 -rdynamic -Wall -g")あたりで指定されています。

@meltingrabbit
Copy link
Collaborator

#27 で議論が進んでいるように,C89によるワーニング確認のためのビルドは別で持つので,ここでは, これはSILSのために「C++として解釈されてもビルドが通るか」 を目的にする.

そして,このPRは32bitビルドが確認できれば,マージする.

@sksat
Copy link
Collaborator Author

sksat commented Nov 22, 2021

これでx64ではなくx86のcl.exeが使われるようになったのでは

@sksat sksat requested a review from meltingrabbit November 22, 2021 12:46
@sksat sksat changed the title example userを使ったビルドCI minimum_user_for_s2eを使ったS2E向けビルドCI Nov 22, 2021
Copy link
Collaborator

@meltingrabbit meltingrabbit left a comment

Choose a reason for hiding this comment

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

gitignoreに Examples/minimum_user_for_s2e/build を足したい気持ちはある.

が,approveしてます.(こういうのってこっちで勝手にcommitしちゃってOKなやつ?)

@sksat
Copy link
Collaborator Author

sksat commented Nov 22, 2021

それぐらいはよいのでは(せっかくforkしてないわけですし)

@meltingrabbit
Copy link
Collaborator

というわけで,足した. LGTMです~

@sksat sksat merged commit b1b4b64 into develop Nov 22, 2021
@sksat sksat deleted the feature/build-ci branch November 22, 2021 15:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants