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

Improve CI build environment with code coverage, static analysis, valgrind #72

Merged
merged 1 commit into from
Jan 22, 2018

Conversation

jeking3
Copy link
Contributor

@jeking3 jeking3 commented Jan 19, 2018

Adds the following to the CI build environment:

  • codecov.io
  • Coverity Scan
  • cppcheck
  • ubsan
  • valgrind

@jeking3 jeking3 self-assigned this Jan 19, 2018
@jeking3 jeking3 requested a review from pdimov January 19, 2018 16:17
- os: linux
env:
- COMMENT="C++03"
- TOOLSET=gcc,gcc-7
Copy link
Member

Choose a reason for hiding this comment

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

g++ 7 is -std=gnu++14 by default if you don't pass anything; if you really want c++03, need cxxstd=03.

Copy link
Member

Choose a reason for hiding this comment

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

Just saw that you're setting it to 03 in ci/build.sh if not set; you can ignore that then :-) although I'd still use CXXSTD: 03 here. Testing without -std= set is a legitimate scenario that you might wish to enable.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Thanks!

Copy link
Contributor Author

Choose a reason for hiding this comment

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

This is handled in the ci/build.sh script.
CXXSTD=03 is used if not set otherwise for this particular repo.

.travis.yml Outdated
- COMMENT=UBSAN
- B2_VARIANT=variant=debug
- TOOLSET=gcc-7
- CXXFLAGS="cxxflags=-fno-omit-frame-pointer cxxflags=-fsanitize=undefined"
Copy link
Member

Choose a reason for hiding this comment

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

You have to use -fno-sanitize-recover=undefined here; without it, the sanitizer prints messages to stderr, but the test passes and nobody's any the wiser. :-)

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Thanks! I will change this too.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@pdimov thanks for catching this; I applied it to the other repositories where I run UBSAN and it uncovered something in serialization, and as you can see in the failed build uncovered a few things in DateTime too.

@jeking3 jeking3 force-pushed the add-codecov-io branch 5 times, most recently from b5ee2d5 to a321930 Compare January 21, 2018 13:42
@codecov
Copy link

codecov bot commented Jan 22, 2018

Codecov Report

❗ No coverage uploaded for pull request base (develop@313c1a3). Click here to learn what that means.
The diff coverage is n/a.

Impacted file tree graph

@@            Coverage Diff             @@
##             develop      #72   +/-   ##
==========================================
  Coverage           ?   93.71%           
==========================================
  Files              ?       80           
  Lines              ?     5015           
  Branches           ?        0           
==========================================
  Hits               ?     4700           
  Misses             ?      315           
  Partials           ?        0

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 313c1a3...7512833. Read the comment docs.

@jeking3 jeking3 merged commit d8a1ed3 into boostorg:develop Jan 22, 2018
@jeking3 jeking3 deleted the add-codecov-io branch January 22, 2018 01:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants