Skip to content

Travis-CI tidy and expand build matrix for GCC 7 #376

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

Merged
merged 15 commits into from
May 8, 2017
Merged

Conversation

zbeekman
Copy link
Collaborator

@zbeekman zbeekman commented May 7, 2017

Avg response time coverage on master
Issue Stats Codecov branch

Summary of changes

.travis.yml was simplified, cleaned and tidied, and all CMake build configurations are tested per build matrix entry, excluding InstallScript builds. GCC 7 still hasn't hit Precise toolchain-r-test so GCC 7 is only enabled on Mac OS, for now.

Rationale for changes

GCC 7 has been officially released, and includes important bug fixes, and new features for OpenCoarrays. In addition, our reported test coverage will increase because tests specialized to new features and GCC 7 will now be aggregated with Codecov.io along with GCC 6 tests.

Additional info and certifications

This pull request (PR) is a:

  • Bug fix
  • Feature addition
  • Other, Please describe:

I certify that:

  • I have reviewed the contributing guidelines
  • If this PR is a work in progress I have added WIP: to the
    beginning of the PR title
  • If this PR is problematic for any reason, I have added
    DO NOT MERGE: to the beginning of the title
  • The branch name and title of this PR contains the text
    issue-<#> where <#> is replaced by the issue that this PR
    is addressing
  • I have deleted trailing white space on any lines that this PR
    touches
  • I have used spaces for indentation on any lines that this PR
    touches
  • I have included some comments to explain non-obvious code
    changes
  • I have run the tests localy (ctest) and all tests pass
  • Each commit is a logically atomic, self-consistent, cohesive
    set of changes
  • The commit message should follow these guidelines:
    • First line is directive phrase, starting with a capitalized
      imperative verb, and is no longer than 50 characters
      summarizing your commit
    • Next line, if necessary is blank
    • Following lines are all wrapped at 72 characters and can
      include additional paragraphs, bulleted lists, etc.
    • Use Github keywords where appropriate, to indicate the
      commit resolves an open issue.
  • I have signed Contributor License Agreement (CLA) by
    clicking the "details" link to the right of the licence/cla
    check and following the directions on the CLA assistant webpage
  • I have ensured that the test coverage hasn't gone down and added new unit tests to cover an new code added to the library

For contributors and SI team members with code review priviledges

zbeekman added 7 commits May 4, 2017 15:59
 - Partially reverts e293e5d
 - Correctly handles Mac OS homebrew install of gcc@6
 - See also #65 (comment)
 - Expand build matrix over GCC 6 & 7 instead of BUILD_TYPE, skipping 7
   on Ubuntu due to not being in Travis-CI white-list (but only use 6
   for install script)
 - Run all CMake build types in each GCC (6 or 7) instance but not
   install script instances
 - Make some style changes: always brace variables and use the new test
   command (`[[ ... ]]` instead of '[ ... ]`) and use `type -P` instead
   of `which`, and compress ifs with && operators inside double brackets
 - pip install yamllint
 - gem install yaml-lint
@codecov
Copy link

codecov bot commented May 7, 2017

Codecov Report

Merging #376 into master will decrease coverage by 6.91%.
The diff coverage is n/a.

@@            Coverage Diff            @@
##           master    #376      +/-   ##
=========================================
- Coverage   46.22%   39.3%   -6.92%     
=========================================
  Files           3       3              
  Lines        1045    1707     +662     
  Branches      201     294      +93     
=========================================
+ Hits          483     671     +188     
- Misses        483     937     +454     
- Partials       79      99      +20

@zbeekman
Copy link
Collaborator Author

zbeekman commented May 7, 2017

I guess coverage goes down because more conditional code is included, despite more tests being added. I think this makes sense in the coverage diff because we've hit an additional 188 lines by enabling GCC 7 but have missed and additional 454 for a net decrease.

zbeekman added 8 commits May 7, 2017 13:26
 Cleaned with:

 - shellcheck
 - style.pl
 - shfmt -i 2
 - Marks a build as failed/errored as soon as a job has
   failed/errored (that isn't an allowed failure)
 - Marks a build as successful when the only remaining jobs are allowed
   failures and all others have returned successfully
 - Previously just having OPENCOARRAYS_DEVELOPER *set* would enable dev
   tests. Now must be set to something that CMake evaluates to true in
   `if ( <string> )` see `if()` documentation for help
 - Add back `set -o errexit` so that Travis-CI will detect errors
 - Due to `[[ -v var ]]`, probably not in bash3? Or only supported by
   old test command
 - Error introduced by me, @zbeekman a few commits ago
@zbeekman
Copy link
Collaborator Author

zbeekman commented May 7, 2017

Assuming I fixed the install script test issue, this PR

looks good to me

Approved with PullApprove Approved with PullApprove

@zbeekman zbeekman merged commit 82ccc59 into master May 8, 2017
@zbeekman zbeekman deleted the travis-experiment branch May 8, 2017 01:08
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.

1 participant