Commit Graph

194 Commits

Author SHA1 Message Date
teor
e2eec40c44
Merge branch 'travis-osx-029' into travis-osx-032
Merge asciidoc from 029 with rust from 032.
2018-08-10 19:06:01 +10:00
teor
d514e98663
Travis: add a missing macOS asciidoc env var 2018-08-10 18:26:33 +10:00
teor
a1c110a2a4
Merge branch 'travis-osx-033' into travis-osx-034
Take the asciidoc changes from 033, and the module changes from
034.
2018-08-10 16:41:27 +10:00
teor
ed1210d0f1
Merge branch 'travis-osx-032' into travis-osx-033
Preserve 033 changes since 032.
2018-08-10 16:38:13 +10:00
teor
f5aa667d48
Travis: Check Rust with distcheck in 0.3.3 and later
Backports an 0.3.4 change that also works in 0.3.3.

Part of 24629.
2018-08-10 16:37:06 +10:00
teor
a544af8186
Travis: Use TOR_RUST_DEPENDENCIES for 0.3.3 and later
TOR_RUST_DEPENDENCIES used to be spelt RUST_DEPENDENCIES in 0.3.2.

Re-applies 0.3.3 changes after 24629.
2018-08-10 16:34:04 +10:00
teor
69adc68ac6
Merge branch 'travis-osx-029' into travis-osx-032
Simple merge to resolve order conflicts.
2018-08-10 16:31:35 +10:00
teor
169afe3ca5
Travis: Improve Rust comments 2018-08-10 16:30:21 +10:00
teor
e78f9c5dfb
Travis: add a missing macOS asciidoc dependency 2018-08-10 16:24:31 +10:00
teor
2a33edc595
Travis: Check disable module dirauth with and without rust
Part of 24629, also fixes 27088.
2018-08-10 13:23:58 +10:00
teor
7ec75e014f
Travis: Check Rust with distcheck in 0.3.3 and later
Backports an 0.3.4 change that also works in 0.3.3.

Part of 24629.
2018-08-10 12:44:20 +10:00
teor
82cccfbe25
Travis: Use TOR_RUST_DEPENDENCIES for 0.3.3 and later
TOR_RUST_DEPENDENCIES used to be spelt RUST_DEPENDENCIES in 0.3.2.

Re-applies 0.3.3 changes after 24629.
2018-08-10 12:42:18 +10:00
teor
f398da2e2d
Travis: put distcheck first for readability 2018-08-10 12:41:58 +10:00
teor
f4f2e43f5d
Travis: put distcheck first for readability 2018-08-10 12:33:51 +10:00
teor
3b1c74baa5
Travis: Use cargo cache
Closes ticket 26952.
2018-08-10 11:23:26 +10:00
teor
f76cddd376
Travis: fix a typo 2018-08-10 10:50:35 +10:00
teor
aee51d9a0e
Travis: fix a typo 2018-08-09 23:44:27 +10:00
teor
e387eee362
Travis: add rust cargo offline mode
Backports parts of the 0.3.3 travis config.

Part of 24629.
2018-08-09 23:42:26 +10:00
teor
14ceee0fd1
Travis: add rust cargo online mode
Forward-ports parts of the 0.3.2 travis config on top of the 0.2.9
merge.

Also:
* build rust on clang and gcc, Linux and macOS
* build combinations of non-default options on gcc Linux
* exclude broken builds
* log the rustup version

Part of 24629.
2018-08-09 23:40:24 +10:00
teor
e4d7f2667c
Travis: add lzma and zstd, where available
Forward-ports parts of the 0.3.2 travis config on top of the 0.2.9
merge.

Part of 24629, also fixes 27090.
2018-08-09 22:22:27 +10:00
teor
fa9a0cc1fe
Travis: list installed package versions before building
Part of 24629.
2018-08-09 22:19:03 +10:00
teor
23b242104b
Travis: run an asciidoc build
Implements 27087.
2018-08-09 22:19:00 +10:00
teor
286a6bc3b8
Travis: Use ccache
Part of ticket 26952.
2018-08-09 22:18:53 +10:00
teor
74b3a340df
Travis: make macOS builds work for Tor 0.2.9
Tor 0.2.9 needs extra help to find OpenSSL on macOS.

Part of 24629.
2018-08-09 22:18:44 +10:00
teor
7cf7b52fca
Travis: create configure flags once, then echo the flags
Creating the configure flags once avoids inconsistent flags
between configure and distcheck configure.

Echoing the flags helps developers work out what configure is
doing.

(Backported to 0.2.9 and later as a precaution.)

Fixes 27088 on 0.3.4.1-alpha, adds logging in previous releases.
2018-08-09 22:18:12 +10:00
teor
515d190b2c
Travis: enable macOS builds
Also:
* explain why we don't install zlib

Part of 24629.
2018-08-09 22:17:50 +10:00
teor
c53f17fb1a
Travis: Rewrite .travis.yml
Build on all compilers:
* default options + hardening

Build on gcc:
* coverage (+ no hardening)
* distcheck
* no hardening

Add some extra logging:
* tail config.log on failure
  (config.log is too long for travis to render)

Put the config in a more logical order
* Sort config items in chronological order
* Put related items together

Part of 24629.
2018-08-09 18:33:41 +10:00
Taylor Yu
340da669be
Add more optional packages to Travis
Apparently we weren't building with either libcap or libseccomp on
Travis.  Install libcap-dev and libseccomp-dev in .travis.yml.  Closes
ticket 26560.
2018-08-09 16:51:42 +10:00
Taylor Yu
31865b5029 Show test-suite.log for distcheck on Travis CI
When Travis CI runs make distcheck, test-suite.log doesn't exist in
the expected place.  Add a new make target to show this file and use
it when DISTCHECK=yes in .travis.yml.  Fixes bug 25814; bug not in any
released Tor.
2018-04-26 15:35:47 -05:00
Nick Mathewson
6125133715 Add distcheck support to travis configuration.
Implements 25814.
2018-04-18 17:33:19 -04:00
Nick Mathewson
d3ff126309 Add support for the coveralls.io coverage tool in travis config
Closes ticket 25818.
2018-04-16 14:42:28 -04:00
Nick Mathewson
3370b3cfef Merge branch 'maint-0.2.5' into maint-0.2.9 2018-03-19 05:42:43 -04:00
Taylor Yu
09484b9449 Document how to allow partial Travis failures
Add some commented-out allow_failures clauses to make it easier to
temporarily allow less-critical sub-builds to fail while still
reporting success.
2018-03-01 13:18:33 -06:00
Nick Mathewson
36567c5ca4 Merge branch 'maint-0.2.5' into maint-0.2.9 2018-01-19 10:16:47 -05:00
Taylor Yu
49de586add Work around Travis CI ptrace regression
Travis CI deployed a change that disables ptrace capabilities in
container builds, which prevents LeakSanitizer on clang from working
properly.  Set "sudo: required" to force non-container builds for
clang and work around this.
2018-01-17 13:40:34 -06:00
Nick Mathewson
f17f7a4fdf Merge branch 'maint-0.2.8' into maint-0.2.9 2017-07-26 15:39:55 -04:00
Nick Mathewson
ebb441ded2 Point travis to #tor-ci, not #tor-bots 2017-07-26 15:39:50 -04:00
Nick Mathewson
f226d6460d Travis update: "gcc-warnings" became "fatal-warnings" in 0.2.9 2017-07-26 15:37:00 -04:00
Isis Lovecruft
6d0af8dacc
In < 0.2.9.x, --enable-fatal-warnings was --enable-gcc-warnings. 2017-07-25 01:03:15 +00:00
Isis Lovecruft
c718644251
Builds on CI should use --enable-fragile-hardening.
(cherry picked from commit c91a57ccf90308c6728184b43519f96b61acb95d)
2017-07-25 00:54:11 +00:00
Isis Lovecruft
f2e3d13930
Install optional dependencies during Travis CI builds.
(cherry picked from commit 1bb00fb812c0df7a574ed62e9f53b0e8192c7d04)
2017-07-25 00:54:01 +00:00
Isis Lovecruft
d0cabbf2c5
Fix CI homebrew checks for outdated packages.
(cherry picked from commit 8f8689f70235dc19cbc5092ea148af5772a9cdc3)
2017-07-25 00:52:05 +00:00
Isis Lovecruft
68722a1ddf
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`).
 * 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:44:44 +00:00
Patrick O'Doherty
071e9b56b1
.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-13 22:05:58 +00:00