-
Notifications
You must be signed in to change notification settings - Fork 5
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit a97e96e
Showing
2,397 changed files
with
667,719 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,63 @@ | ||
version: '{branch}.{build}' | ||
skip_tags: true | ||
image: Visual Studio 2019 | ||
configuration: Release | ||
platform: x64 | ||
clone_depth: 5 | ||
environment: | ||
PATH: 'C:\Python37-x64;C:\Python37-x64\Scripts;%PATH%' | ||
PYTHONUTF8: 1 | ||
QT_DOWNLOAD_URL: 'https://github.com/sipsorcery/qt_win_binary/releases/download/qt598x64_vs2019_v1681/qt598_x64_vs2019_1681.zip' | ||
QT_DOWNLOAD_HASH: '00cf7327818c07d74e0b1a4464ffe987c2728b00d49d4bf333065892af0515c3' | ||
QT_LOCAL_PATH: 'C:\Qt5.9.8_x64_static_vs2019' | ||
VCPKG_TAG: '75522bb1f2e7d863078bcd06322348f053a9e33f' | ||
install: | ||
# Disable zmq test for now since python zmq library on Windows would cause Access violation sometimes. | ||
# - cmd: pip install zmq | ||
# The powershell block below is to set up vcpkg to install the c++ dependencies. The pseudo code is: | ||
# a. Checkout the vcpkg source (including port files) for the specific checkout and build the vcpkg binary, | ||
# b. Append a setting to the vcpkg cmake config file to only do release builds of dependencies (skipping deubg builds saves ~5 mins). | ||
# Note originally this block also installed the dependencies using 'vcpkg install'. Dependencies are now installed | ||
# as part of the msbuild command using vcpkg mainfests. | ||
- ps: | | ||
cd c:\tools\vcpkg | ||
$env:GIT_REDIRECT_STDERR = '2>&1' # git is writing non-errors to STDERR when doing git pull. Send to STDOUT instead. | ||
git -c advice.detachedHead=false checkout $env:VCPKG_TAG | ||
.\bootstrap-vcpkg.bat > $null | ||
Add-Content "C:\tools\vcpkg\triplets\$env:PLATFORM-windows-static.cmake" "set(VCPKG_BUILD_TYPE release)" | ||
cd "$env:APPVEYOR_BUILD_FOLDER" | ||
before_build: | ||
# Powershell block below is to download and extract the Qt static libraries. The pseudo code is: | ||
# a. Download the zip file with the prebuilt Qt static libraries. | ||
# b. Check that the downloaded file matches the expected hash. | ||
# c. Extract the zip file to the specific destination path expected by the msbuild projects. | ||
- ps: | | ||
Write-Host "Downloading Qt binaries."; | ||
Invoke-WebRequest -Uri $env:QT_DOWNLOAD_URL -Out qtdownload.zip; | ||
Write-Host "Qt binaries successfully downloaded, checking hash against $env:QT_DOWNLOAD_HASH..."; | ||
if((Get-FileHash qtdownload.zip).Hash -eq $env:QT_DOWNLOAD_HASH) { | ||
Expand-Archive qtdownload.zip -DestinationPath $env:QT_LOCAL_PATH; | ||
Write-Host "Qt binary download matched the expected hash."; | ||
} | ||
else { | ||
Write-Host "ERROR: Qt binary download did not match the expected hash."; | ||
Exit-AppveyorBuild; | ||
} | ||
- cmd: python build_msvc\msvc-autogen.py | ||
build_script: | ||
- cmd: msbuild /p:TrackFileAccess=false build_msvc\bitcoin.sln /m /v:q /nologo | ||
after_build: | ||
#- 7z a bitcoin-%APPVEYOR_BUILD_VERSION%.zip %APPVEYOR_BUILD_FOLDER%\build_msvc\%platform%\%configuration%\*.exe | ||
test_script: | ||
- cmd: src\test_bitcoin.exe -l test_suite | ||
- cmd: src\bench_bitcoin.exe > NUL | ||
- ps: python test\util\bitcoin-util-test.py | ||
- cmd: python test\util\rpcauth-test.py | ||
# Fee estimation test failing on appveyor with: WinError 10048] Only one usage of each socket address (protocol/network address/port) is normally permitted. | ||
# functional tests disabled for now. See | ||
# https://github.com/bitcoin/bitcoin/pull/18626#issuecomment-613396202 | ||
# https://github.com/bitcoin/bitcoin/issues/18623 | ||
# - cmd: python test\functional\test_runner.py --ci --quiet --combinedlogslen=4000 --failfast --exclude feature_fee_estimation | ||
artifacts: | ||
#- path: bitcoin-%APPVEYOR_BUILD_VERSION%.zip | ||
deploy: off |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,144 @@ | ||
### Global defaults | ||
|
||
timeout_in: 120m # https://cirrus-ci.org/faq/#instance-timed-out | ||
container: | ||
# https://cirrus-ci.org/faq/#are-there-any-limits | ||
# Each project has 16 CPU in total, assign 2 to each container, so that 8 tasks run in parallel | ||
cpu: 2 | ||
memory: 8G # Set to 8GB to avoid OOM. https://cirrus-ci.org/guide/linux/#linux-containers | ||
kvm: true # Use kvm to avoid spurious CI failures in the default virtualization cluster, see https://github.com/bitcoin/bitcoin/issues/20093 | ||
env: | ||
PACKAGE_MANAGER_INSTALL: "apt-get update && apt-get install -y" | ||
MAKEJOBS: "-j4" | ||
DANGER_RUN_CI_ON_HOST: "1" # Containers will be discarded after the run, so there is no risk that the ci scripts modify the system | ||
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 | ||
CCACHE_SIZE: "200M" | ||
CCACHE_DIR: "/tmp/ccache_dir" | ||
|
||
### Global task template | ||
|
||
# https://cirrus-ci.org/guide/tips-and-tricks/#sharing-configuration-between-tasks | ||
global_task_template: &GLOBAL_TASK_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 | ||
ccache_cache: | ||
folder: "/tmp/ccache_dir" | ||
depends_built_cache: | ||
folder: "/tmp/cirrus-ci-build/depends/built" | ||
depends_sdk_cache: | ||
folder: "/tmp/cirrus-ci-build/depends/sdk-sources" | ||
depends_releases_cache: | ||
folder: "/tmp/cirrus-ci-build/releases" | ||
merge_base_script: | ||
- if [ "$CIRRUS_PR" = "" ]; then exit 0; fi | ||
- bash -c "$PACKAGE_MANAGER_INSTALL git" | ||
- git fetch $CIRRUS_REPO_CLONE_URL $CIRRUS_BASE_BRANCH | ||
- git config --global user.email "[email protected]" | ||
- git config --global user.name "ci" | ||
- git merge FETCH_HEAD # Merge base to detect silent merge conflicts | ||
ci_script: | ||
- ./ci/test_run_all.sh | ||
|
||
#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: 'ARM [GOAL: install] [buster] [unit tests, no functional tests]' | ||
<< : *GLOBAL_TASK_TEMPLATE | ||
container: | ||
image: debian:buster | ||
env: | ||
FILE_ENV: "./ci/test/00_setup_env_arm.sh" | ||
|
||
task: | ||
name: 'Win64 [GOAL: deploy] [unit tests, no gui, no boost::process, no functional tests]' | ||
<< : *GLOBAL_TASK_TEMPLATE | ||
container: | ||
image: ubuntu:bionic | ||
env: | ||
FILE_ENV: "./ci/test/00_setup_env_win64.sh" | ||
|
||
task: | ||
name: 'x86_64 Linux [GOAL: install] [bionic] [C++17, previous releases, uses qt5 dev package and some depends packages] [unsigned char]' | ||
<< : *GLOBAL_TASK_TEMPLATE | ||
container: | ||
image: ubuntu:bionic | ||
env: | ||
FILE_ENV: "./ci/test/00_setup_env_native_qt5.sh" | ||
|
||
task: | ||
name: 'x86_64 Linux [GOAL: install] [focal] [depends, sanitizers: thread (TSan), no gui]' | ||
<< : *GLOBAL_TASK_TEMPLATE | ||
container: | ||
image: ubuntu:focal | ||
cpu: 4 # Double CPU and Memory to avoid timeout | ||
memory: 16G | ||
env: | ||
MAKEJOBS: "-j8" | ||
FILE_ENV: "./ci/test/00_setup_env_native_tsan.sh" | ||
|
||
task: | ||
name: 'x86_64 Linux [GOAL: install] [focal] [depends, sanitizers: memory (MSan)]' | ||
<< : *GLOBAL_TASK_TEMPLATE | ||
container: | ||
image: ubuntu:focal | ||
env: | ||
FILE_ENV: "./ci/test/00_setup_env_native_msan.sh" | ||
|
||
task: | ||
name: 'x86_64 Linux [GOAL: install] [focal] [no depends, only system libs, sanitizers: address/leak (ASan + LSan) + undefined (UBSan) + integer]' | ||
<< : *GLOBAL_TASK_TEMPLATE | ||
container: | ||
image: ubuntu:focal | ||
env: | ||
FILE_ENV: "./ci/test/00_setup_env_native_asan.sh" | ||
|
||
task: | ||
name: 'x86_64 Linux [GOAL: install] [focal] [no depends, only system libs, sanitizers: fuzzer,address,undefined]' | ||
<< : *GLOBAL_TASK_TEMPLATE | ||
container: | ||
image: ubuntu:focal | ||
env: | ||
FILE_ENV: "./ci/test/00_setup_env_native_fuzz.sh" | ||
|
||
task: | ||
name: 'x86_64 Linux [GOAL: install] [focal] [multiprocess]' | ||
<< : *GLOBAL_TASK_TEMPLATE | ||
container: | ||
image: ubuntu:focal | ||
env: | ||
FILE_ENV: "./ci/test/00_setup_env_native_multiprocess.sh" | ||
|
||
task: | ||
name: 'macOS 10.14 [GOAL: deploy] [no functional tests]' | ||
<< : *GLOBAL_TASK_TEMPLATE | ||
container: | ||
image: ubuntu:bionic | ||
env: | ||
FILE_ENV: "./ci/test/00_setup_env_mac.sh" | ||
|
||
task: | ||
name: 'macOS 10.14 native [GOAL: install] [GUI] [no depends]' | ||
macos_brew_addon_script: | ||
- brew install boost libevent berkeley-db4 qt miniupnpc ccache openssl zeromq qrencode sqlite libtool automake pkg-config gnu-getopt | ||
<< : *GLOBAL_TASK_TEMPLATE | ||
osx_instance: | ||
# Use latest image, but hardcode version to avoid silent upgrades (and breaks) | ||
image: catalina-xcode-12.1 # https://cirrus-ci.org/guide/macOS | ||
env: | ||
DANGER_RUN_CI_ON_HOST: "true" | ||
CI_USE_APT_INSTALL: "no" | ||
PACKAGE_MANAGER_INSTALL: "echo" # Nothing to do | ||
FILE_ENV: "./ci/test/00_setup_env_mac_host.sh" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
base: ubuntu:16.04 | ||
language: c++ | ||
engine: libFuzzer | ||
environment: | ||
- CXXFLAGS=-fcoverage-mapping -fno-omit-frame-pointer -fprofile-instr-generate -gline-tables-only -O1 | ||
setup: | ||
- sudo apt-get update | ||
- sudo apt-get install -y autoconf bsdmainutils clang git libboost-all-dev libboost-program-options-dev libc++1 libc++abi1 libc++abi-dev libc++-dev libclang1 libclang-dev libdb5.3++ libevent-dev libllvm-ocaml-dev libomp5 libomp-dev libprotobuf-dev libqt5core5a libqt5dbus5 libqt5gui5 libssl-dev libtool llvm llvm-dev llvm-runtime pkg-config protobuf-compiler qttools5-dev qttools5-dev-tools software-properties-common | ||
- ./autogen.sh | ||
- CC=clang CXX=clang++ ./configure --enable-fuzz --with-sanitizers=address,fuzzer,undefined | ||
- make | ||
- git clone https://github.com/bitcoin-core/qa-assets | ||
auto_targets: | ||
find_targets_command: find src/test/fuzz/ -executable -type f ! -name "*.cpp" ! -name "*.h" | ||
base_corpus_dir: qa-assets/fuzz_seed_corpus/ | ||
memory_limit: none |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
src/clientversion.cpp export-subst |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
<!-- This issue tracker is only for technical issues related to Litecoin Core. | ||
General litecoin questions and/or support requests and are best directed to the [litecointalk.io forums](https://litecointalk.io/). | ||
For reporting security issues, please contact the Litecoin developers on the #litecoin-dev Freenode IRC channel or alternatively you can email us at [email protected]. | ||
If the node is "stuck" during sync or giving "block checksum mismatch" errors, please ensure your hardware is stable by running memtest and observe CPU temperature with a load-test tool such as linpack before creating an issue! | ||
Any report, issue or feature request related to the GUI should be reported at | ||
https://github.com/bitcoin-core/gui/issues/ | ||
--> | ||
|
||
<!-- Describe the issue --> | ||
<!--- What behavior did you expect? --> | ||
|
||
<!--- What was the actual behavior (provide screenshots if the issue is GUI-related)? --> | ||
|
||
<!--- How reliably can you reproduce the issue, what are the steps to do so? --> | ||
|
||
<!-- What version of Litecoin Core are you using, where did you get it (website, self-compiled, etc)? --> | ||
|
||
<!-- What type of machine are you observing the error on (OS/CPU and disk type)? --> | ||
|
||
<!-- GUI-related issue? What is your operating system and its version? If Linux, what is your desktop environment and graphical shell? --> | ||
|
||
<!-- Any extra information that might be useful in the debugging process. --> | ||
<!--- This is normally the contents of a `debug.log` or `config.log` file. Raw text or a link to a pastebin type site are preferred. --> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
--- | ||
name: Bug report | ||
about: Create a report to help us improve (use this for suspected bugs only, if not sure, open a regular issue below) | ||
title: '' | ||
labels: Bug | ||
assignees: '' | ||
|
||
--- | ||
|
||
<!-- This issue tracker is only for technical issues related to Bitcoin Core. | ||
General bitcoin questions and/or support requests are best directed to the Bitcoin StackExchange at https://bitcoin.stackexchange.com. | ||
For reporting security issues, please read instructions at https://bitcoincore.org/en/contact/. | ||
If the node is "stuck" during sync or giving "block checksum mismatch" errors, please ensure your hardware is stable by running memtest and observe CPU temperature with a load-test tool such as linpack before creating an issue! --> | ||
|
||
<!-- Describe the issue --> | ||
|
||
**Expected behavior** | ||
|
||
<!--- What behavior did you expect? --> | ||
|
||
**Actual behavior** | ||
|
||
<!--- What was the actual behavior (provide screenshots if the issue is GUI-related)? --> | ||
|
||
**To reproduce** | ||
|
||
<!--- How reliably can you reproduce the issue, what are the steps to do so? --> | ||
|
||
**System information** | ||
|
||
<!-- What version of Bitcoin Core are you using, where did you get it (website, self-compiled, etc)? --> | ||
|
||
<!-- What type of machine are you observing the error on (OS/CPU and disk type)? --> | ||
|
||
<!-- GUI-related issue? What is your operating system and its version? If Linux, what is your desktop environment and graphical shell? --> | ||
|
||
<!-- Any extra information that might be useful in the debugging process. --> | ||
<!--- This is normally the contents of a `debug.log` or `config.log` file. Raw text or a link to a pastebin type site are preferred. --> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
--- | ||
name: Feature request | ||
about: Suggest an idea for this project | ||
title: '' | ||
labels: Feature | ||
assignees: '' | ||
|
||
--- | ||
|
||
**Is your feature request related to a problem? Please describe.** | ||
<!-- A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] --> | ||
|
||
**Describe the solution you'd like** | ||
<!-- A clear and concise description of what you want to happen. --> | ||
|
||
**Describe alternatives you've considered** | ||
<!-- A clear and concise description of any alternative solutions or features you've considered. --> | ||
|
||
**Additional context** | ||
<!-- Add any other context or screenshots about the feature request here. --> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
--- | ||
name: Good first issue | ||
about: '(Regular devs only): Suggest a new good first issue' | ||
title: '' | ||
labels: '' | ||
assignees: '' | ||
|
||
--- | ||
|
||
<!-- Needs the label "good first issue" assigned manually before or after opening --> | ||
|
||
<!-- A good first issue is an uncontroversial issue, that has a relatively unique and obvious solution --> | ||
|
||
<!-- Motivate the issue and explain the solution briefly --> | ||
|
||
#### Useful skills: | ||
|
||
<!-- (For example, “C++11 std::thread”, “Qt5 GUI and async GUI design” or “basic understanding of Bitcoin mining and the Bitcoin Core RPC interface”.) --> | ||
|
||
#### Want to work on this issue? | ||
|
||
For guidance on contributing, please read [CONTRIBUTING.md](https://github.com/bitcoin/bitcoin/blob/master/CONTRIBUTING.md) before opening your pull request. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
--- | ||
name: An issue or feature request related to the GUI | ||
about: Any report, issue or feature request related to the GUI should be reported at https://github.com/bitcoin-core/gui/issues/ | ||
title: Any report, issue or feature request related to the GUI should be reported at https://github.com/bitcoin-core/gui/issues/ | ||
labels: GUI | ||
assignees: '' | ||
|
||
--- | ||
|
||
Any report, issue or feature request related to the GUI should be reported at | ||
https://github.com/bitcoin-core/gui/issues/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
<!-- | ||
*** Please remove the following help text before submitting: *** | ||
Pull requests without a rationale and clear improvement may be closed | ||
immediately. | ||
GUI-related pull requests should be opened against | ||
https://github.com/bitcoin-core/gui | ||
first. See CONTRIBUTING.md | ||
--> | ||
|
||
<!-- | ||
Please provide clear motivation for your patch and explain how it improves | ||
Bitcoin Core user experience or Bitcoin Core developer experience | ||
significantly: | ||
* Any test improvements or new tests that improve coverage are always welcome. | ||
* All other changes should have accompanying unit tests (see `src/test/`) or | ||
functional tests (see `test/`). Contributors should note which tests cover | ||
modified code. If no tests exist for a region of modified code, new tests | ||
should accompany the change. | ||
* Bug fixes are most welcome when they come with steps to reproduce or an | ||
explanation of the potential issue as well as reasoning for the way the bug | ||
was fixed. | ||
* Features are welcome, but might be rejected due to design or scope issues. | ||
If a feature is based on a lot of dependencies, contributors should first | ||
consider building the system outside of Bitcoin Core, if possible. | ||
* Refactoring changes are only accepted if they are required for a feature or | ||
bug fix or otherwise improve developer experience significantly. For example, | ||
most "code style" refactoring changes require a thorough explanation why they | ||
are useful, what downsides they have and why they *significantly* improve | ||
developer experience or avoid serious programming bugs. Note that code style | ||
is often a subjective matter. Unless they are explicitly mentioned to be | ||
preferred in the [developer notes](/doc/developer-notes.md), stylistic code | ||
changes are usually rejected. | ||
--> | ||
|
||
<!-- | ||
Bitcoin Core has a thorough review process and even the most trivial change | ||
needs to pass a lot of eyes and requires non-zero or even substantial time | ||
effort to review. There is a huge lack of active reviewers on the project, so | ||
patches often sit for a long time. | ||
--> |
Oops, something went wrong.