Skip to content

Sync with the main repo #36

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 187 commits into from
Sep 11, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
187 commits
Select commit Hold shift + click to select a range
ea98d9c
rpc: fix/add missing RPCExamples for "Util" RPCs
theStack Mar 26, 2020
ded449b
zmq: Enable IPv6 on listening socket
n-thumann May 26, 2021
8abe570
test: Add IPv6 test to zmq
n-thumann May 26, 2021
e699883
doc: Add IPv6 address to zmq example
n-thumann May 26, 2021
fdd7144
system: skip trying to set the locale on NetBSD
fanquake Jul 2, 2021
77f37f5
doc: update enum naming in developer notes
jonatack May 12, 2021
2445df4
build: Fix macOS Apple Silicon build with miniupnpc and libnatpmp
hebasto Jul 3, 2021
2b07126
error if settings.json exists, but is unreadable
tylerchambers Jul 30, 2021
5559cf1
doc: Add packages that provide Qt Wayland plugin for Linux
hebasto Aug 5, 2021
5eeea8e
Add addr_processed and addr_rate_limited stats to -netinfo
jonatack Jul 16, 2021
0a9ee3a
Simplify a few conditionals in -netinfo
jonatack Jul 16, 2021
3834e23
Display peers in -netinfo that request we not relay transactions
jonatack May 14, 2021
218862a
Display peers in -netinfo that we don't relay addresses to
jonatack Aug 9, 2021
b7a1744
log, sync: add LOCK logging category, apply it to lock contention
jonatack Aug 18, 2021
d9d3ec0
Consolidate XOnlyPubKey lookup hack
achow101 Jun 28, 2021
b001b9f
MOVEONLY: BIP125 max conflicts limit to policy/rbf.h
glozow Jul 27, 2021
e0df41d
[validation] default conflicting fees and size to 0
glozow Aug 20, 2021
badb9b1
call SignalsOptInRBF instead of checking all inputs
glozow Aug 20, 2021
8d71796
[validation] quit RBF logic earlier and separate loops
glozow Jul 27, 2021
f293c68
MOVEONLY: getting mempool conflicts to policy/rbf
glozow Jul 27, 2021
50fd770
[init] Read/decode asmap before constructing addrman
jnewbery Aug 24, 2021
5932478
[net] Remove CConnMan::SetAsmap()
jnewbery Aug 24, 2021
fa880b1
ci: Unconditionally set the global git author name in cirrys.yml
Aug 19, 2021
fa00160
ci: Re-enable verify-commits.py check
Aug 19, 2021
404373b
qt, refactor: Pass WalletModel object to WalletView constructor
hebasto Aug 7, 2021
ca0e680
qt, refactor: Drop redundant checks of walletModel
hebasto Aug 7, 2021
92ddc02
qt, refactor: Declare getWalletModel with const and noexcept qualifiers
hebasto Aug 7, 2021
fa7db1c
[test] checks descendants limtis for second generation Package descen…
ritickgoenka Aug 10, 2021
1622543
[addrman] Move CAddrMan::Serialize to cpp file
jnewbery Aug 17, 2021
a65053f
[addrman] Move CAddrMan::Unserialize to cpp file
jnewbery Aug 17, 2021
7dc443a
[addrman] Change addrman #define constants to be constexprs
amitiuttarwar Aug 17, 2021
af9638a
[move-only] Extract constants from addrman .h to .cpp
amitiuttarwar Aug 17, 2021
85b15dd
[refactor] [addrman] Update constant comments
jnewbery Aug 18, 2021
f572f2b
[addrman] Set m_asmap in CAddrMan initializer list
jnewbery Aug 24, 2021
f9002cb
[net] Rename the copyStats arg from m_asmap to asmap
jnewbery Aug 24, 2021
5840476
[addrman] Make m_asmap private
jnewbery Aug 24, 2021
724c497
[fuzz] Add ConsumeAsmap() function
jnewbery Aug 25, 2021
54de7b4
Allow the long term feerate to be configured, default of 10 sat/vb
achow101 May 20, 2021
d5069fc
tests: Use SelectCoinsBnB directly instead of AttemptSelection
achow101 Jul 2, 2021
6a023a6
tests: Add KnapsackGroupOutputs helper function
achow101 Jul 2, 2021
935b3dd
scripted-diff: tests: Use KnapsackSolver directly
achow101 Jul 2, 2021
4f5ad43
Add waste metric calculation function
achow101 May 20, 2021
b3df0ca
tests: Test GetSelectionWaste
achow101 Jun 11, 2021
86beee0
Use waste metric for deciding which selection to use
achow101 May 20, 2021
0bd882b
refactor: remove RecursiveMutex cs_nBlockSequenceId
theStack Aug 28, 2021
7be143a
Merge bitcoin/bitcoin#22824: refactor: remove RecursiveMutex cs_nBloc…
Aug 30, 2021
fa2e9de
test: Check that non-signaling BIP125 tx can be replaced via parent
Aug 26, 2021
56a42f1
Stricter BIP32 decoding and test vector 5
sipa Aug 30, 2021
d2a09c8
doc: mention bech32m/BIP350 in doc/descriptors.md
sipa Aug 30, 2021
ab9c342
release: remove gitian
fanquake Jul 8, 2021
76f031b
build: fix unoptimized libraries in depends
fanquake Aug 31, 2021
9d43045
builder-keys: add kristapsk
kristapsk Aug 31, 2021
fa0a5fa
ci: Fuzz with -ftrivial-auto-var-init=pattern
Aug 31, 2021
19aa5af
Merge bitcoin/bitcoin#22744: ci: Re-enable verify-commits.py check
fanquake Aug 31, 2021
0f0c5d4
Merge bitcoin/bitcoin#22842: builder-keys: add kristapsk
fanquake Aug 31, 2021
81f4a3e
Merge bitcoin/bitcoin#22796: RBF move (1/3): extract BIP125 Rule 5 in…
fanquake Aug 31, 2021
97cea1a
policy: unit test Segwit dust thresholds
darosior Aug 24, 2021
96cc6bb
guix/prelude: Override VERSION with FORCE_VERSION
dongcarl Aug 30, 2021
fab53ff
Remove unused SERIALIZE_METHODS for CBanEntry
Aug 31, 2021
fa3bd9d
Remove CBanEntry::SetNull
Aug 31, 2021
7f07359
Test src/node/transaction::GetTransaction() without -txindex
jonatack Jul 11, 2021
8c19d13
refactor: dedup/reorg createrawtransaction sequence number tests
jonatack Jul 12, 2021
0097740
refactor: txid to constant in rpc_rawtransaction to isolate tests
jonatack Jul 12, 2021
85d8869
test: run 2nd getrawtransaction section with/without -txindex
jonatack Jul 11, 2021
14398b3
test: add and harmonize getrawtransaction logging
jonatack Jul 12, 2021
d861040
test: remove no longer needed (ASCII art) comments
jonatack Jul 12, 2021
409779d
move-only: regroup similar rpc_rawtransaction tests together
jonatack Jul 12, 2021
7d5cec2
refactor: separate the rpc_rawtransaction tests into functions
jonatack Jul 12, 2021
387355b
test, refactor: rpc_rawtransaction PEP8
jonatack Jul 12, 2021
a820e79
Merge bitcoin/bitcoin#22740: [addrman] Move serialization code to cpp
fanquake Sep 1, 2021
70676e4
Merge bitcoin/bitcoin#22009: wallet: Decide which coin selection solu…
meshcollider Sep 1, 2021
b3a2b8c
Merge bitcoin/bitcoin#22849: Remove unused SERIALIZE_METHODS for CBan…
Sep 1, 2021
b11a195
refactor: Detach wallet transaction methods (followup for move-only)
ryanofsky Feb 12, 2021
fa18553
fuzz: Remove addrdb fuzz target
Sep 1, 2021
3f4c6b8
log, timer: add timing macro in usec LOG_TIME_MICROS_WITH_CATEGORY
jonatack Sep 1, 2021
9b08006
log, sync: improve lock contention logging and add time duration
jonatack Aug 18, 2021
7e69873
sync: remove DEBUG_LOCKCONTENTION preprocessor directives
jonatack Aug 18, 2021
7e75400
Merge bitcoin/bitcoin#22437: test, refactor: add GetTransaction() cov…
Sep 1, 2021
dc9ffb6
Merge bitcoin/bitcoin#22837: doc: mention bech32m/BIP350 in doc/descr…
fanquake Sep 2, 2021
9a86327
Merge bitcoin/bitcoin#22512: Consolidate XOnlyPubKey lookup hack
meshcollider Sep 2, 2021
9487b68
Merge bitcoin/bitcoin#22847: guix/prelude: Override `VERSION` with `F…
fanquake Sep 2, 2021
3af495d
Merge bitcoin/bitcoin#22840: build: fix unoptimized libraries in depends
fanquake Sep 2, 2021
01fa148
Merge bitcoin/bitcoin#22836: Stricter BIP32 decoding and test vector 5
fanquake Sep 2, 2021
43bf824
Merge bitcoin/bitcoin#22853: fuzz: Remove addrdb fuzz target
fanquake Sep 2, 2021
ae4ad1a
msvc: update bitcoin_config.h defines
fanquake Aug 31, 2021
77e77e8
Merge bitcoin/bitcoin#22631: doc: Add packages that provide Qt Waylan…
fanquake Sep 2, 2021
9355186
Replace use of boost::trim use with locale-independent TrimString
Empact Feb 12, 2020
4bf18b0
Replace use of boost::trim_right with locale-independent TrimString
Empact Feb 12, 2020
696c76d
tests: Add TrimString(...) tests
practicalswift Dec 17, 2019
6bf706a
Merge bitcoin/bitcoin#22846: policy: unit test Segwit dust thresholds
Sep 2, 2021
fa1b08e
test: Always clear reject reason in IsStandard tx test
Sep 2, 2021
d6034e4
Merge bitcoin/bitcoin#22843: msvc: update bitcoin_config.h defines
fanquake Sep 2, 2021
245462b
Merge bitcoin/bitcoin#22418: release: Remove gitian
Sep 2, 2021
fa050bb
test: Update test README and lint script
Sep 2, 2021
fa0b916
scripted-diff: Use generate* from TestFramework
Aug 19, 2021
fa0937d
test: Rename bitcoin-util-test.py to util/test_runner.py
Sep 2, 2021
b997dd2
Merge bitcoin/bitcoin#22809: test: Check that non-signaling BIP125 tx…
fanquake Sep 2, 2021
a70768d
Merge bitcoin/bitcoin#22501: netinfo: display addr_{processed, rate_l…
laanwj Sep 2, 2021
f8ad2a5
Make GetEntriesForConflicts return std::optional
glozow Sep 2, 2021
7b60c02
MOVEONLY: BIP125 Rule 2 to policy/rbf
glozow Aug 3, 2021
3f033f0
MOVEONLY: check for disjoint conflicts and ancestors to policy/rbf
glozow Jul 27, 2021
9c2f9f8
MOVEONLY: check that fees > direct conflicts to policy/rbf
glozow Aug 11, 2021
ac761f0
MOVEONLY: fee checks (Rules 3 and 4) to policy/rbf
glozow Aug 11, 2021
fa47622
scripted-diff: rename variables in policy/rbf
glozow Aug 16, 2021
32748da
whitespace fixups after move and scripted-diff
glozow Sep 1, 2021
dd097c4
Merge bitcoin/bitcoin#18448: rpc: fix/add missing RPCExamples for "Ut…
Sep 2, 2021
d319c4d
qt, refactor: Replace WalletFrame::addWallet with WalletFrame::addView
hebasto Sep 2, 2021
629c4ab
Merge bitcoin/bitcoin#22100: refactor: Clean up new wallet spend, rec…
meshcollider Sep 3, 2021
6919c82
MOVEONLY: Expose BanMapToJson / BanMapFromJson
ryanofsky Aug 31, 2021
fa5c896
Add LIFETIMEBOUND to CScript where needed
Jun 18, 2021
fa7e6c5
Add LIFETIMEBOUND to InitializeChainstate
Sep 3, 2021
facce4c
test: Remove useless overwrite
Sep 3, 2021
5fb6701
Merge bitcoin/bitcoin#22860: test: Always clear reject reason in IsSt…
Sep 3, 2021
32d036e
wallet: GetLabelAddresses requires cs_wallet lock
promag Aug 29, 2020
5fabde6
wallet: AddWalletDescriptor requires cs_wallet lock
promag Aug 29, 2020
f4e12fd
Merge bitcoin/bitcoin#22278: Add LIFETIMEBOUND to CScript where needed
fanquake Sep 4, 2021
d1267fd
build: Update default platform toolset in msvc-autogen.py
hebasto Sep 4, 2021
6490a3e
Merge bitcoin/bitcoin#22859: Replace uses of boost::trim* with locale…
fanquake Sep 5, 2021
fab0b55
addrman: Fix format string in deserialize error
Sep 3, 2021
e952d75
netinfo: clarify client and server versions in header
jonatack Sep 5, 2021
91e07cc
Merge bitcoin/bitcoin#22591: Util: error if settings json exists, but…
Sep 5, 2021
0ebd88f
Merge bitcoin/bitcoin#22888: build: Update default platform toolset i…
Sep 5, 2021
78d39f8
Merge bitcoin/bitcoin#22861: test: Update test README and lint script
fanquake Sep 6, 2021
4bd56bc
Merge bitcoin/bitcoin#22894: netinfo: clarify client and server versi…
Sep 6, 2021
e567dd5
Merge bitcoin/bitcoin#22841: ci: Fuzz with -ftrivial-auto-var-init=pa…
Sep 6, 2021
fa92777
Merge bitcoin/bitcoin#22736: log, sync: change lock contention from p…
Sep 6, 2021
2c6707b
Merge bitcoin/bitcoin#22848: MOVEONLY: Expose BanMapToJson / BanMapFr…
Sep 6, 2021
a8fdfea
Merge bitcoin/bitcoin#22791: init: Fix asmap/addrman initialization o…
Sep 6, 2021
92aad53
Merge bitcoin/bitcoin#21930: doc: update enumerator naming in develop…
Sep 6, 2021
6718fbe
Merge bitcoin/bitcoin#22397: build: Fix macOS Apple Silicon build wit…
laanwj Sep 6, 2021
8d2f847
sync: inline lock contention logging macro to fix time duration
jonatack Sep 6, 2021
498b323
log, timer: improve BCLog::LogMsg()
jonatack Sep 6, 2021
1fb7079
ci: Add Windows task to Cirrus CI
hebasto Sep 6, 2021
97292b1
ci: Drop AppVeyor CI integration
hebasto Sep 6, 2021
503194d
Merge bitcoin-core/gui#398: refactor: Pass WalletModel object to the …
hebasto Sep 7, 2021
fa57fa1
Enable clang-tidy bugprone-argument-comment and fix violations
Sep 6, 2021
9393666
Merge bitcoin/bitcoin#19833: wallet: Avoid locking cs_wallet recursively
Sep 7, 2021
fa3f5d0
Move addrman includes from .h to .cpp
Sep 7, 2021
fa7f77b
Fix addrdb includes
Aug 20, 2021
fade9a1
Remove confusing CAddrDB
Aug 21, 2021
07a9ecc
[net] Remove CConnman::Options.m_asmap
jnewbery Sep 1, 2021
e7c6ed6
Merge bitcoin/bitcoin#21551: ci: Move Windows MSVC build from AppVeyo…
Sep 7, 2021
64015eb
ci: Add missed comments and test_bitcoin.exe command line option
hebasto Sep 7, 2021
e0ca5d0
Merge bitcoin/bitcoin#22909: ci: Add missed comments and test_bitcoin…
Sep 7, 2021
bfdf4ef
[asmap] Remove SanityCheckASMap() from netaddress
jnewbery Sep 7, 2021
3a68546
ci: Build and cache static Qt instead of downloading a pre-built one
hebasto Sep 5, 2021
9fd5618
[asmap] Make DecodeAsmap() a utility function
jnewbery Sep 1, 2021
853c4ed
[net] Remove asmap argument from CNode::CopyStats()
jnewbery Sep 1, 2021
ecf580e
Merge bitcoin/bitcoin#22899: ci: Build and cache static Qt instead of…
Sep 7, 2021
bddae7e
Add util/types.h with ALWAYS_FALSE template
May 31, 2021
f530202
Make unexpected time type in BCLog::LogMsg() a compile-time error
martinus Sep 7, 2021
f78cc90
ci: Fix merge_script in MSVC task
hebasto Sep 7, 2021
7d7d5e8
Merge bitcoin/bitcoin#22879: addrman: Fix format string in deserializ…
fanquake Sep 8, 2021
69a439b
doc: add missing copyright header to getuniquepath.cpp
fanquake Sep 8, 2021
5e3380b
Merge bitcoin/bitcoin#22916: doc: add missing copyright header to get…
Sep 8, 2021
fadecbd
test: Fix tests on Windows
Sep 8, 2021
facb534
test: Add missing suppression signed-integer-overflow:addrman.cpp
Sep 8, 2021
fae0295
ci: Switch multiprocess to i686 build
Sep 8, 2021
fa0c194
cirrus: Enable tests on windows
Sep 8, 2021
c427a58
doc: Set PYTHONUTF8=1 for functional tests on Windows
hebasto Sep 8, 2021
da67b75
Merge bitcoin/bitcoin#22903: Enable clang-tidy bugprone-argument-comm…
fanquake Sep 9, 2021
8805e06
Merge bitcoin/bitcoin#22390: system: skip trying to set the locale on…
fanquake Sep 9, 2021
8966499
Merge bitcoin/bitcoin#22915: Remove confusing CAddrDB
Sep 9, 2021
e4aa9b1
Merge bitcoin/bitcoin#22922: ci: Fix and enable tests on Windows
Sep 9, 2021
fa309ee
bench: Fix 32-bit compilation failure in addrman bench
Sep 9, 2021
fa5aeec
Move LoadAddrman from init to addrdb
Aug 21, 2021
fa4e2cc
Inline ReadPeerAddresses
Aug 21, 2021
fa55c3d
Raise InitError when peers.dat is invalid or corrupted
Aug 21, 2021
17e27dd
Merge bitcoin/bitcoin#22912: ci: Fix merge_script in MSVC task
fanquake Sep 9, 2021
eb1f570
Merge bitcoin/bitcoin#22925: test: Add missing suppression signed-int…
Sep 9, 2021
faed284
test: Avoid intermittent test failure in feature_csv_activation.py
Sep 7, 2021
fa676db
test: pep-8 whitespace
Sep 9, 2021
a5d00d4
Merge bitcoin/bitcoin#22788: scripted-diff: Use generate* from TestFr…
bitcoin-core-merge-script Sep 9, 2021
b05d3e7
Merge bitcoin/bitcoin#22079: zmq: Add support to listen on IPv6 addre…
laanwj Sep 9, 2021
6045a14
util: remove libevent <= 2.0.18 back-compat code
fanquake Sep 8, 2021
fac7181
Merge bitcoin/bitcoin#22582: test: a test to check descendant limits
Sep 9, 2021
020c2b7
Merge bitcoin/bitcoin#22923: test: Switch multiprocess to clang i686 …
laanwj Sep 9, 2021
1d0c57a
Merge bitcoin/bitcoin#22914: util: remove libevent <= 2.0.18 back-com…
fanquake Sep 9, 2021
d2dd169
Merge bitcoin/bitcoin#22904: sync, log: inline lock contention loggin…
Sep 9, 2021
67c85bd
doc: Added hyperlink for doc/build
Pradumnasaraf Sep 9, 2021
b653415
Merge bitcoin/bitcoin#22926: doc: Set PYTHONUTF8=1 for functional tes…
fanquake Sep 10, 2021
5446070
Merge bitcoin/bitcoin#22911: [net] Minor cleanups to asmap
fanquake Sep 10, 2021
b8336b2
Merge bitcoin/bitcoin#22675: RBF move 2/3: extract RBF logic into pol…
fanquake Sep 10, 2021
6088115
Merge bitcoin/bitcoin#22907: test: Avoid intermittent test failure in…
Sep 10, 2021
384d076
Merge bitcoin/bitcoin#22880: doc: Added hyperlink for doc/build
Sep 10, 2021
053a5fc
Merge bitcoin/bitcoin#22762: Raise InitError when peers.dat is invali…
Sep 10, 2021
cf892d5
Sync with the main repo up to 053a5fc7d912d597cd6dc7376b479420d1eae1c0
hebasto Sep 10, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
63 changes: 0 additions & 63 deletions .appveyor.yml

This file was deleted.

111 changes: 86 additions & 25 deletions .cirrus.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
### Global defaults

env:
env: # Global defaults
PACKAGE_MANAGER_INSTALL: "apt-get update && apt-get install -y"
MAKEJOBS: "-j4"
TEST_RUNNER_PORT_MIN: "14000" # Must be larger than 12321, which is used for the http cache. See https://cirrus-ci.org/guide/writing-tasks/#http-cache
Expand All @@ -18,16 +16,21 @@ persistent_worker_template: &PERSISTENT_WORKER_TEMPLATE
persistent_worker: {} # https://cirrus-ci.org/guide/persistent-workers/

# https://cirrus-ci.org/guide/tips-and-tricks/#sharing-configuration-between-tasks
base_template: &BASE_TEMPLATE
filter_template: &FILTER_TEMPLATE
skip: $CIRRUS_REPO_FULL_NAME == "bitcoin-core/gui" && $CIRRUS_PR == "" # No need to run on the read-only mirror, unless it is a PR. https://cirrus-ci.org/guide/writing-tasks/#conditional-task-execution
stateful: false # https://cirrus-ci.org/guide/writing-tasks/#stateful-tasks

base_template: &BASE_TEMPLATE
<< : *FILTER_TEMPLATE
merge_base_script:
# Unconditionally install git (used in fingerprint_script) and set the
# default git author name (used in verify-commits.py)
- bash -c "$PACKAGE_MANAGER_INSTALL git"
- if [ "$CIRRUS_PR" = "" ]; then exit 0; fi
- git fetch $CIRRUS_REPO_CLONE_URL $CIRRUS_BASE_BRANCH
- git config --global user.email "ci@ci.ci"
- git config --global user.name "ci"
- if [ "$CIRRUS_PR" = "" ]; then exit 0; fi
- git fetch $CIRRUS_REPO_CLONE_URL $CIRRUS_BASE_BRANCH
- git merge FETCH_HEAD # Merge base to detect silent merge conflicts
stateful: false # https://cirrus-ci.org/guide/writing-tasks/#stateful-tasks

main_template: &MAIN_TEMPLATE
timeout_in: 120m # https://cirrus-ci.org/faq/#instance-timed-out
Expand Down Expand Up @@ -57,22 +60,6 @@ compute_credits_template: &CREDITS_TEMPLATE
# Only use credits for pull requests to the main repo
use_compute_credits: $CIRRUS_REPO_FULL_NAME == 'bitcoin/bitcoin' && $CIRRUS_PR != ""

#task:
# name: "Windows"
# windows_container:
# image: cirrusci/windowsservercore:2019
# env:
# CIRRUS_SHELL: powershell
# PATH: 'C:\Python37;C:\Python37\Scripts;%PATH%'
# PYTHONUTF8: 1
# QT_DOWNLOAD_URL: 'https://github.com/sipsorcery/qt_win_binary/releases/download/v1.6/Qt5.9.8_x64_static_vs2019.zip'
# QT_DOWNLOAD_HASH: '9a8c6eb20967873785057fdcd329a657c7f922b0af08c5fde105cc597dd37e21'
# QT_LOCAL_PATH: 'C:\Qt5.9.8_x64_static_vs2019'
# VCPKG_INSTALL_PATH: 'C:\tools\vcpkg\installed'
# VCPKG_COMMIT_ID: 'ed0df8ecc4ed7e755ea03e18aaf285fd9b4b4a74'
# install_script:
# - choco install python --version=3.7.7 -y

task:
name: 'lint [bionic]'
<< : *BASE_TEMPLATE
Expand All @@ -87,6 +74,80 @@ task:
env:
<< : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV

task:
name: "Win64 native [unit tests, no functional tests] [msvc]"
<< : *FILTER_TEMPLATE
windows_container:
cpu: 4
memory: 16G
image: cirrusci/windowsservercore:visualstudio2019
timeout_in: 120m
env:
PATH: 'C:\jom;C:\Python39;C:\Python39\Scripts;C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\MSBuild\Current\Bin;%PATH%'
PYTHONUTF8: 1
VCPKG_TAG: '75522bb1f2e7d863078bcd06322348f053a9e33f'
VCPKG_FEATURE_FLAGS: 'manifests'
QT_DOWNLOAD_URL: 'https://download.qt.io/official_releases/qt/5.12/5.12.11/single/qt-everywhere-src-5.12.11.zip'
QT_LOCAL_PATH: 'C:\qt-everywhere-src-5.12.11.zip'
QT_SOURCE_DIR: 'C:\qt-everywhere-src-5.12.11'
QTBASEDIR: 'C:\Qt5.12.11_x64_static_vs2019_160900'
x64_NATIVE_TOOLS: '"C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Auxiliary\Build\vcvars64.bat"'
IgnoreWarnIntDirInTempDetected: 'true'
merge_script:
- git config --global user.email "ci@ci.ci"
- git config --global user.name "ci"
# Windows filesystem loses the executable bit, and all of the executable
# files are considered "modified" now. It will break the following `git merge`
# command. The next two commands make git ignore this issue.
- git config core.filemode false
- git reset --hard
- PowerShell -NoLogo -Command if ($env:CIRRUS_PR -ne $null) { git fetch $env:CIRRUS_REPO_CLONE_URL $env:CIRRUS_BASE_BRANCH; git merge FETCH_HEAD; }
msvc_qt_built_cache:
folder: "%QTBASEDIR%"
reupload_on_changes: false
fingerprint_script:
- echo %QT_DOWNLOAD_URL%
- msbuild -version
populate_script:
- curl -L -o C:\jom.zip http://download.qt.io/official_releases/jom/jom.zip
- mkdir C:\jom
- tar -xf C:\jom.zip -C C:\jom
- curl -L -o %QT_LOCAL_PATH% %QT_DOWNLOAD_URL%
- tar -xf %QT_LOCAL_PATH% -C C:\
- '%x64_NATIVE_TOOLS%'
- cd %QT_SOURCE_DIR%
- mkdir build
- cd build
- ..\configure -release -silent -opensource -confirm-license -opengl desktop -no-shared -static -static-runtime -mp -qt-zlib -qt-pcre -qt-libpng -no-libjpeg -nomake examples -nomake tests -nomake tools -no-dbus -no-libudev -no-icu -no-gtk -no-opengles3 -no-angle -no-sql-sqlite -no-sql-odbc -no-sqlite -no-libudev -no-vulkan -skip qt3d -skip qtactiveqt -skip qtandroidextras -skip qtcanvas3d -skip qtcharts -skip qtconnectivity -skip qtdatavis3d -skip qtdeclarative -skip qtdoc -skip qtgamepad -skip qtgraphicaleffects -skip qtimageformats -skip qtlocation -skip qtmacextras -skip qtmultimedia -skip qtnetworkauth -skip qtpurchasing -skip qtquickcontrols -skip qtquickcontrols2 -skip qtscript -skip qtscxml -skip qtsensors -skip qtserialbus -skip qtserialport -skip qtspeech -skip qtvirtualkeyboard -skip qtwayland -skip qtwebchannel -skip qtwebengine -skip qtwebsockets -skip qtwebview -skip qtx11extras -skip qtxmlpatterns -no-openssl -no-feature-sql -no-feature-sqlmodel -prefix %QTBASEDIR%
- jom
- jom install
vcpkg_cache:
folder: 'C:\Users\ContainerAdministrator\AppData\Local\vcpkg\archives'
install_python_script:
- choco install --yes --no-progress python3 --version=3.9.6
- pip install zmq
- python -VV
install_vcpkg_script:
- cd ..
- git clone --quiet https://github.com/microsoft/vcpkg.git
- cd vcpkg
- git -c advice.detachedHead=false checkout %VCPKG_TAG%
- .\bootstrap-vcpkg -disableMetrics
- echo set(VCPKG_BUILD_TYPE release) >> triplets\x64-windows-static.cmake
- .\vcpkg integrate install
- .\vcpkg version
build_script:
- cd %CIRRUS_WORKING_DIR%
- python build_msvc\msvc-autogen.py
- msbuild build_msvc\bitcoin.sln -property:Configuration=Release -maxCpuCount -verbosity:minimal -noLogo
unit_tests_script:
- src\test_bitcoin.exe -l test_suite
- src\bench_bitcoin.exe > NUL
- python test\util\test_runner.py
- python test\util\rpcauth-test.py
functional_tests_script:
- python test\functional\test_runner.py --ci --quiet --combinedlogslen=4000 --jobs=4 --timeout-factor=8 rpc_help feature_config_args rpc_signer feature_presegwit_node_upgrade "tool_wallet.py --descriptors" --failfast # TODO enable '--extended' and remove cherry-picked test list

task:
name: 'ARM [unit tests, no functional tests] [buster]'
<< : *GLOBAL_TASK_TEMPLATE
Expand Down Expand Up @@ -172,7 +233,7 @@ task:
FILE_ENV: "./ci/test/00_setup_env_native_fuzz.sh"

task:
name: '[multiprocess, DEBUG] [focal]'
name: '[multiprocess, i686, DEBUG] [focal]'
<< : *GLOBAL_TASK_TEMPLATE
container:
image: ubuntu:focal
Expand All @@ -181,7 +242,7 @@ task:
env:
<< : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
MAKEJOBS: "-j8"
FILE_ENV: "./ci/test/00_setup_env_native_multiprocess.sh"
FILE_ENV: "./ci/test/00_setup_env_i686_multiprocess.sh"

task:
name: '[no wallet] [bionic]'
Expand Down
2 changes: 1 addition & 1 deletion .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ trim_trailing_whitespace = true
[*.{h,cpp,py,sh}]
indent_size = 4

# .cirrus.yml, .appveyor.yml, .fuzzbuzz.yml, etc.
# .cirrus.yml, .fuzzbuzz.yml, etc.
[*.yml]
indent_size = 2

Expand Down
6 changes: 1 addition & 5 deletions INSTALL.md
Original file line number Diff line number Diff line change
@@ -1,5 +1 @@
Building Bitcoin
================

See doc/build-*.md for instructions on building the various
elements of the Bitcoin Core reference implementation of Bitcoin.
See [doc/build-\*.md](/doc)
2 changes: 1 addition & 1 deletion Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -286,7 +286,7 @@ EXTRA_DIST += \
test/fuzz

EXTRA_DIST += \
test/util/bitcoin-util-test.py \
test/util/test_runner.py \
test/util/data/bitcoin-util-test.json \
test/util/data/blanktxv1.hex \
test/util/data/blanktxv1.json \
Expand Down
4 changes: 1 addition & 3 deletions REVIEWERS
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,6 @@
/doc/dependencies.md @fanquake
/doc/developer-notes.md @laanwj
/doc/files.md @hebasto
/doc/gitian-building.md @laanwj
/doc/reduce-memory.md @fanquake
/doc/reduce-traffic.md @jonasschnelli
/doc/release-process.md @laanwj
Expand Down Expand Up @@ -77,8 +76,7 @@
/contrib/devtools/test-security-check.py @fanquake
/contrib/devtools/symbol-check.py @fanquake

# Gitian/Guix
/contrib/gitian-build.py @hebasto
# Guix
/contrib/guix/ @dongcarl

# Compatibility
Expand Down
13 changes: 1 addition & 12 deletions build_msvc/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ In order to build Bitcoin Core a static build of Qt is required. The runtime lib

Some prebuilt x64 versions of Qt can be downloaded from [here](https://github.com/sipsorcery/qt_win_binary/releases). Please be aware these downloads are NOT officially sanctioned by Bitcoin Core and are provided for developer convenience only. They should NOT be used for builds that will be used in a production environment or with real funds.

To determine which Qt prebuilt version to download open the `.appveyor.yml` file and note the `QT_DOWNLOAD_URL`. When extracting the zip file the destination path must be set to `C:\`. This is due to the way that Qt includes, libraries and tools use internal paths.
To determine which Qt prebuilt version to download open the `.cirrus.yml` file and note the `QT_DOWNLOAD_URL`. When extracting the zip file the destination path must be set to `C:\`. This is due to the way that Qt includes, libraries and tools use internal paths.

To build Bitcoin Core without Qt unload or disable the `bitcoin-qt`, `libbitcoin_qt` and `test_bitcoin-qt` projects.

Expand All @@ -65,17 +65,6 @@ msbuild /m bitcoin.sln /p:Platform=x64 /p:Configuration=Release /t:build

- Alternatively, open the `build_msvc/bitcoin.sln` file in Visual Studio 2019.

AppVeyor
---------------------
The .appveyor.yml in the root directory is suitable to perform builds on [AppVeyor](https://www.appveyor.com/) Continuous Integration servers. The simplest way to perform an AppVeyor build is to fork Bitcoin Core and then configure a new AppVeyor Project pointing to the forked repository.

For safety reasons the Bitcoin Core .appveyor.yml file has the artifact options disabled. The build will be performed but no executable files will be available. To enable artifacts on a forked repository uncomment the lines shown below:

```
#- 7z a bitcoin-%APPVEYOR_BUILD_VERSION%.zip %APPVEYOR_BUILD_FOLDER%\build_msvc\%platform%\%configuration%\*.exe
#- path: bitcoin-%APPVEYOR_BUILD_VERSION%.zip
```

Security
---------------------
[Base address randomization](https://docs.microsoft.com/en-us/cpp/build/reference/dynamicbase-use-address-space-layout-randomization?view=msvc-160) is used to make Bitcoin Core more secure. When building Bitcoin using the `build_msvc` process base address randomization can be disabled by editing `common.init.vcproj` to change `RandomizedBaseAddress` from `true` to `false` and then rebuilding the project.
Expand Down
Loading