boostorg / contract

Contract programming for C++
http://www.boost.org/doc/libs/develop/libs/contract/doc/html/index.html
Boost Software License 1.0
40 stars 27 forks source link

Add CI framework #24

Closed jeking3 closed 5 years ago

jeking3 commented 5 years ago

This pull requests integrates this code repository with various continuous integration tools.

This is based on the work in boost-ci, found at https://github.com/boostorg/boost-ci. This work aims to make code submissions higher quality and detect issues before code is submitted to develop. This means authors, maintainers, bug fixers are encourages to submit pull requests for all their changes, and let the CI build verify they are good before merging.

To take advantage of this a number of steps have to be taken by an admin on this repository to enable Travis CI and Appveyor. Since these are not currently enabled on this repository, I built this pull request on my fork where it is integrated:

AppVeyor: https://ci.appveyor.com/project/jeking3/contract/builds/25032326 Travis CI: https://travis-ci.org/jeking3/contract/builds/541239458

If you are interested I can help configure and maintain these tools for you, but it would require granting me admin access to set this up. I am on the Boost CMT.

There are a number of known failures; if these are never going to be fixed (like gcc 4.8 and 4.9) they can be removed from the build. I already removed MSVC 2010 and 2012, but I left MSVC 2013 because it looks like a new issue. Valgrind was fixed, but I guess that broke gcc 5 builds, so that was fixed and now valgrind is broken again. The CI framework will help avoid these "whack a mole" scenarios if changes go in through pull requests.

jeking3 commented 5 years ago

Sorry, closed the wrong one! Wanted to close my fork's PR.

jeking3 commented 5 years ago

Sorry, the closing and opening caused a duplicate build in the travis.com account; Build #2 is a duplicate of Build #3. You can cancel Build #2 to free up some resources.

codecov[bot] commented 5 years ago

Codecov Report

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

Impacted file tree graph

@@            Coverage Diff             @@
##             develop      #24   +/-   ##
==========================================
  Coverage           ?   63.07%           
==========================================
  Files              ?       30           
  Lines              ?      715           
  Branches           ?      279           
==========================================
  Hits               ?      451           
  Misses             ?      108           
  Partials           ?      156

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 eedf51b...dc61522. Read the comment docs.

lcaminiti commented 5 years ago

I looked at the pull request. This all new stuff to me... but it looks good. Before I merge it to develop, I would like to confirm: Will this pull request run CI on example/ or just test/?

jeking3 commented 5 years ago

It runs b2 on the top level Jamfile and I disabled examples/ in there. If you have any questions about how this works let me know, I'd be happy to expand on what's going on.