Commit Graph

188 Commits

Author SHA1 Message Date
Alexander Færøy
fbb1c7adfc Handle errors from coveralls more gracefully.
Since we have moved coveralls to the script target the entire build will
now fail if coveralls fail. We handle it more gracefully by echo'ing the
failure instead of doing a hard-failure.

See: https://bugs.torproject.org/29036
2019-03-20 15:44:06 +01:00
Alexander Færøy
0267c453e2 Run make reset-gcov after the script target in Travis CI is done.
This should ensure that GCDA files are never entering the cache of
Travis CI.

See: https://bugs.torproject.org/29036
2019-03-20 15:22:39 +01:00
rl1987
7857455729 Add shellcheck to Travis CI builds 2019-01-15 08:08:29 -05:00
rl1987
c31346ffb4 Print Python version during each Travis CI job 2018-12-06 15:26:34 +02:00
Nick Mathewson
262b0fe7a0 Merge remote-tracking branch 'tor-github/pr/381' into maint-0.3.5 2018-10-30 08:39:57 -04:00
rl1987
ccdb7a1cf9 Make sure we're not running distcheck and test-stem on the same CI job 2018-10-29 15:18:07 -04:00
rl1987
739b22c23a Log stem commit id 2018-10-29 15:18:07 -04:00
rl1987
4fd4e27163 Try putting stem repo cloning into install part of config
Also print stem version when we have it downloaded
2018-10-29 15:18:07 -04:00
rl1987
bee9093b55 Save time in CI test-stem job
When running `make test-stem` on Travis, we should refrain from
also running `make check`. Furthermore, let's limit compilation
to src/app/tor target.
2018-10-29 15:18:07 -04:00
rl1987
4184aa0ff7 Try running test-stem on travis 2018-10-29 15:18:07 -04:00
Nick Mathewson
98e28efa8c Merge branch 'nss-travis' into maint-0.3.5 2018-10-24 08:57:22 -04:00
Taylor Yu
36ba506508 report origin of mystery core file
Report what program produced the mysterious core file that we
occasionally see on Travis CI during make distcheck.  Closes ticket
28024.
2018-10-12 15:55:15 -05:00
Taylor Yu
484b259604 Merge branch 'bug27738-033' into bug27738-034 2018-10-10 15:13:02 -05:00
Taylor Yu
cc10873dee Merge remote-tracking branch 'teor/bug27738-032' into bug27738-033 2018-10-10 15:01:59 -05:00
Alex Crichton
3dca87e1f9 Reenable hardening options with Rust on Travis
Previously the sanitizers are forcibly disabled as they were found to be
incompatible with Rust code. The nightly channel of Rust, however, now
has some fixes which should make this disabling no longer necessary.
2018-10-01 22:48:46 -07:00
cypherpunks
fcbbcf92cb add --enable-nss build to Travis CI 2018-09-25 18:43:23 +00:00
teor
49ffc03572
Travis: use the Homebrew addon for xz and zstd
xz and zstd were added as optional dependencies in 0.3.1.1-alpha.

Implements ticket 27738.
2018-09-18 19:37:16 +10:00
teor
e81001a088
Merge branch 'bug27738-029' into bug27738-032
Resolve conflicts due to modified comments, and deleted lines.
2018-09-18 19:34:53 +10:00
teor
e8c7d7d3be
Travis: use the Homebrew addon
Use the Travis Homebrew addon to install packages on macOS. The package
list is the same, but the Homebrew addon does not do a `brew update` by
default.

This makes builds faster, at the cost of using slightly older packages.

Implements ticket 27738.
2018-09-18 19:26:54 +10:00
Nick Mathewson
46bccc50e5 Merge remote-tracking branch 'teor/ticket27252-034' into maint-0.3.4 2018-09-11 13:09:18 -04:00
Nick Mathewson
8e714d2a02 Merge remote-tracking branch 'teor/ticket27252-033' into maint-0.3.3 2018-09-11 13:09:09 -04:00
Nick Mathewson
c3a750486c Merge remote-tracking branch 'teor/ticket27252-032' into maint-0.3.2 2018-09-11 13:09:04 -04:00
Nick Mathewson
198b6354e6 Merge remote-tracking branch 'teor/ticket27252-029' into maint-0.2.9 2018-09-11 13:08:57 -04:00
Nick Mathewson
2b04163666 Merge branch 'maint-0.3.3' into maint-0.3.4 2018-09-05 10:16:06 -04:00
Nick Mathewson
a7e72f0c44 Merge branch 'maint-0.3.2' into maint-0.3.3 2018-09-05 10:15:45 -04:00
Nick Mathewson
57b207efa4 Merge branch 'maint-0.2.9' into maint-0.3.2 2018-09-05 10:15:42 -04:00
Nick Mathewson
ff1486385a Merge remote-tracking branch 'teor/bug27418-029' into maint-0.2.9 2018-09-05 10:14:56 -04:00
Nick Mathewson
67bdd144bd Merge branch 'maint-0.3.2' into maint-0.3.3 2018-09-05 09:56:19 -04:00
Nick Mathewson
2b1b8bf2ca Merge branch 'maint-0.2.9' into maint-0.3.2 2018-09-05 09:56:19 -04:00
Nick Mathewson
4ab033c3bc Merge branch 'maint-0.3.3' into maint-0.3.4 2018-09-05 09:56:19 -04:00
teor
35b0ac8d84
Travis: don't call echo with a --flag as the first argument
When we use echo in Travis, don't pass a --flag as the first argument.

Fixes bug 27418; bugfix on 0.3.4.7-rc.
2018-09-05 14:02:46 +10:00
teor
4e4b6a2476
Travis: when showing a log fails, keep trying to show other logs
When a Travis build fails, and showing a log fails, keep trying to
show the other logs.

Fixes bug 27453; bugfix on 0.3.4.7-rc.
2018-09-05 13:12:54 +10:00
teor
da17875ea5
Travis: Don't do a distcheck with --disable-module-dirauth
Part of 27252.
2018-08-23 18:20:39 +10:00
teor
e8dd83aecb
Merge branch 'ticket27252-033' into ticket27252-034
Semantic merge:
- Rust offline and online were swapped in ticket27252-032
2018-08-23 18:20:17 +10:00
teor
ae2085dd7b
Merge branch 'ticket27252-032' into ticket27252-033
Semantic merge:
- Rust offline and online were swapped in ticket27252-032
- TOR_RUST_DEPENDENCIES is spelt RUST_DEPENDENCIES in 0.3.2
2018-08-23 18:19:42 +10:00
teor
92f1a8af83
Travis: Skip offline rust builds for Linux gcc
We already do an online rust build for Linux gcc.

Part of 27252.
2018-08-23 18:18:14 +10:00
teor
b61d40c8a2
Travis: Only run one online rust build, to reduce network errors
Part of 27252.
2018-08-23 18:17:03 +10:00
teor
99a2ecc795
Merge branch 'ticket27252-029' into ticket27252-032
This commit is already implemented in 0.3.2 and later:
- Travis: Skip a duplicate hardening-off build in Tor 0.2.9
2018-08-23 18:15:55 +10:00
teor
7cea5a287f
Travis: Skip gcc on Linux with default settings
It's redundant, because all the non-default builds use gcc on Linux.

Part of 27252.
2018-08-23 18:13:53 +10:00
teor
9f81e03262
Travis: make the exclude descriptions shorter
Part of 27252.
2018-08-23 18:12:36 +10:00
teor
7ec84cc094
Travis: Skip a duplicate hardening-off build in Tor 0.2.9
Part of 27252.
2018-08-23 17:08:28 +10:00
teor
8f89fb8f39
Travis: skip gcc on OSX, because the default compiler is clang
Part of #27252.
2018-08-23 17:02:32 +10:00
teor
c28da0d8e1
Merge branch 'travis-osx-033' into travis-osx-034 2018-08-10 19:06:45 +10:00
teor
6463cdea55
Merge branch 'travis-osx-032' into travis-osx-033 2018-08-10 19:06:32 +10:00
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