Commit graph

213 commits

Author SHA1 Message Date
MarcoFalke 42d0eca725
Merge #13728: lint: Run the CI lint stage on mac
cd82f75a43 lint: Install grep and git via brew on mac for --perl-regexp (Ben Woosley)
eafa747ca5 lint: Fix shellcheck SC2155 (Ben Woosley)
615ff4e7db lint: Run the linters against Mac OS on Travis (Ben Woosley)

Pull request description:

  This helps ensure ongoing compatibility with macOS-distributed version of GNU bash.

ACKs for top commit:
  MarcoFalke:
    ACK cd82f75a43

Tree-SHA512: 8d56d2303bbebedba8ea2291f4ab35b7fdf3245b7a4c3f04557eee4f19d83573798ad32facc92bfa060aaeb294e6d2c95e6d1c3b795fd7951dcf3aa1cccec107
2019-10-09 14:37:53 -04:00
Ben Woosley 615ff4e7db
lint: Run the linters against Mac OS on Travis
This helps ensure ongoing compatibility with macOS-distributed version
of GNU bash.
2019-10-09 15:49:51 +01:00
MarcoFalke fa79dff624
ci: Run tests on arm 2019-10-09 09:33:07 -04:00
practicalswift aa81e2cc0e Enable UBSan for Travis fuzzer job 2019-10-01 08:23:34 +00:00
MarcoFalke faa079db92
travis: Disable feature_block in tsan run 2019-09-23 11:36:03 -04:00
fanquake 376f4929f8
build: disable BIP70 support by default 2019-09-12 20:28:17 +10:00
MarcoFalke fa27372e65
ci: Move CCACHE_DIR and test_runner tmp dir into ./ci/scratch/ 2019-08-27 15:58:50 -04:00
MarcoFalke 8b42db130f
Merge #16623: ci: Add environment files for all settings
fa21737ba7 ci: Add environment files for all settings (MarcoFalke)

Pull request description:

  This moves all environment settings from travis to files in the ci folder. Now, it is possible to easily run each travis configuration with a single command.

Top commit has no ACKs.

Tree-SHA512: 989c6b62eb3839eb1fa5461e986496e9660167e2438a789c7588a6fee4f9c37b332782c010fe5c7de8f606bcf98dffb2481d2777cbce88f87cc9f0c42fb2d7fc
2019-08-19 09:39:53 -04:00
MarcoFalke fa21737ba7
ci: Add environment files for all settings 2019-08-16 08:46:37 -04:00
fanquake 14982b87e9
Merge #16626: doc: Fix spelling error chache -> cache.
f9d40ce7eb Fix spelling error chache -> cache. (Nils Loewen)

Pull request description:

  Fixes a spelling error in `.travis.yml`.

ACKs for top commit:
  fanquake:
    ACK f9d40ce7eb

Tree-SHA512: f38542f4e1225f2670aeb8f663440f843aa5cdd4588313a88bdfb36531c3419112b55775f12368b80ebd3e0fa5b5491ae43b18ccab39b7908f98bc6b6c7ca396
2019-08-16 10:34:27 +08:00
Nils Loewen f9d40ce7eb
Fix spelling error chache -> cache. 2019-08-15 19:12:40 -07:00
MarcoFalke fa31bc35eb
ci: Remove dependence on travis, use it as fallback env 2019-08-15 11:12:34 -04:00
MarcoFalke fafe78f6ae
ci: Rename .travis/ to ./ci/ 2019-08-15 11:11:45 -04:00
MarcoFalke fa1e9c68a7
travis: Bump timeout from 50 minutes to 90 2019-08-13 10:03:20 -04:00
Wladimir J. van der Laan 74f1a27f2f
Merge #15134: tests: Switch one of the Travis jobs to an unsigned char environment (-funsigned-char)
0c78e49be3 tests: Switch one of the Travis jobs to an unsigned char environment (-funsigned-char) (practicalswift)

Pull request description:

  Switch one of the Travis jobs to an unsigned char environment (`-funsigned-char`).

  This will help us catch errors due to code written under the assumption that `char` has the same value range as `signed char`.

  The signedness of `char` is implementation-defined.

  Example:

  ```
  $ uname -a
  Linux […] x86_64 x86_64 x86_64 GNU/Linux
  $ cat foo.cpp
  #include <iostream>

  int main() {
      char c;
      std::cin >> c;
      int i = (unsigned char)c;
      std::cout << i << "\n";
  }
  $ clang++ -o foo foo.cpp
  $ echo -e "\xff" | ./foo
  255
  $ clang++ -fsigned-char -o foo foo.cpp
  $ echo -e "\xff" | ./foo
  255
  $ clang++ -funsigned-char -o foo foo.cpp
  $ echo -e "\xff" | ./foo
  255
  $ cat bar.cpp
  #include <iostream>

  int main() {
      char c;
      std::cin >> c;
      int i = c;
      std::cout << i << "\n";
  }
  $ clang++ -o bar bar.cpp
  $ echo -e "\xff" | ./bar
  -1
  $ clang++ -fsigned-char -o bar bar.cpp
  $ echo -e "\xff" | ./bar
  -1
  $ clang++ -funsigned-char -o bar bar.cpp
  $ echo -e "\xff" | ./bar
  255
  ```

  `gcc` chars:
  * signed: alpha, hppa, ia64, m68k, mips, sh, sparc, x86
  * unsigned: arm, powerpc, s390

  About `-funsigned-char`:

  > Let the type "char" be unsigned, like "unsigned char".
  >
  > Each kind of machine has a default for what "char" should be.  It is either like "unsigned char" by default or like "signed char" by default.
  >
  > Ideally, a portable program should always use "signed char" or "unsigned char" when it depends on the signedness of an object.  But many programs have been written to use plain "char" and expect it to be signed, or expect it to be unsigned, depending on the machines they were written for.
  >
  > This option, and its inverse, let you make such a program work with the opposite default. The type "char" is always a distinct type from each of "signed char" or "unsigned char", even though its behavior is always just like one of those two.

ACKs for top commit:
  laanwj:
    ACK 0c78e49be3

Tree-SHA512: ba04590415c0bb9a0bbd348623e57068f75274f53da7247d5c5ecad82e365a5b45893a4a491d318e82a8feb6a25f019d46e01990afb33162e2c9740d33a343d7
2019-07-30 16:58:24 +02:00
Wladimir J. van der Laan b21acab82f
Merge #15993: net: Drop support of the insecure miniUPnPc versions
59cb722fd0 Update configure to reject unsafe miniUPnPc API ver (Hennadii Stepanov)
ab2190557e doc: Add release notes for 15993 (Hennadii Stepanov)
02709e9560 Align formatting with clang-format (Hennadii Stepanov)
91a1b85083 Use PACKAGE_NAME in UPnP description (Hennadii Stepanov)
9f76e45b9d Drop support of insecure miniUPnPc versions (Hennadii Stepanov)

Pull request description:

  1. Minimum supported miniUPnPc API version is set to 10:
  - https://packages.ubuntu.com/xenial/libminiupnpc-dev
  - https://packages.debian.org/jessie/libminiupnpc-dev

  Refs:
  - #6583
  - #6789
  - #10414

  2. The hardcoded "Bitcoin" replaced with `PACKAGE_NAME`:
  ![Screenshot from 2019-05-06 23-10-29](https://user-images.githubusercontent.com/32963518/57253178-afc60780-7056-11e9-83c9-e85670c58c1e.png)

  3. Also style-only commit applied.

  Pardon: could not reopen my previous PR #15966.

ACKs for top commit:
  ryanofsky:
    utACK 59cb722fd0. Changes since last review: adding a new commit which updates configure script to fall back to disabling upnp if version is too old, adding a requested comment explaining static_assert condition, and fixing a spelling (jessy/jessie)

Tree-SHA512: 42ed11bc2fb2ec83d5dd58e2383da5444a24fd572707f6cf10b622cb8943e28adfcca4750d06801024c4472625b5ea9279516fbd9d2ccebc9bbaafe1d148e80d
2019-07-29 16:51:36 +02:00
Wladimir J. van der Laan 5859b7dc6f
Merge #16338: test: Disable other targets when enable-fuzz is set
84edfc72e5 Update doc and CI config (qmma)
48bcb2ac24 Disable other targets when enable-fuzz is set (qmma)

Pull request description:

  This is to fix https://github.com/bitcoin/bitcoin/issues/16094

  When the `enable-fuzz` flag is set, disable all other binary targets.

ACKs for top commit:
  MarcoFalke:
    ACK 84edfc72e5 (only checked that travis compiled this)

Tree-SHA512: f4ac80526388a67709986b22de88b00bf93ab44ae31a20bd4d8923a4982ab97e015a9f13010081d6ecf6c23ae8afeac7ca9d849d198ce6ebe239aa3127151efc
2019-07-10 12:23:35 +02:00
qmma 84edfc72e5
Update doc and CI config 2019-07-08 20:28:58 -04:00
practicalswift 0c78e49be3 tests: Switch one of the Travis jobs to an unsigned char environment (-funsigned-char) 2019-06-26 21:16:15 +02:00
practicalswift c4606b8432 Add Travis check for single parameter constructors not marked "explicit" 2019-06-26 16:57:14 +02:00
MarcoFalke 88884c6f75
travis: Use absolute paths for cache dirs 2019-06-14 10:47:48 -04:00
Hennadii Stepanov 9f76e45b9d
Drop support of insecure miniUPnPc versions
The minimum supported miniUPnPc API version is set to 10.
2019-06-07 09:37:33 +02:00
MarcoFalke fad0ce59e9
tests: Fail if RPC has been added without tests 2019-05-15 14:27:18 -04:00
MarcoFalke faf666f814
Remove Windows 32 bit build 2019-05-03 13:41:27 -04:00
MarcoFalke fa2dfbf30a
travis: Bump second timeout to 33 minutes, Add rationale 2019-04-11 14:56:56 -04:00
MarcoFalke fa2056af1c
travis: Properly cache and error on timeout 2019-04-05 13:35:27 -04:00
MarcoFalke fa0f92af9a
build: depends: Switch to python3 2019-03-14 15:47:00 -04:00
MarcoFalke fab5a1e0f4
build: Require python 3.5 2019-03-02 10:40:23 -05:00
MarcoFalke 31f7c6dd21
Merge #15295: fuzz: Add test/fuzz/test_runner.py and run it in travis
fa535af92c fuzz: test_runner: Better error message when built with afl (MarcoFalke)
fa7ca8ef58 qa: Add test/fuzz/test_runner.py (MarcoFalke)

Pull request description:

  Can be run with `./test/fuzz/test_runner.py` after building as described in `doc/fuzzing.md`

Tree-SHA512: f6a3cd8165ec2de4b363be4fd0a936b4a60829cce923f93fe5d6a046b1bbd64c959cdf790440bf70c0e13b0bb1b956a746a24c6fd92bddeab15b837ed50ffad2
2019-02-14 16:32:26 -05:00
MarcoFalke eeeee58bc9
travis: Combine --disable-bip70 into existing job 2019-02-14 14:58:57 -05:00
MarcoFalke fa7ca8ef58
qa: Add test/fuzz/test_runner.py 2019-02-13 17:12:28 -05:00
Luke Dashjr 84f53154e1 Travis: Add test without BIP70 (but still full wallet + tests) 2019-02-11 15:14:33 +00:00
MarcoFalke faf3d22725
test_runner: Remove unused --force option 2019-02-07 19:16:57 -05:00
MarcoFalke fa1db331de
travis: Only exit early if compilation took longer than 30 min 2019-02-05 18:23:30 -05:00
MarcoFalke b3a715301a
Merge #15303: travis: Remove unused FUNCTIONAL_TESTS_CONFIG
facaae4cc4 travis: Save cache when compilation took very long (MarcoFalke)
faee6c9cac travis: Remove unused FUNCTIONAL_TESTS_CONFIG (MarcoFalke)

Pull request description:

  Closes #14163

Tree-SHA512: fb3dd0b7a0a3ee7ac1c6d4e9314239cd03ab4a11f04b6345ef4a1f50ea2b79ea4248c41e99a6fb923a4b1b477758c4fa665d56a4ab703acf5a58dbc7d852ffc4
2019-02-01 17:18:03 -05:00
MarcoFalke facaae4cc4
travis: Save cache when compilation took very long 2019-02-01 15:20:00 -05:00
Ben Woosley 119d360aab
travis: Document whether functional tests are run in the job name 2019-01-31 22:13:45 -08:00
Ben Woosley 64f28545e3
Revert "travis: Compile trusty with depends for now"
Thus building against system rather than depends libs

This reverts commit fa5ce3f10e.
2019-01-31 22:10:55 -08:00
MarcoFalke faee6c9cac
travis: Remove unused FUNCTIONAL_TESTS_CONFIG 2019-01-31 12:11:15 -05:00
MarcoFalke bb36f5e24b
Merge #15276: travis: Compile once on trusty
fa5ce3f10e travis: Compile trusty with depends for now (MarcoFalke)
fa83999d92 travis: Compile once on trusty (MarcoFalke)

Pull request description:

  To avoid accidentally regressing again on #15172, we should compile at least once with gcc4.8 (the minimum required version)

  Note that this uses the trusty image, which will be removed in a few months from the docker hub, so in the future it had to be switched to the centos7 (or similar) image, which should come with gcc4.8 as well.

Tree-SHA512: 9d1704464bde8dbaf3319ac35f72d32dce549818730d3b2fb63df817f84a88dd64aa3419b97a57c1120ffb254784503b7d2675b1291d4ed073cd2a2488aa717d
2019-01-30 15:11:52 -05:00
MarcoFalke 2ca632e5b4 test: Build fuzz targets into seperate executables 2019-01-29 19:03:06 -05:00
MarcoFalke fa5ce3f10e
travis: Compile trusty with depends for now 2019-01-28 13:51:41 -05:00
MarcoFalke fa83999d92
travis: Compile once on trusty 2019-01-28 11:40:56 -05:00
MarcoFalke 06fabfa287
Merge #15020: Build: add names to Travis jobs
1db71d4a29 Add names to Travis jobs (Graham Krizek)

Pull request description:

  This adds the `name` field to all the TravisCI jobs. This will make it more obvious in the Travis UI what job is failing or passing.

Tree-SHA512: d65841bab0a80d098a46a4bb54af2f9a93db7abca93b848aa00d25dcf4cd74323371c7c0b78b4dbf390b197e7ba32262a91631e201fc505f834021753f700b28
2019-01-03 16:42:34 +01:00
Graham Krizek 1db71d4a29
Add names to Travis jobs
This also removes job name comments from .travis.yml because they are no longer necessary
2019-01-03 09:20:00 -06:00
Graham Krizek a3b8b43663
Update Travis base OS to Xenial
Updating the base OS used in Travis to Xenial from Trusty. This also updates Docker to 18.06 instead of 17.06 in CI.
2018-12-28 08:26:31 -06:00
MarcoFalke fa05d52af4
test: Bump timeout to run tests in travis thread sanitizer 2018-12-20 08:06:28 +13:00
practicalswift 069752b726 build: Enable functional tests in the ThreadSanitizer (TSan) build job 2018-12-17 09:24:37 +01:00
Chun Kuan Lee fc91c1f28e Revert "travis: Save cache on build error"
This reverts commit d3ecc3d695.
2018-12-13 21:18:14 +08:00
Sjors Provoost 74ce326831
[test] Travis: enforce Python 3.4 support in functional tests
Make lint/check-doc.py Python 3.4 compatible.

Also add .python-version for pyenv which will cause tests with too
modern syntax to fail on developer machine rather than on Travis.
2018-12-12 10:39:32 +01:00