Commit Graph

152 Commits

Author SHA1 Message Date
Louis Dionne
b7e594e507 [Travis] Test against latest Boost versions 2016-10-16 09:21:24 -07:00
Louis Dionne
04705f0041 [Travis] Make sure we do not conflict with the Hana headers shipped with Boost 2016-10-16 09:19:44 -07:00
Louis Dionne
2674a6a6ec [Travis] Add support for Clang 3.9 2016-10-09 15:30:06 -07:00
Louis Dionne
d133fa9d80 [Travis] Add a Travis job for building without exceptions on OS X 2016-10-09 14:47:59 -07:00
Louis Dionne
1d078dedac [Travis] Use newer OS X image for the CHECK_FORMATTING job
This fixes a failing Travis build due to an interaction between rubygems and
SSL certificates.
2016-10-08 13:31:15 -07:00
Louis Dionne
dc500cdbe3 [Travis] Only test one Xcode version per major version
This should significantly reduce the load on Travis and shorten build times,
while not impacting the effective coverage all that much.
2016-08-14 15:39:35 -07:00
Louis Dionne
856dea0bae [Travis] Add a job with Xcode 8 2016-08-04 19:31:00 -07:00
Louis Dionne
aa706ee276 [doc][Travis] Filter errors and warnings in Travis, not in CMake 2016-07-23 14:12:38 -07:00
Louis Dionne
1c849b74a3 [Travis] Cache downloads of Boost, which take forever 2016-07-13 22:34:07 -07:00
Louis Dionne
e4a3ce2666 [Travis] Update Doxygen version
Also, add some @cond and @endcond blocks to remove stupid Doxygen warnings.
Doxygen really can't parse C++ properly, can it?
2016-07-08 13:46:39 -07:00
Louis Dionne
77e17d2a08 [Travis] Only install CMake on OS X when not already installed
For some reason, the Xcode 6.4 image suddenly started having CMake installed
through Homebrew, and thus the `brew install cmake` step started failing.
2016-07-08 10:42:33 -07:00
Louis Dionne
eb2bb88b0f [Travis] Upgrade to CMake 3.5.2 and use implicit CXX when setting up CMake 2016-07-05 21:23:50 -07:00
Louis Dionne
135e8b89ac [Travis] Only generate the benchmarks on Clang 3.8.0 2016-06-26 10:03:12 -07:00
Louis Dionne
3ebfdeb1ad [Travis] Cache LLVM downloads 2016-06-21 07:19:50 -07:00
Louis Dionne
87d5adb80a [Travis] Do not allow failures on Xcode 7.3 anymore 2016-06-19 13:23:32 -07:00
Louis Dionne
fc9df49c15 [Travis] Re-enable the job on Xcode 6.3
Closes #283
2016-06-19 10:32:18 -07:00
Louis Dionne
1e1ff3a0ae [Travis] Add support for GCC 6
Also, remove the job on Clang with libstdc++, since that is
now tested with GCC 6.
2016-06-17 16:49:58 -07:00
Louis Dionne
412d86da1c [Travis] Explicitly state the OS and compiler for each job 2016-06-17 16:49:34 -07:00
Louis Dionne
34c0c3010c [Travis] Add -nostdinc++ when using locally-built libc++ 2016-06-14 22:12:12 -07:00
Louis Dionne
f08e824a34 [Travis] Install Clang manually, without LLVM's apt repository
Fixes #286
2016-06-11 14:37:44 -07:00
Louis Dionne
03b948918e [Travis] Temporarily disable the beta-xcode6.3 image
The build hangs for an unknown reason. Hence, we disable
it until #283 is fixed.
2016-05-28 11:56:24 -07:00
Louis Dionne
c29086e9e1 [Travis] Add llvm-toolchain-precise-3.8 apt source 2016-03-31 17:49:54 -04:00
Louis Dionne
96650a9caf [Travis] Bump Clang 3.7.0 to 3.7.1 2016-03-21 13:51:13 -04:00
Louis Dionne
0abef28d5a [Travis] Co-install all the packages to simplify Travis script 2016-03-21 13:37:27 -04:00
Louis Dionne
8a8219f943 [Travis] Do not benchmark with Clang 3.5 anymore 2016-03-21 13:37:26 -04:00
Louis Dionne
663fe6be98 [Travis] Add mainstream testing on Clang 3.8 2016-03-21 13:37:26 -04:00
Louis Dionne
5d2e9cc58f [Travis] Move Xcode 7.2 out of beta, and add Xcode 7.3 beta 2016-03-10 18:15:12 -05:00
Louis Dionne
1aeb611b04 [Travis] Remove set -e 2016-03-06 11:13:49 -05:00
Louis Dionne
08a63d6cbf Fix more Boost-inspect errors 2016-01-15 16:50:07 -05:00
Louis Dionne
a250583149 [Travis] Fix invocation of pcregrep 2016-01-14 11:34:14 -05:00
Louis Dionne
dc90dc52d0 Fix some Boost-inspect errors
- Non-ASCII characters
- Files not ending with a newline
- Missing copyright notices
2016-01-13 12:38:09 -05:00
Louis Dionne
7e04b36268 Add BOOST_HANA_ENABLE_DEBUG_MODE and optional checks in make_set and make_map
Closes #230
2016-01-06 09:25:41 -05:00
Louis Dionne
83aec20fa3 [doc][b2] Generate documentation by cloning from gh-pages
Generating the documentation from scratch left the benchmarks out.
Instead of trying to properly generate the documentation locally,
we now leave this to Travis CI and simply clone the proper version
of the documentation.
2016-01-03 20:06:34 -05:00
Louis Dionne
c41a5cb6be Update copyright notices for 2016 2016-01-01 14:54:06 -05:00
Louis Dionne
f55e345d6f Suggest using doc/html instead of doc/gh-pages to store the documentation 2015-12-29 13:44:39 -05:00
Louis Dionne
0a69c7ae61 [Doc] Store the benchmarks per-commit on the gh-pages branch
Fixes #225
2015-12-22 18:55:54 -05:00
Louis Dionne
eb72349008 [Travis] Test against Boost 1.60 instead of 1.59 2015-12-21 10:23:50 -05:00
Louis Dionne
d0415fd371 [Travis] Use a default value for BOOST_VERSION
This will make it easier to update the version of Boost; we only have to
modify what the default value points to.
2015-12-21 10:23:50 -05:00
Louis Dionne
855df7724c [Travis] Split Boost.Build logic, and do not push documentation twice 2015-12-20 12:18:27 -05:00
Louis Dionne
5d70c9cc3f [Travis] Use -isystem instead of -I to include libc++'s headers 2015-12-17 17:18:30 -05:00
Louis Dionne
00d544afd0 [Travis] Add a job checking for common formatting errors 2015-12-16 14:19:32 -05:00
Louis Dionne
fb3a6fb52f Drop support for Boost 1.57 and 1.58 2015-12-16 11:55:24 -05:00
Louis Dionne
72806b5203 [Travis] Test on Xcode 7.1 and 6.3 2015-12-09 14:50:14 -05:00
Louis Dionne
8008626d4d [Travis] Fix benchmark failure due to compiler minor version bump 2015-11-25 20:49:56 -05:00
Louis Dionne
5abc67b6f4 [Travis] Fail the whole script whenever any subcommand fails 2015-11-22 17:49:53 -05:00
Louis Dionne
8257e0cb5a [Travis] Reorganize and reorder jobs
- Improve the logical separation between jobs in .travis.yml.

- Put all the jobs that are allowed to fail at the end in order to
  know the result of important jobs first.

- Workaround the empty job bug [1] and regroup documentation jobs

[1]: https://github.com/travis-ci/travis-ci/issues/4681
2015-11-07 13:22:47 -05:00
Louis Dionne
131b46a6fd [Benchmarks] Allow running multiple benchmarks at the same time
On Travis, also test the benchmarks on two cores to speed up the builds.
2015-11-07 12:09:01 -05:00
Louis Dionne
cad139b675 [Travis] Only check the benchmarks during the BENCHMARKS=true jobs
This should give a decent speed up to our Travis build.
2015-11-06 17:41:00 -05:00
Louis Dionne
c8234ae493 [Travis] Add a job testing on XCode 7.2 beta 1
The job is allowed to fail for now, while this is still in beta.
2015-11-04 18:26:43 -05:00
Louis Dionne
d4cd945bc8 [Travis] Do not check certificates when downloading CMake 2015-11-04 18:19:51 -05:00
Louis Dionne
51bacd2a32 [Travis] Update CMake version 2015-11-03 10:57:32 -05:00
Louis Dionne
7ed85a0185 [Travis] Do not build branches prefixed with pr/ 2015-10-20 19:48:58 -04:00
Louis Dionne
67f2c4a887 [Travis] Build the documentation with Boost.Build 2015-10-20 08:31:56 -04:00
Louis Dionne
8b711bbeb8 [Travis] Run the tests with Boost.Build too 2015-10-19 09:53:20 -04:00
Louis Dionne
dbd0fb9246 Change links from ldionne/hana to boostorg/hana 2015-10-19 09:41:47 -04:00
Louis Dionne
cff7039ab3 [CMake/Travis] Simplify CMake setup by moving benchmark and doc uploads to Travis
The benchmarks/documentation were only ever updated from Travis, and it
is much simpler to do it directly in bash from Travis than to write it
in CMake as we did.
2015-10-04 16:48:38 -04:00
Louis Dionne
26a40bb623 [Benchmarks] Do not run benchmarks in Default build type on Clang 3.5 2015-10-03 21:15:00 -04:00
Louis Dionne
716a720d37 Add copyright notice to .travis.yml, since everyone is using it 2015-09-28 18:33:15 -04:00
Louis Dionne
55d2845f99 Fix the build on Clang 3.8
- Properly fetch libc++ trunk on Travis
- Remove unused variable warnings
2015-09-28 15:57:24 -04:00
Louis Dionne
18077266e2 [Travis] Properly install the right libc++ all the time 2015-09-14 11:39:52 -04:00
Louis Dionne
f31295a004 [Travis] Add testing on OS X and refactor .travis.yml
Also

- Add a Travis job without Boost
- Only test Boost 1.58.0 on one compiler, to reduce the size of the matrix
- Reorder the environment variables to prettify the Travis matrix
- Add a job to build on Clang trunk, but allow failures
2015-09-13 23:30:38 -04:00
Louis Dionne
2e00dd4706 [Travis] Allow Boost trunk to fail 2015-09-12 17:36:02 -04:00
Louis Dionne
e1f03b8747 [Travis] Only test Boost 1.57 and trunk on the latest clang, to save time 2015-09-09 20:24:16 -04:00
Louis Dionne
37317353b2 [Travis] Re-enable support for (just released) clang 3.7 2015-09-09 20:24:16 -04:00
Louis Dionne
be5a787741 [CMake][Travis] Add support for building without exceptions
Also, swap the project() and the cmake_minimum_required() commands
in the top-level CMake file, as this silences a warning when building
on Cygwin. See #168.
2015-09-07 23:19:31 -04:00
Louis Dionne
2ce5819d11 [Travis] Avoid timeouts when building the tests by allowing output 2015-09-03 16:46:23 -04:00
Louis Dionne
cb94d18440 [Travis] Clean up and simplify .travis.yml
- Remove useless allowed failure for Boost trunk, which does not work anyway
- Remove Clang 3.7, which is broken now. Will re-enable when Clang 3.7 is released
- Use JSON-style YAML lists to reduce vertical whitespace pollution
- Rename stdc++ to libstdc++
- Improve the locality of setting CXXFLAGS & related flags
- Specify the DEPS_DIR explicitly when exporting PATH
- Remove useless `if` guard over LLVM urls
- Use multiline strings to simplify if statements
- Remove now obsolete calls to `free`, `vmstat` & al
2015-08-25 18:36:15 -04:00
Louis Dionne
31c08e11b5 [Travis] Add testing on Boost 1.59.0
Also update Doxygen, CMake and libc++ versions
2015-08-25 18:35:10 -04:00
Louis Dionne
9c9d938c7d [Travis] Build examples and tests in two separate commands to avoid timeouts 2015-08-19 09:42:46 +01:00
Louis Dionne
c854278994 [Travis] Temporarily disable testing on Clang-3.7, since the clang-3.7 package can't be found 2015-07-26 12:42:19 +02:00
Louis Dionne
d2616239f2 [Travis] Explicitly enable the memory checker 2015-07-18 12:27:28 +02:00
Louis Dionne
bbfd3b8a9e [Travis] Add a Travis job building with Clang + libstdc++
Also, add -ftemplate-depth=-1 in the benchmarks to avoid failures
due to hitting the recursive template instantiation limit.

Fixes #159
2015-06-30 23:53:46 +02:00
Louis Dionne
fd7b81e091 [Travis] Use COMPILER instead of CLANG_VERSION 2015-06-30 23:52:18 +02:00
Louis Dionne
a9dbb0af6f [Travis] Try to speed up the build by diminishing uses of the memory checker 2015-06-30 00:26:46 +02:00
Louis Dionne
1e89c69049 [CMake] Remove LIBCXX_ROOT cruft and properly explain the situation in the README
Also:
- Remove the boost_hana_add_executable function, which is now useless
- Properly set the LD_LIBRARY_PATH to link against a custom libc++
- Adjust the Travis build

Fixes #135
2015-06-24 20:07:13 -04:00
Louis Dionne
f47c52b07f [Travis] Properly allow failures on Clang trunk and Boost trunk 2015-06-12 18:57:31 -04:00
Louis Dionne
350f68c523 [Travis] Add a job testing without the concept checks 2015-06-12 17:30:37 -04:00
Louis Dionne
482177ac3e [Travis] Always install Doxygen and Ruby + gems
This caused the benchmarks not to be run because Ruby + gems were not
being installed unless BENCHMARKS=true.
2015-06-05 22:28:30 -04:00
Louis Dionne
7b1de7fe43 [Travis] Speed up the travis build
- Make sure the check.benchmarks are serialized
- Run Doxygen with Clang 3.6 instead of Clang trunk
- Download prebuilt Doxygen instead of building from source
- Run unit tests on two cores
2015-06-05 19:38:27 -04:00
Louis Dionne
254954cace [Travis] Properly build libc++ with libc++abi 2015-06-02 23:58:15 -04:00
Louis Dionne
647e695951 [CMake] Add the check target and fix minor annoyances 2015-05-30 12:23:01 -04:00
Louis Dionne
37161c8f49 [Travis] Properly compile with -Werror
Fixes 933b7d, which did not do its job properly.
2015-05-28 19:33:07 -04:00
Louis Dionne
933b7d73ea [Travis] Compile with -Werror 2015-05-25 11:24:25 -04:00
Louis Dionne
aa2edb08ce [CMake] Reduce the number of targets and modularize the code 2015-05-22 16:23:54 -04:00
Louis Dionne
e6d0fa9487 [CMake] Use Find modules to find optional external libraries 2015-04-28 10:46:44 -04:00
Louis Dionne
f0ca4df2da [Benchmarks] Fix benchmarks broken by ca37fdf
Also check the benchmarks when we're on develop, to make sure they're
not broken.
2015-04-25 19:52:06 -04:00
Louis Dionne
1538677829 [Travis] Run the benchmarks in Debug and Release configurations
Fixes #49
2015-04-22 22:58:29 -04:00
Louis Dionne
d3373b27d4 [Travis] Dissociate my email from the Travis bot 2015-04-21 16:50:13 -04:00
Louis Dionne
ac2f5222cd [Travis] Run the unit tests under valgrind 2015-04-18 22:36:40 -04:00
Louis Dionne
9a0e356421 [Travis] Run the benchmarks on each compiler and other minor enhancements 2015-04-18 12:51:26 -04:00
Louis Dionne
d8183c374c [Travis] Test against the official Boost 1.58.0 release instead of rc1 2015-04-17 16:17:35 -04:00
Louis Dionne
ba435f29e8 [Travis] Add travis_wait to large downloads to make sure we don't timeout 2015-04-10 17:49:29 -04:00
Louis Dionne
891cb21d11 [Travis] Test on clang-3.5 too
The solution was suggested in https://github.com/travis-ci/travis-ci/issues/3505. Thanks!
2015-04-08 20:58:29 -04:00
Louis Dionne
fa65252596 [Travis] Use travis_retry to workaround network issues and compile.all -k to see all failures 2015-04-07 18:50:56 -04:00
Louis Dionne
f46df65b6d [Travis/Readme] Add Gitter integration 2015-04-03 16:39:35 -04:00
Louis Dionne
7021c2dd3c [Travis] Move to the container-based infrastructure
- Build libc++ properly on Travis (with CMake)
- Test against Boost trunk
- Build the documentation and push to gh-pages when on master
2015-04-03 13:42:15 -04:00
Louis Dionne
7f1d25226e [Travis] Properly link against libc++ 2015-04-02 08:49:41 -04:00
Louis Dionne
1e38c71567 [Travis] Kill Postgres and Mysql 2015-03-22 11:00:50 -04:00
Louis Dionne
17d07ccf4c [Travis] Restart jobs after OOMs 2015-03-21 00:32:09 -04:00
Louis Dionne
41914809a2 [Travis/Test] Clean up and modularization
- Properly setup build matrix
- Clean up .travis.yml
- Try building with Boost 1.57 and Boost 1.58
- Install dependencies to the deps/ subdirectory
- Reduce memory usage of test/type.cpp
- Re-enable some Fusion tests
2015-03-19 12:45:26 -04:00