Commit graph

414 commits

Author SHA1 Message Date
Byron Hambly
085f710c02 Merge 1b76b18f8a into merged_master (Bitcoin PR bitcoin/bitcoin#23585) 2023-06-06 10:01:57 +00:00
James Dorfman
51414e1a44 Merge 6db7e43d42 into merged_master (Bitcoin PR bitcoin/bitcoin#23677) 2023-06-02 15:00:19 +00:00
James Dorfman
7d697c3b6e Merge c9d7d0a653 into merged_master (Bitcoin PR bitcoin/bitcoin#23635) 2023-06-01 06:00:22 +00:00
Byron Hambly
53bdca0c11 Merge 8b07145796 into merged_master (Bitcoin PR bitcoin/bitcoin#23597) 2023-05-31 14:04:23 +00:00
Byron Hambly
2cf78f4b15 Merge ad09c287cb into merged_master (Bitcoin PR bitcoin/bitcoin#23504) 2023-05-26 11:10:20 +00:00
James Dorfman
4a713e72bb Merge aec631bccc into merged_master (Bitcoin PR bitcoin/bitcoin#23462) 2023-05-24 20:35:27 +00:00
Byron Hambly
81d5607ec8 Merge c1fb30633b into merged_master (Bitcoin PR bitcoin/bitcoin#23114) 2023-05-24 12:58:57 +00:00
Byron Hambly
e34dded367 Merge c86f546f98 into merged_master (Bitcoin PR bitcoin/bitcoin#23458) 2023-05-17 11:53:56 +00:00
Byron Hambly
cb08328fbf Merge ed40f37e00 into merged_master (Bitcoin PR bitcoin/bitcoin#22076) 2023-05-17 11:15:32 +00:00
Byron Hambly
0cad2862de Merge 77a2f5d30c into merged_master (Bitcoin PR bitcoin/bitcoin#23334) 2023-05-17 09:41:17 +00:00
James Dorfman
a79aa023fe Merge 3e3f53c77e into merged_master (Bitcoin PR bitcoin/bitcoin#23328) 2023-05-14 07:22:16 +00:00
James Dorfman
be1fc7ead9 Merge a7f28af437 into merged_master (Bitcoin PR bitcoin/bitcoin#22646) 2023-05-14 00:43:20 +00:00
Byron Hambly
31bb8332bc Merge 3bf40d06a2 into merged_master (Bitcoin PR bitcoin/bitcoin#23212) 2023-05-11 13:15:28 +00:00
Byron Hambly
a616d9aff6 Merge e504e9a8ed into merged_master (Bitcoin PR bitcoin/bitcoin#23286) 2023-05-11 13:02:14 +00:00
Byron Hambly
cca3f919f8 Merge 9e530c6352 into merged_master (Bitcoin PR bitcoin/bitcoin#20487) 2023-05-09 11:22:04 +00:00
Byron Hambly
b08c9ff55b Merge 67eae69f3f into merged_master (Bitcoin PR bitcoin/bitcoin#23060) 2023-04-26 11:03:13 +00:00
Byron Hambly
4756e1f59a Merge 8f022a59b8 into merged_master (Bitcoin PR bitcoin/bitcoin#22993) 2023-04-22 07:54:57 +00:00
James Dorfman
735e39231d Merge e4ae0008d8 into merged_master (Bitcoin PR bitcoin/bitcoin#23014) 2023-04-22 02:25:50 +00:00
Byron Hambly
9bb7d8f8d8 Merge 698b4b8fac into merged_master (Bitcoin PR bitcoin/bitcoin#22930) 2023-04-21 12:26:22 +00:00
Byron Hambly
c44415a27c Merge 87780dfee8 into merged_master (Bitcoin PR bitcoin/bitcoin#22994) 2023-04-21 11:13:49 +00:00
James Dorfman
fbabb1c4e8 Merge 020c2b7609 into merged_master (Bitcoin PR bitcoin/bitcoin#22923) 2023-04-21 05:08:04 +00:00
James Dorfman
9878769863 Merge e567dd53d1 into merged_master (Bitcoin PR bitcoin/bitcoin#22841) 2023-04-20 21:21:22 +00:00
James Dorfman
3cace2f326 Merge 78d39f8438 into merged_master (Bitcoin PR bitcoin/bitcoin#22861) 2023-04-20 20:38:04 +00:00
Byron Hambly
2334307d42 Merge 245462b66c into merged_master (Bitcoin PR bitcoin/bitcoin#22418) 2023-04-13 12:10:09 +00:00
Byron Hambly
3e38acbb2a Merge 19aa5afcae into merged_master (Bitcoin PR bitcoin/bitcoin#22744) 2023-04-11 08:56:48 +00:00
Byron Hambly
b595ff1652 Merge 19364c0ddf into merged_master (Bitcoin PR bitcoin/bitcoin#20586) 2023-04-11 08:09:44 +00:00
James Dorfman
58ec10be63 Merge fdd80b0a53 into merged_master (Bitcoin PR bitcoin/bitcoin#22688) 2023-04-10 02:16:59 +00:00
James Dorfman
b5a37b0c9b Merge 7fc9a45f47 into merged_master (Bitcoin PR bitcoin/bitcoin#22469) 2023-03-16 16:06:33 +00:00
Glenn Willen
65bdef4b5f Use git --no-pager in ci script.
When running 'git log' in a ci script, pass --no-pager to ensure
that a pager (i.e. 'less') is never used. When running in CI,
there is no controlling terminal, so a pager will never be used;
but when running the CI scripts by hand to reproduce CI issues,
the automatic invocation of a pager by 'git log' breaks the script.
2023-03-01 12:08:03 -08:00
Glenn Willen
6be157e26b ci: Disable one of the fuzz tests to work around bitcoin#22233 2022-05-25 19:47:48 -07:00
Glenn Willen
db9faa3a38 ci: Swith from Centos 8 (EOL) to Centos Stream 8
Following upstream's lead, switch from the `centos:8` image, which is no
longer available, to Centos Stream 8, to fix a broken CI task.
2022-04-21 18:00:35 -07:00
fanquake
1b76b18f8a
Merge bitcoin/bitcoin#23585: scripted-diff: Drop Darwin version for better maintainability
2f356a0ca8 scripted-diff: Drop Darwin version for better maintainability (Hennadii Stepanov)

Pull request description:

  After this PR, any macOS tools version bumping in the future will touch fewer files in the repo.

  Pointing a Darwin version for the `--host` system does not matter for the following reasons:

  - in terms of the resulted binaries, we should only care about the minimum supported macOS version which is a separated parameter in our build system.

  - in terms of the build system itself, the usage of the `$(host)` variable is self-consistent enough. Btw `$(host_os)` value already has the version dropped:
  ```
  $ make -C depends --no-print-directory print-host_os HOST=x86_64-apple-darwin19
  host_os=darwin
  ```

ACKs for top commit:
  gruve-p:
    ACK https://github.com/bitcoin/bitcoin/pull/23585/commits/2f356a0ca8b080c860c8924d201b98f1f9fa0ad5
  promag:
    ACK 2f356a0ca8.
  fanquake:
    ACK 2f356a0ca8

Tree-SHA512: 374896ab0ba02b0d8b4b21431fe963bd213b0d09586e0898c13a4c5fa294c1b693f1b2c92880c245c4157c14217b4825b36522f461930477f4d2a727086ebb2a
2021-12-09 16:13:33 +08:00
Hennadii Stepanov
78a6bc6919
build, qt: Use Android NDK r23 LTS 2021-12-05 03:00:02 +02:00
Hennadii Stepanov
5202bd1dc0
test: Bump shellcheck version to 0.8.0 2021-11-30 21:15:40 +02:00
Hennadii Stepanov
3ad5ace351
ci: Revamp Android SDK cache, and update it timely 2021-11-25 21:23:34 +02:00
Hennadii Stepanov
e988bc7f2e
ci: Make macOS SDK cache independent, and update it timely 2021-11-25 20:39:07 +02:00
Hennadii Stepanov
2f356a0ca8
scripted-diff: Drop Darwin version for better maintainability
-BEGIN VERIFY SCRIPT-
sed -i 's/darwin19/darwin/g' $(git grep --files-with-matches 'darwin19')
-END VERIFY SCRIPT-
2021-11-25 01:12:46 +02:00
fanquake
ad09c287cb
Merge bitcoin/bitcoin#23504: ci: Replace soon EOL hirsute with jammy
fafa66e424 ci: Replace soon EOL hirsute with jammy (MarcoFalke)

Pull request description:

  `hirsute` will be EOL in about 1.5 months, at which point the package servers may be shut down. Avoid this by hopping to the next LTS release 22.04 (Jammy Jellyfish).

  While the release is currently in development, it seems unlikely that anything will break for us. I am doing the hirsute->jammy hop to avoid a hirsute->impish->jammy hop, but if anything does break, we can fall back to that "double hop".

ACKs for top commit:
  fanquake:
    ACK fafa66e424
  Zero-1729:
    crACK fafa66e424

Tree-SHA512: a3626b72519c7f54f260477d04265321af7aefe25cc2a7d653dba77f79caca10db3a6aa4249a934184dcdc99832f6b4c6e50330d7630e58720ab0aba3624ab8a
2021-11-16 16:11:13 +08:00
Hennadii Stepanov
fe0ff569ea
test: Enable SC2046 shellcheck rule 2021-11-13 18:05:26 +02:00
Hennadii Stepanov
9a1ad7bc0d
test: Enable SC2086 shellcheck rule 2021-11-13 16:54:56 +02:00
MarcoFalke
fafa66e424
ci: Replace soon EOL hirsute with jammy 2021-11-13 11:19:36 +01:00
fanquake
c1fb30633b
Merge bitcoin/bitcoin#23114: Add minisketch subtree and integrate into build/test
29173d6c6c ubsan: add minisketch exceptions (Cory Fields)
54b5e1aeab Add thin Minisketch wrapper to pick best implementation (Pieter Wuille)
ee9dc71c1b Add basic minisketch tests (Pieter Wuille)
0659f12b13 Add minisketch dependency (Gleb Naumenko)
0eb7928ab8 Add MSVC build configuration for libminisketch (Pieter Wuille)
8bc166d5b1 build: add minisketch build file and include it (Cory Fields)
b2904ceb85 build: add configure checks for minisketch (Cory Fields)
b6487dc4ef Squashed 'src/minisketch/' content from commit 89629eb2c7 (fanquake)

Pull request description:

  This takes over #21859, which has [recently switched](https://github.com/bitcoin/bitcoin/pull/21859#issuecomment-921899200) to my integration branch. A few more build issues came up (and have been fixed) since, and after discussing with sipa it was decided I would open a PR to shepherd any final changes through.

  > This adds a `src/minisketch` subtree, taken from the master branch of https://github.com/sipa/minisketch, to prepare for Erlay implementation (see #21515). It gets configured for just supporting 32-bit fields (the only ones we're interested in in the context of Erlay), and some code on top is added:
  > * A very basic unit test (just to make sure compilation & running works; actual correctness checking is done through minisketch's own tests).
  > * A wrapper in `minisketchwrapper.{cpp,h}` that runs a benchmark to determine which field implementation to use.

  Only changes since my last update to the branch in the previous PR have been rebasing on master and fixing an issue with a header in an introduced file.

ACKs for top commit:
  naumenkogs:
    ACK 29173d6c6c

Tree-SHA512: 1217d3228db1dd0de12c2919314e1c3626c18a416cf6291fec99d37e34fb6eec8e28d9e9fb935f8590273b8836cbadac313a15f05b4fd9f9d3024c8ce2c80d02
2021-11-12 10:00:49 +08:00
MarcoFalke
c86f546f98
Merge bitcoin/bitcoin#23458: ci: Do not print git log for empty COMMIT_RANGE
095f07744c ci: Do not print `git log` for empty COMMIT_RANGE (Hennadii Stepanov)

Pull request description:

  On master (77a2f5d30c) a CI lint task [log](https://api.cirrus-ci.com/v1/task/4817858858319872/logs/lint.log) exceeds 20K lines.

  This PR fixes this issue.

ACKs for top commit:
  MarcoFalke:
    cr ACK 095f07744c

Tree-SHA512: 89180018aeccf1599cdf218924cbab12dcbae0f6674bb90e13b64e342cdd908a880b885039c23f0d1d03493e55a94fe04abf39481616ae6550c6a759f5ca9a35
2021-11-08 09:32:11 +01:00
Hennadii Stepanov
15fb57556e
ci: Enable ccache for "ARM64 Android APK" job 2021-11-08 07:19:21 +02:00
Hennadii Stepanov
095f07744c
ci: Do not print git log for empty COMMIT_RANGE 2021-11-07 17:04:06 +02:00
MarcoFalke
11115169a1
ci: Build fuzz with libsqlite3-dev 2021-10-28 13:32:47 +01:00
Gleb Naumenko
0659f12b13
Add minisketch dependency 2021-10-21 09:38:55 +08:00
MarcoFalke
fa44406ffd
ci: Disable syscall sandbox in valgrind functional tests 2021-10-20 21:06:10 +02:00
fanquake
a7f28af437
Merge bitcoin/bitcoin#22646: build: tighter Univalue integration, remove --with-system-univalue
0f95247246 Integrate univalue into our buildsystem (Cory Fields)
9b49ed656f Squashed 'src/univalue/' changes from 98fadc0909..a44caf65fe (fanquake)

Pull request description:

  This PR more tightly integrates building Univalue into our build system. This follows the same approach we use for [LevelDB](https://github.com/bitcoin-core/leveldb/), ([`Makefile.leveldb.include`](https://github.com/bitcoin/bitcoin/blob/master/src/Makefile.leveldb.include)), and [CRC32C](https://github.com/bitcoin-core/crc32c) ([`Makefile.crc32c.include`](https://github.com/bitcoin/bitcoin/blob/master/src/Makefile.crc32c.include)), and will be the same approach we use for [minisketch](https://github.com/sipa/minisketch); see #23114.

  This approach yields a number of benefits, including:
  * Faster configuration due to one less subconfigure being run during `./configure` i.e 22s with this PR vs 26s
  * Faster autoconf i.e 13s with this PR vs 17s
  * Improved caching
  * No more issues with compiler flags i.e https://github.com/bitcoin/bitcoin/pull/12467
  * More direct control means we can build exactly the objects we want

  There might be one argument against making this change, which is that builders should have the option to use "proper shared/system libraries". However, I think that falls down for a few reasons. The first being that we already don't support building with a number of system libraries (secp256k1, leveldb, crc32c); some for good reason. Univalue is really the odd one out at the moment.

  Note that the only fork of Core I'm aware of, that actively patches in support for using system libs, also explicitly marks them as ["DANGEROUS"](a886811721/configure.ac (L1430)) and ["NOT SUPPORTED"](a886811721/configure.ac (L1312)). So it would seem they exist more to satisfy a distro requirement, as opposed to something that anyone should, or would actually use in practice.

  PRs like #22412 highlight the "issue" with us operating with our own Univalue fork, where we actively fix bugs, and make improvements, when upstream (https://github.com/jgarzik/univalue) may not be taking those improvements, and by all accounts, is not currently actively maintained. Bitcoin Core should not be hamstrung into not being able to fix bugs in a library, and/or have to litter our source with "workarounds", i.e #22412, for bugs we've already fixed, based on the fact that an upstream project is not actively being maintained. Allowing builders to use system libs is really only exacerbating this problem, with little benefit to our project. Bitcoin Core is not quite like your average piece of distro packaged software.

  There is the potential for us to give the same treatment to libsecp256k1, however it seems doing that is currently less straightforward.

ACKs for top commit:
  dongcarl:
    ACK 0f95247246 less my comment above, always nice to have an include-able `sources.mk` which makes integration easier.
  theuni:
    ACK 0f95247246. Thanks fanquake for keeping this going.

Tree-SHA512: a7f2e41ee7cba06ae72388638e86b264eca1b9a8b81c15d1d7b45df960c88c3b91578b4ade020f8cc61d75cf8d16914575f9a78fa4cef9c12be63504ed804b99
2021-10-20 11:01:38 +08:00
fanquake
22e652662b
lint mypy 0.910 2021-10-16 09:14:36 +08:00