Commit Graph

3 Commits

Author SHA1 Message Date
Isis Lovecruft f18205f2e1
Fix CI homebrew checks for outdated packages.
(cherry picked from commit 8f8689f70235dc19cbc5092ea148af5772a9cdc3)
2017-07-25 00:57:32 +00:00
Isis Lovecruft 6632271823
Fix and expand upon our Travis CI configuration.
* CHANGE .travis.yml so that commands for different purposes (e.g. getting
   dependencies, building, testing) are in separate config lines and sections.
 * CHANGE .travis.yml to use their mechanism for installing dependencies via
   apt. [0]  This also allows us to not need sudo (the "sudo: false" line).
 * CHANGE Travis CI tests (the "script:" section) to build and run tests in the
   same manner as Jenkins (i.e. with --enable-fatal-warnings and
   --disable-silent-rules and run `make check`).
 * CHANGE Travis config to install nightly rustc and cargo.
 * CHANGE Travis config to split rust install into commands for getting
   dependencies ("before_install:") and commands for installing them
   ("install:").
 * REMOVE shell redirection when downloading the rustup.sh script.
 * CHANGE cargo to be in "online mode" so that we can get our Rust dependencies.
   There's not really a way to get the dependencies without using cargo
   right now.  See https://bugs.torproject.org/22830 for more info.
 * REMOVE cargo "offline mode" envvars from rustup.sh invocation.
 * ADD commands to get more info about rustc and cargo before building.
 * FIX sourcing the cargo/toolchain environment that rustup creates. (Without
   this, our build scripts don't know about anything called "rustc" or "cargo".)
 * ADD Travis configuration to do all the target builds with both GCC and clang.
 * ADD make flags to build with both of the cores available.
 * ADD notifications for IRC, and configure email notifications (to the author
   of the commit) only if the branch was previously building successfully and
   the latest commit broke it.
 * ADD the ability to run the Travis build matrix for OSX as well, but leave it
   commented out by default (because it takes roughly ten times longer, due to a
   shortage of OSX build machines).
 * ADD Travis config option to cancel/fail the build early if one target has
   already failed ("fast_finish: true").
 * ADD comments to describe what our Travis config is doing and why it is
   configured that way.

[0]: https://docs.travis-ci.com/user/installing-dependencies/#Installing-Packages-on-Container-Based-Infrastructure)
2017-07-17 21:43:05 +00:00
Patrick O'Doherty c32e6d6730
.travis.yml to run test suite
Installs dependencies (including rust) and runs the existing test suite.

TODO: Introduce build matrix utilizing the rust toolchain to run test
suites both with and without the rust components.
2017-07-17 21:32:05 +00:00