Commit Graph

57 Commits

Author SHA1 Message Date
teor
792c15fde2
Travis: use -std=gnu99 in some jobs
Require C99 standards-conforming code in Travis CI, but allow GNU gcc
extensions. Also activates clang's -Wtypedef-redefinition warnings.

Builds some jobs with -std=gnu99, and some jobs without.

Closes ticket 32500.
2019-12-03 12:42:39 +10:00
teor
752c35ca96
Merge remote-tracking branch 'tor-github/pr/1460' into maint-0.2.9 2019-10-29 08:23:35 +10:00
teor
8e549dd562
Travis: Use Ubuntu Bionic, but keep Trusty for chutney
Bionic has a recent coccinelle version, which passes our CI tests.

But Bionic (and Xenial) cause permissions errors for chutney.
We'll fix those in 32240.

Part of 31919.
2019-10-25 09:45:36 +10:00
teor
14b197a148
Travis: Use macOS 10.14 with Xcode 11.2
Closes ticket 32241.
2019-10-24 11:44:43 +10:00
teor
8682442c76
Merge remote-tracking branch 'tor-github/pr/1351' into maint-0.2.9 2019-10-23 08:32:22 +10:00
teor
511aeba8ee
Travis: Disable all but one macOS build
We need to mitigate slow scheduling of Travis macOS jobs.

Closes ticket 32177.
2019-10-22 19:35:43 +10:00
teor
1e0e23c1e4
Travis: Add a macOS chutney job, but don't wait for it to finish
Since Travis macOS has IPv6 support (and Travis Linux does not), chutney
will now run its IPv6 networks as part of Travis CI.

But since chutney is slow, don't wait for the macOS chutney to finish.
(Travis have fixed the duplicate notification bug in fast_finish. So we
can use fast_finish and allow_failure to finish early. Unfortunately,
allow_failure also means we ignore failures in macOS chutney.)

Also make sure that we have:
* a compile on each platform, with each compiler,
* a check on each platform, and
* a check on each compiler.

Finally, sort builds: allow fail last, macOS first, slowest first.

Closes ticket 30860.
Closes ticket 31859 for 0.2.9.
2019-09-30 23:58:38 +10:00
teor
4e4297830e
Travis: Remove a redundant clang Linux job
Part of 31859.
2019-09-30 23:58:24 +10:00
teor
8520071f23
Travis: Unroll the build matrix into matrix: include:
The jobs should be the same, but Travis may display them differently.

Part of 31859.
2019-09-26 18:06:09 +10:00
Nick Mathewson
6ed3d8dbd1 Try using make -k in Travis configuration
Frequently, when a patch fails, it has failures in several files.
Using the "-k" flag will let us learn all the compilation errors,
not just the first one that the compiler hits.

Based on a patch by rl1987.
2019-09-23 15:05:08 -04:00
teor
8d22c09abf
Merge remote-tracking branch 'tor-github/pr/1155' into maint-0.2.9 2019-08-08 10:55:24 +10:00
teor
75f9ae9029
Travis: remove a redundant os: linux line
Linux is the first item in the os matrix, so we don't need to specify
it under matrix: include: .

Part of 29280.
2019-07-01 14:25:37 +10:00
teor
ac7ce17983
Travis: show the chutney commit and python version
Part of 29280.
2019-07-01 14:25:33 +10:00
teor
b26e3e4c56
Travis: show chutney logs on chutney job failure
Part of 29280.
2019-07-01 14:05:26 +10:00
Nick Mathewson
63325c0596 Add a chutney mode to travis.yml. 2019-06-12 08:55:38 -04:00
Nick Mathewson
b0826346a6 Travis: control "make check" with its own flag
Previously we had "make check" launched whenever DISTCHECK was
false.  Now we'd like to turn it off in a few other circumstances,
like running chutney.  Maybe stem too?
2019-06-12 08:51:46 -04:00
rl1987
8f4840b31a Travis: remove sudo configuration
See: https://blog.travis-ci.com/2018-11-19-required-linux-infrastructure-migration
2019-04-30 09:11:06 +03:00
teor
57e9fe2bba
Makefile: delete all the gcov-related files in reset-gcov
And fix a comment.

See:
https://gcc.gnu.org/onlinedocs/gcc/Gcov-Data-Files.html#Gcov-Data-Files
2019-04-01 14:06:52 +10:00
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
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
198b6354e6 Merge remote-tracking branch 'teor/ticket27252-029' into maint-0.2.9 2018-09-11 13:08:57 -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
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
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
d514e98663
Travis: add a missing macOS asciidoc env var 2018-08-10 18:26:33 +10:00
teor
e78f9c5dfb
Travis: add a missing macOS asciidoc dependency 2018-08-10 16:24:31 +10:00
teor
f4f2e43f5d
Travis: put distcheck first for readability 2018-08-10 12:33:51 +10:00
teor
f76cddd376
Travis: fix a typo 2018-08-10 10:50:35 +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