MASTmultiphysics / mast-multiphysics

Multidisciplinary-design Adaptation and Sensitivity Toolkit (MAST) - Sensitivity-enabled multiphysics FEA for design
https://www.mast-multiphysics.com
GNU Lesser General Public License v2.1
44 stars 24 forks source link

Update Travis CI integration to test build on multiple OS's/compilers. #47

Closed jdeaton closed 4 years ago

jdeaton commented 4 years ago

Travis CI will now execute a total of 7 different jobs.

6 of these jobs consist of different OS's/compilers and versions of the libMesh dependency. This provides a layer of robustness for the build process. Additional environments are straightforward to add. The current environments are:

An additional job does not compile any code, but rather builds the doxygen documentation. If this job runs on the master branch, it will then deploy the documentation to the website. I separated this part out from the actual code builds because it significantly shortens the other jobs and give more time to be able to run unit tests or the example problems on those workers once that is setup.

It appears that Travis allows an account to run 3 simultaneous jobs based on the order in the matrix in .travis.yml. I currently have it ordered to run a code build on both macOS/clang and Linux/GCC as well as the doxygen documentation job first.

Also, as of this pull request, the libMesh-1.5.0 versions will fail until a few changes are made to MAST source.

jdeaton commented 4 years ago

Check the details of the failing builds here: https://github.com/MASTmultiphysics/mast-multiphysics/pull/47/checks?check_run_id=310489834

You will see we are passing both Linux and macOS for older libMesh versions. #48 fixes the libMesh v1.5 issues, which I fixed later.