-
Notifications
You must be signed in to change notification settings - Fork 392
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
iox-#1542 Support Bazel build system #1543
iox-#1542 Support Bazel build system #1543
Conversation
Signed-off-by: Karl Wallner <[email protected]>
Signed-off-by: Karl Wallner <[email protected]>
Signed-off-by: Karl Wallner <[email protected]>
Signed-off-by: Karl Wallner <[email protected]>
… to use c++14 Signed-off-by: Karl Wallner <[email protected]>
Signed-off-by: Karl Wallner <[email protected]>
…-build Signed-off-by: Karl Wallner <[email protected]>
Signed-off-by: Karl Wallner <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I support this new feature completely but three questions/things are still open for me:
-
Who is responsible for the bazel setup and takes care of additional bazel issues? @kwallner would you be willing to respond quickly to upcoming bazel issues?
-
We have at the moment no verification by the CI that this bazel setup is actually working. Could you add a bazel CI target for ubuntu-latest where everything is build.
-
For which platforms do we want to provide bazel support? Only linux or the full platform list, namely: FreeBSD, MacOS, Windows, QNX and Linux? This is nowhere mentioned in the markdown files and needs to be added if bazel support is restricted to certain platforms.
That will be me.
The CI target will be added with this MR, Karl just made the intial commits ready.
Ubuntu only (20.04). |
Signed-off-by: Karl Wallner <[email protected]>
@kwallner
Wouldn't this not make our project harder to integrate into other bazel workspaces?
For now it is ok to enforce here C++14 as we do the same in CMake. We do not change the C++ standard that often so that maintaining this file should not be a problem.
We have to consider that we already face considerable build times on the GitHub Actions with the existing jobs due to increased usage of Runners for etc. Possible follow-ups on the following questions:
|
@kwallner You need to add the |
Signed-off-by: Karl Wallner <[email protected]>
Codecov Report
@@ Coverage Diff @@
## master #1543 +/- ##
==========================================
+ Coverage 78.88% 78.94% +0.05%
==========================================
Files 378 379 +1
Lines 14483 14489 +6
Branches 2028 2028
==========================================
+ Hits 11425 11438 +13
+ Misses 2431 2424 -7
Partials 627 627
Flags with carried forward coverage won't be shown. Click here to find out more.
|
Fixed already. |
Signed-off-by: Karl Wallner <[email protected]>
Don't understand checklist task "All touched (C/C++) source code files are added to ./clang-tidy-diff-scans.txt". What is the actual TODO here? |
@kwallner this check affects only the C++ code in iceoryx, since we are only touching the include paths for the internal API (and correct it) this is out of scope here. |
Signed-off-by: Dietrich Krönke <[email protected]>
00985ed
to
278c07c
Compare
Add linter check for bazel in CI Signed-off-by: Dietrich Krönke <[email protected]>
b8b7b5a
to
378fd8d
Compare
Signed-off-by: Dietrich Krönke <[email protected]>
Signed-off-by: Dietrich Krönke <[email protected]>
ed1d335
to
0e1dff1
Compare
LGTM from my side! Many thanks @kwallner for this great contribution. 👏 |
Follow-up topics for Bazel are tracked here: #1547 |
Pre-Review Checklist for the PR Author
iox-123-this-is-a-branch
)iox-#123 commit text
)git commit -s
)task-list-completed
)./clang-tidy-diff-scans.txt
Notes for Reviewer
Building
Building as described in
doc/website/getting-started/installation.md
with:Build will use
gcc
. Other compilers can be selected using environment variables:Testing
Running all tests with:
Issues / Open Points / Discuss
1. Bazel version is not defined
Would be an option to set a specific bazel version in
.bazelversion
file.2. C++-Standard is set to C++14
Used
.bazelrc
to set compiler flags for c++14.Changing will require to edit
.bazelrc
.3. Only linux (ubuntu 20.04) tested
Extending to different operating systems would be an follow up issue.
Maybe should be created right away.
Checklist for the PR Reviewer
./clang-tidy-diff-scans.txt
Post-review Checklist for the PR Author
References