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

Update env and deps in travis.yml #315

Merged
merged 1 commit into from
May 13, 2019
Merged

Conversation

CamStan
Copy link
Member

@CamStan CamStan commented May 10, 2019

This changes how required packages are set up in Travis so they do not fail as part of the before_install stage. Also changes spack setup and gets rid of the external sds-repo since margo is now upstream in spack.

Also, mercury has now been fixed to build internal headers if not using boost. When it needed boost, travis would time out since the build would take too long. Thus this also creates a packages.yml so that spack doesn't build any dependencies that the travis environment already has and take a long time to build (i.e., cmake, perl, etc). This reduces a fresh (nothing in cache) travis build from ±35 minutes to ±10 minutes.

Also updates the docs to account for any related changes to how a user might build.

Note:

These changes required the travis cache be cleared. Other PRs without these changes might time out as they may attempt to build boost. They should pass again once this has been merged.

Description

  • Changed how packages are installed to the built-in travis method
  • Created a packages.yml to account for dependencies travis already has and to speed up build
  • Cleaned up how spack is set up
  • Configure with the --enable-fortran option that was added in Add --enable-fortran option #314
  • Update build docs

Note for future reference:

In the event that we do want to test with boost enabled for mercury, it can be supplied by the travis environment and added to the packages.yml so that spack doesn't have to build it.

To do this, add a travis trusted boost source (using sourceline: [reference]) under addons: and apt::

addons:
  apt:
    update: true
    sources:
      - sourceline: 'ppa:mhier/libboost-latest'
    packages:
      ⋮

and under packages, add which boost it is:

packages:
  ⋮
  - boost.1.68
  ⋮

Then in the packages.yml, add:

packages:
  ⋮
  boost:
    buildable: False
    paths:
      [email protected]: /usr
  ⋮

Motivation and Context

The sds-repo spack packages are now upstream in spack so we can remove our dependency on that repo.

How Has This Been Tested?

Tested with forked repo's travis (here)

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Performance enhancement (non-breaking change which improves efficiency)
  • Code cleanup (non-breaking change which makes code smaller or more readable)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Documentation (a change to man pages or other documentation)

Checklist:

  • My code follows the UnifyCR code style requirements.
  • I have updated the documentation accordingly.
  • I have read the CONTRIBUTING document.
  • I have added tests to cover my changes.
  • All new and existing tests passed.
  • All commit messages are properly formatted.

This changes how required packages are set up in Travis so they do not
fail as part of the before_install. Also changes spack setup and gets
rid of the external sds-repo since margo is now upstream in spack.

Mercury as now been fixed to build internal headers if not using
boost. When it needed boost, travis would time out. Thus this also
builds a packages.yml so that spack doesn't build any dependencies
that the travis environment already has.

Update build docs to account for the same changes.
Copy link
Collaborator

@MichaelBrim MichaelBrim left a comment

Choose a reason for hiding this comment

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

Looks good Cameron

@adammoody adammoody merged commit e5dc408 into LLNL:dev May 13, 2019
@CamStan CamStan deleted the travis_update branch May 13, 2019 21:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants