Age | Commit message (Collapse) | Author |
|
Also Travis build config validation added.
|
|
Also the macOS image has been updated.
|
|
|
|
|
|
Travis is consistently failing on s390 due to out of disk space issues,
which causes false positives. Disable the s390 build for now until
this is fixed some other way.
|
|
fa569e1a9c5ad1bf8bdf866235b21aff56112224 ci: Set LC_ALL=C when running in qemu-s390x (MarcoFalke)
fa3d77623ecb25dde6b5f4be11626ed16966eb29 ci: Use debian to avoid apt install 404 errors (MarcoFalke)
fabb946090be2f604da3d7d4b1bbe93b79baf23e ci: Install needed gcc and qemu-user iff cross-compiling (MarcoFalke)
faba4672b64fb5ba89e5cb6299479887494b571a ci: Fix QEMU_USER_CMD parse issues (MarcoFalke)
fa5d709fb266c97d4db15006bf855e887a6c123b ci: Move wrap-qemu into separate script (MarcoFalke)
Pull request description:
Now that the ci system no longer propagates files from the docker container back to the host, the wrap-qemu script is broken.
To fix it, every statement in the script needs to be executed in the docker (with `DOCKER_EXEC`). Instead of juggling with triple escape sequences like `\\\"`, just move the script to a separate file and call it with `DOCKER_EXEC`.
Also, fix a bunch of other bugs that prevent running the ci system in qemu
See the `ci/README.md` on how to test. TLDR: Can be tested with (replace `arm` with `s390x` to run the s390x build):
```
FILE_ENV="./ci/test/00_setup_env_arm.sh" MAKEJOBS="-j9" ./ci/test_run_all.sh
```
ACKs for top commit:
laanwj:
Code review ACK fa569e1a9c5ad1bf8bdf866235b21aff56112224
Tree-SHA512: 84ebc44a4f0261ee6c29605a6896a1833ff6c81d729e6d08dd111941f570ce73221422bd3303e1108a266ec5eab2148bd5ee1cf6bc01477d8cc9a6c5bf2b34c2
|
|
|
|
The default ubuntu mirror does not have s390x or armhf packages:
Get:1 http://security.ubuntu.com/ubuntu bionic-security InRelease [88.7 kB]
Get:2 http://archive.ubuntu.com/ubuntu bionic InRelease [242 kB]
Get:3 http://archive.ubuntu.com/ubuntu bionic-updates InRelease [88.7 kB]
Ign:4 http://security.ubuntu.com/ubuntu bionic-security/multiverse armhf Packages
Get:5 http://archive.ubuntu.com/ubuntu bionic-backports InRelease [74.6 kB]
Get:6 http://security.ubuntu.com/ubuntu bionic-security/restricted amd64 Packages [19.2 kB]
Get:7 http://security.ubuntu.com/ubuntu bionic-security/multiverse amd64 Packages [6781 B]
Ign:8 http://security.ubuntu.com/ubuntu bionic-security/universe armhf Packages
Get:9 http://security.ubuntu.com/ubuntu bionic-security/main amd64 Packages [761 kB]
Ign:10 http://archive.ubuntu.com/ubuntu bionic/main armhf Packages
Ign:11 http://archive.ubuntu.com/ubuntu bionic/restricted armhf Packages
Get:12 http://archive.ubuntu.com/ubuntu bionic/restricted amd64 Packages [13.5 kB]
Ign:13 http://archive.ubuntu.com/ubuntu bionic/multiverse armhf Packages
Get:14 http://archive.ubuntu.com/ubuntu bionic/main amd64 Packages [1344 kB]
Ign:15 http://security.ubuntu.com/ubuntu bionic-security/main armhf Packages
Ign:16 http://security.ubuntu.com/ubuntu bionic-security/restricted armhf Packages
Get:17 http://security.ubuntu.com/ubuntu bionic-security/universe amd64 Packages [795 kB]
Get:18 http://archive.ubuntu.com/ubuntu bionic/multiverse amd64 Packages [186 kB]
Get:19 http://archive.ubuntu.com/ubuntu bionic/universe amd64 Packages [11.3 MB]
Ign:4 http://security.ubuntu.com/ubuntu bionic-security/multiverse armhf Packages
Ign:8 http://security.ubuntu.com/ubuntu bionic-security/universe armhf Packages
Ign:15 http://security.ubuntu.com/ubuntu bionic-security/main armhf Packages
Ign:16 http://security.ubuntu.com/ubuntu bionic-security/restricted armhf Packages
Ign:4 http://security.ubuntu.com/ubuntu bionic-security/multiverse armhf Packages
Ign:8 http://security.ubuntu.com/ubuntu bionic-security/universe armhf Packages
Ign:15 http://security.ubuntu.com/ubuntu bionic-security/main armhf Packages
Ign:16 http://security.ubuntu.com/ubuntu bionic-security/restricted armhf Packages
Err:4 http://security.ubuntu.com/ubuntu bionic-security/multiverse armhf Packages
404 Not Found [IP: 91.189.88.174 80]
Ign:8 http://security.ubuntu.com/ubuntu bionic-security/universe armhf Packages
Ign:15 http://security.ubuntu.com/ubuntu bionic-security/main armhf Packages
Ign:16 http://security.ubuntu.com/ubuntu bionic-security/restricted armhf Packages
Ign:20 http://archive.ubuntu.com/ubuntu bionic/universe armhf Packages
Ign:10 http://archive.ubuntu.com/ubuntu bionic/main armhf Packages
Ign:11 http://archive.ubuntu.com/ubuntu bionic/restricted armhf Packages
Ign:13 http://archive.ubuntu.com/ubuntu bionic/multiverse armhf Packages
Get:21 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 Packages [1057 kB]
Ign:22 http://archive.ubuntu.com/ubuntu bionic-updates/restricted armhf Packages
Get:23 http://archive.ubuntu.com/ubuntu bionic-updates/multiverse amd64 Packages [10.5 kB]
Ign:24 http://archive.ubuntu.com/ubuntu bionic-updates/main armhf Packages
Ign:25 http://archive.ubuntu.com/ubuntu bionic-updates/universe armhf Packages
Get:26 http://archive.ubuntu.com/ubuntu bionic-updates/universe amd64 Packages [1322 kB]
Get:27 http://archive.ubuntu.com/ubuntu bionic-updates/restricted amd64 Packages [32.7 kB]
Ign:28 http://archive.ubuntu.com/ubuntu bionic-updates/multiverse armhf Packages
Ign:29 http://archive.ubuntu.com/ubuntu bionic-backports/main armhf Packages
Get:30 http://archive.ubuntu.com/ubuntu bionic-backports/universe amd64 Packages [4244 B]
Ign:31 http://archive.ubuntu.com/ubuntu bionic-backports/universe armhf Packages
Get:32 http://archive.ubuntu.com/ubuntu bionic-backports/main amd64 Packages [2496 B]
Ign:20 http://archive.ubuntu.com/ubuntu bionic/universe armhf Packages
Ign:10 http://archive.ubuntu.com/ubuntu bionic/main armhf Packages
Ign:11 http://archive.ubuntu.com/ubuntu bionic/restricted armhf Packages
Ign:13 http://archive.ubuntu.com/ubuntu bionic/multiverse armhf Packages
Ign:22 http://archive.ubuntu.com/ubuntu bionic-updates/restricted armhf Packages
Ign:24 http://archive.ubuntu.com/ubuntu bionic-updates/main armhf Packages
Ign:25 http://archive.ubuntu.com/ubuntu bionic-updates/universe armhf Packages
Ign:28 http://archive.ubuntu.com/ubuntu bionic-updates/multiverse armhf Packages
Ign:29 http://archive.ubuntu.com/ubuntu bionic-backports/main armhf Packages
Ign:31 http://archive.ubuntu.com/ubuntu bionic-backports/universe armhf Packages
Ign:20 http://archive.ubuntu.com/ubuntu bionic/universe armhf Packages
Err:10 http://archive.ubuntu.com/ubuntu bionic/main armhf Packages
404 Not Found [IP: 91.189.88.149 80]
Ign:11 http://archive.ubuntu.com/ubuntu bionic/restricted armhf Packages
Ign:13 http://archive.ubuntu.com/ubuntu bionic/multiverse armhf Packages
Ign:22 http://archive.ubuntu.com/ubuntu bionic-updates/restricted armhf Packages
Ign:24 http://archive.ubuntu.com/ubuntu bionic-updates/main armhf Packages
Ign:25 http://archive.ubuntu.com/ubuntu bionic-updates/universe armhf Packages
Ign:28 http://archive.ubuntu.com/ubuntu bionic-updates/multiverse armhf Packages
Ign:29 http://archive.ubuntu.com/ubuntu bionic-backports/main armhf Packages
Ign:31 http://archive.ubuntu.com/ubuntu bionic-backports/universe armhf Packages
Ign:20 http://archive.ubuntu.com/ubuntu bionic/universe armhf Packages
Err:22 http://archive.ubuntu.com/ubuntu bionic-updates/restricted armhf Packages
404 Not Found [IP: 91.189.88.149 80]
Ign:24 http://archive.ubuntu.com/ubuntu bionic-updates/main armhf Packages
Ign:25 http://archive.ubuntu.com/ubuntu bionic-updates/universe armhf Packages
Ign:28 http://archive.ubuntu.com/ubuntu bionic-updates/multiverse armhf Packages
Err:29 http://archive.ubuntu.com/ubuntu bionic-backports/main armhf Packages
404 Not Found [IP: 91.189.88.149 80]
Ign:31 http://archive.ubuntu.com/ubuntu bionic-backports/universe armhf Packages
Fetched 17.4 MB in 2s (7076 kB/s)
Reading package lists...
E: Failed to fetch http://security.ubuntu.com/ubuntu/dists/bionic-security/multiverse/binary-armhf/Packages 404 Not Found [IP: 91.189.88.174 80]
E: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/bionic/main/binary-armhf/Packages 404 Not Found [IP: 91.189.88.149 80]
E: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/bionic-updates/restricted/binary-armhf/Packages 404 Not Found [IP: 91.189.88.149 80]
E: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/bionic-backports/main/binary-armhf/Packages 404 Not Found [IP: 91.189.88.149 80]
E: Some index files failed to download. They have been ignored, or old ones used instead.
|
|
facb416ad5ba47b01ee52c273a5c5e3709f06f07 ci: Add valgrind run (MarcoFalke)
Pull request description:
Fixes #17460
ACKs for top commit:
practicalswift:
ACK facb416ad5ba47b01ee52c273a5c5e3709f06f07
Tree-SHA512: 55396e548a76f976d7b7170b68bc5f93cfd44656162267172f66db7eb549699a2a22d3b1bb0d5f180fe0697931939e652c8cdb86b435e81e7ce572485798009d
|
|
|
|
|
|
711e0449cf4a0f15cabe0d64094e3add24ad44b0 ci: Remove trusty build (Hennadii Stepanov)
7f3ae224685efaeb6fe714de90e8871d12e55f34 ci: Add CentOS 7 build (Hennadii Stepanov)
Pull request description:
Arguably, CentOS is the most conservative distro of all the popular ones. Thus, it could be a good way to check the Bitcoin Core compatibility with aged dependencies.
Currently, CentOS 7 has:
- Berkeley DB == 4.8.30
- Boost == 1.53.0
- GCC == 4.8.5
- libevent == 2.0.21 < minimum required [2.0.22](https://github.com/bitcoin/bitcoin/blob/master/doc/dependencies.md), but tests passed
- MiniUPnPc == 2.0
- Python == 3.6.8
- qrencode == 3.4.1
- Qt == 5.9.7
- ZeroMQ == 4.1.4
~Please note that this PR is based on the bugfix #17634.~
Also trusty build has been removed for the following reasons:
- https://github.com/bitcoin/bitcoin/issues/17628#issuecomment-559448201:
> Maybe it'd make sense to replace Ubuntu Trusty with Centos 7 as the "check ancient backward compatibililty" Travis run. It's supported until 2024, apparently.
- https://github.com/bitcoin/bitcoin/pull/17635#discussion_r354811792:
> Our travis is currently running at its limit and this doesn't seem like it is adding a lot new coverage compared to the other builds.
Close #17628
ACKs for top commit:
MarcoFalke:
ACK 711e0449cf4a0f15cabe0d64094e3add24ad44b0 ðŸš
Tree-SHA512: 614ec8394943f482a5867067f7119bffd052924a51e32ffda9a08e10c392c4a955a3539e2f8907cb65bfd9347dadf0ba62f6d1530bbc49927c347360a5a7f73c
|
|
Co-authored-by: Emil Engler <me@emilengler.com>
|
|
|
|
fad88e6f86d1dd32cf01db2287df9c63e66c5116 ci: Remove use of cd (MarcoFalke)
fa2941bbf47a8a6b79b8db4a87e1aedcf6a29a5e ci: Remove unmaintained extended_lint (MarcoFalke)
fa041875284d01602647519cc452185ba1ad5a8f scripted-diff: Use ci DEPENDS_DIR, remove BASE_BUILD_DIR (MarcoFalke)
fa0656d1ebc2a01d900fead4ce055d59eb818a1f ci: Add DEPENDS_DIR variable, Add documentation for folders (MarcoFalke)
faeeca87b65dd98e0efbc54443b3f8854cae9c00 scripted-diff: Move various folders to ci scratch dir (MarcoFalke)
Pull request description:
Some minor cleanups:
* Remove unused and unmaintained extended_lint to avoid ci bottlenecks and waste of CPU
* Move all folders that hold temporary ci files to the ci scratch dir (except for the build dirs)
* Add some documentation to folders and remove the `BASE_BUILD_DIR` alias for the root directory
* Fixes #17178 by removing `cd`
Top commit has no ACKs.
Tree-SHA512: f6eb9d47ab98c08af59a79c2a4bf62fc331f0f6f3174909a28f2c2f48b0234423da5aee876225d2e188619b71b008d882a20d29a7aca68248039ea5080be5af5
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
facc0da63a8fa4bd6fc2782cbe92eb9f920f2256 travis: Run unit and functional tests on native arm (MarcoFalke)
fafa064d2a8dbe24303545ab582ec84cde52ab5b ci: Remove ccache requirement on the host (MarcoFalke)
Pull request description:
This keeps the cross-compilation to make it easy to run the ci on non-arm hardware. To run this locally in qemu-user as it used to be, just `export QEMU_USER_CMD="qemu-arm -L /usr/arm-linux-gnueabihf/"`.
ACKs for top commit:
laanwj:
LGTM ACK facc0da63a8fa4bd6fc2782cbe92eb9f920f2256
practicalswift:
ACK facc0da63a8fa4bd6fc2782cbe92eb9f920f2256 -- diff looks correct and Travis seems happy
Tree-SHA512: 0dc1bc82eb93e2bd8b159e044f20fe3055f8cdfd73aaa238bd2e178397582144dfc0c6a87bd8270115dafea1a623e642bde5d5f30254f94140f1a2cdb12fc2da
|
|
|
|
|
|
|
|
|
|
|
|
Review hint:
git show -w
Co-authored-by: MarcoFalke <falke.marco@gmail.com>
Co-authored-by: keneanung <keneanung@googlemail.com>
Co-authored-by: Vadim Peretokin <vperetokin@gmail.com>
|
|
cd82f75a431967030d25bcfe7c4aaefe5b345a99 lint: Install grep and git via brew on mac for --perl-regexp (Ben Woosley)
eafa747ca5926d47f555820cecae0846ac01e20f lint: Fix shellcheck SC2155 (Ben Woosley)
615ff4e7dbe2c4fc888ef489cf71dbca25d1b568 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 cd82f75a431967030d25bcfe7c4aaefe5b345a99
Tree-SHA512: 8d56d2303bbebedba8ea2291f4ab35b7fdf3245b7a4c3f04557eee4f19d83573798ad32facc92bfa060aaeb294e6d2c95e6d1c3b795fd7951dcf3aa1cccec107
|
|
This helps ensure ongoing compatibility with macOS-distributed version
of GNU bash.
|
|
|
|
|
|
|
|
|
|
|
|
fa21737ba7159578299f2b10e181a084ab8887c4 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
|
|
|
|
f9d40ce7ebc56867292a45256bcb81784ca358ac Fix spelling error chache -> cache. (Nils Loewen)
Pull request description:
Fixes a spelling error in `.travis.yml`.
ACKs for top commit:
fanquake:
ACK f9d40ce7ebc56867292a45256bcb81784ca358ac
Tree-SHA512: f38542f4e1225f2670aeb8f663440f843aa5cdd4588313a88bdfb36531c3419112b55775f12368b80ebd3e0fa5b5491ae43b18ccab39b7908f98bc6b6c7ca396
|
|
|
|
|
|
|
|
|
|
environment (-funsigned-char)
0c78e49be3a258695b7f363f2d5b1cfdb93f9522 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 0c78e49be3a258695b7f363f2d5b1cfdb93f9522
Tree-SHA512: ba04590415c0bb9a0bbd348623e57068f75274f53da7247d5c5ecad82e365a5b45893a4a491d318e82a8feb6a25f019d46e01990afb33162e2c9740d33a343d7
|
|
59cb722fd050393a69f1e0df97d857c893d19d80 Update configure to reject unsafe miniUPnPc API ver (Hennadii Stepanov)
ab2190557ec2757fa48b52855b05561854af49af doc: Add release notes for 15993 (Hennadii Stepanov)
02709e95601c6020a87a6a05ee1d00c13fc38f9b Align formatting with clang-format (Hennadii Stepanov)
91a1b8508358d04685391651aea303ebce1c3d05 Use PACKAGE_NAME in UPnP description (Hennadii Stepanov)
9f76e45b9d6671e2074fb7a3885db703045a791f 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 59cb722fd050393a69f1e0df97d857c893d19d80. 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
|
|
84edfc72e5eba3dde824ebd0626e97929a0b1bca Update doc and CI config (qmma)
48bcb2ac249e0e666ce638bb29124558b3283c16 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 84edfc72e5eba3dde824ebd0626e97929a0b1bca (only checked that travis compiled this)
Tree-SHA512: f4ac80526388a67709986b22de88b00bf93ab44ae31a20bd4d8923a4982ab97e015a9f13010081d6ecf6c23ae8afeac7ca9d849d198ce6ebe239aa3127151efc
|
|
|
|
(-funsigned-char)
|
|
|
|
|