Skip to content

Commit 74222af

Browse files
committed
Squashed 'bitcoinkernel/bitcoin/' content from commit 81cec737e6
git-subtree-dir: bitcoinkernel/bitcoin git-subtree-split: 81cec737e68b91f5edf90179b81aa620a5a68677
0 parents  commit 74222af

File tree

2,847 files changed

+881575
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

2,847 files changed

+881575
-0
lines changed

.editorconfig

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# This is the top-most EditorConfig file.
2+
root = true
3+
4+
# For all files.
5+
[*]
6+
charset = utf-8
7+
end_of_line = lf
8+
indent_style = space
9+
insert_final_newline = true
10+
trim_trailing_whitespace = true
11+
12+
# Source code files
13+
[*.{h,cpp,rs,py,sh}]
14+
indent_size = 4
15+
16+
# .cirrus.yml, etc.
17+
[*.yml]
18+
indent_size = 2
19+
20+
# Makefiles (only relevant for depends build)
21+
[Makefile]
22+
indent_style = tab
23+
24+
# CMake files
25+
[{CMakeLists.txt,*.cmake,*.cmake.in}]
26+
indent_size = 2

.gitattributes

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
src/clientversion.cpp export-subst

.github/ISSUE_TEMPLATE/bug.yml

Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
name: Bug report
2+
description: Submit a new bug report.
3+
labels: [bug]
4+
body:
5+
- type: markdown
6+
attributes:
7+
value: |
8+
## This issue tracker is only for technical issues related to Bitcoin Core.
9+
10+
* General bitcoin questions and/or support requests should use Bitcoin StackExchange at https://bitcoin.stackexchange.com.
11+
* For reporting security issues, please read instructions at https://bitcoincore.org/en/contact/.
12+
* 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.
13+
14+
----
15+
- type: checkboxes
16+
attributes:
17+
label: Is there an existing issue for this?
18+
description: Please search to see if an issue already exists for the bug you encountered.
19+
options:
20+
- label: I have searched the existing issues
21+
required: true
22+
- type: textarea
23+
id: current-behaviour
24+
attributes:
25+
label: Current behaviour
26+
description: Tell us what went wrong
27+
validations:
28+
required: true
29+
- type: textarea
30+
id: expected-behaviour
31+
attributes:
32+
label: Expected behaviour
33+
description: Tell us what you expected to happen
34+
validations:
35+
required: true
36+
- type: textarea
37+
id: reproduction-steps
38+
attributes:
39+
label: Steps to reproduce
40+
description: |
41+
Tell us how to reproduce your bug. Please attach related screenshots if necessary.
42+
* Run-time or compile-time configuration options
43+
* Actions taken
44+
validations:
45+
required: true
46+
- type: textarea
47+
id: logs
48+
attributes:
49+
label: Relevant log output
50+
description: |
51+
Please copy and paste any relevant log output or attach a debug log file.
52+
53+
You can find the debug.log in your [data dir.](https://github.com/bitcoin/bitcoin/blob/master/doc/files.md#data-directory-location)
54+
55+
Please be aware that the debug log might contain personally identifying information.
56+
validations:
57+
required: false
58+
- type: dropdown
59+
attributes:
60+
label: How did you obtain Bitcoin Core
61+
multiple: false
62+
options:
63+
- Compiled from source
64+
- Pre-built binaries
65+
- Package manager
66+
- Other
67+
validations:
68+
required: true
69+
- type: input
70+
id: core-version
71+
attributes:
72+
label: What version of Bitcoin Core are you using?
73+
description: Run `bitcoind --version` or in Bitcoin-QT use `Help > About Bitcoin Core`
74+
placeholder: e.g. v24.0.1 or master@e1bf547
75+
validations:
76+
required: true
77+
- type: input
78+
id: os
79+
attributes:
80+
label: Operating system and version
81+
placeholder: e.g. "MacOS Ventura 13.2" or "Ubuntu 22.04 LTS"
82+
validations:
83+
required: true
84+
- type: textarea
85+
id: machine-specs
86+
attributes:
87+
label: Machine specifications
88+
description: |
89+
What are the specifications of the host machine?
90+
e.g. OS/CPU and disk type, network connectivity
91+
validations:
92+
required: false
93+

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
blank_issues_enabled: true
2+
contact_links:
3+
- name: Bitcoin Core Security Policy
4+
url: https://github.com/bitcoin/bitcoin/blob/master/SECURITY.md
5+
about: View security policy
6+
- name: Bitcoin Core Developers
7+
url: https://bitcoincore.org
8+
about: Bitcoin Core homepage
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
name: Feature Request
2+
description: Suggest an idea for this project.
3+
labels: [Feature]
4+
body:
5+
- type: textarea
6+
id: feature
7+
attributes:
8+
label: Please describe the feature you'd like to see added.
9+
description: Attach screenshots or logs if applicable.
10+
validations:
11+
required: true
12+
- type: textarea
13+
id: related-problem
14+
attributes:
15+
label: Is your feature related to a problem, if so please describe it.
16+
description: Attach screenshots or logs if applicable.
17+
validations:
18+
required: false
19+
- type: textarea
20+
id: solution
21+
attributes:
22+
label: Describe the solution you'd like
23+
validations:
24+
required: false
25+
- type: textarea
26+
id: alternatives
27+
attributes:
28+
label: Describe any alternatives you've considered
29+
validations:
30+
required: false
31+
- type: textarea
32+
id: additional-context
33+
attributes:
34+
label: Please leave any additional context
35+
validations:
36+
required: false
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
name: Good First Issue
2+
description: (Regular devs only) Suggest a new good first issue
3+
labels: [good first issue]
4+
body:
5+
- type: markdown
6+
attributes:
7+
value: |
8+
Please add the label "good first issue" manually before or after opening
9+
10+
A good first issue is an uncontroversial issue, that has a relatively unique and obvious solution
11+
12+
Motivate the issue and explain the solution briefly
13+
- type: textarea
14+
id: motivation
15+
attributes:
16+
label: Motivation
17+
description: Motivate the issue
18+
validations:
19+
required: true
20+
- type: textarea
21+
id: solution
22+
attributes:
23+
label: Possible solution
24+
description: Describe a possible solution
25+
validations:
26+
required: false
27+
- type: textarea
28+
id: useful-skills
29+
attributes:
30+
label: Useful Skills
31+
description: For example, “`std::thread`”, “Qt6 GUI and async GUI design” or “basic understanding of Bitcoin mining and the Bitcoin Core RPC interface”.
32+
value: |
33+
* Compiling Bitcoin Core from source
34+
* Running the C++ unit tests and the Python functional tests
35+
* ...
36+
- type: textarea
37+
attributes:
38+
label: Guidance for new contributors
39+
description: Please leave this to automatically add the footer for new contributors
40+
value: |
41+
Want to work on this issue?
42+
43+
For guidance on contributing, please read [CONTRIBUTING.md](https://github.com/bitcoin/bitcoin/blob/master/CONTRIBUTING.md) before opening your pull request.
44+
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
name: Issue or feature request related to the GUI
2+
description: Any report, issue or feature request related to the GUI
3+
labels: [GUI]
4+
body:
5+
- type: checkboxes
6+
id: acknowledgement
7+
attributes:
8+
label: Issues, reports or feature requests related to the GUI should be opened directly on the GUI repo
9+
description: https://github.com/bitcoin-core/gui/issues/
10+
options:
11+
- label: I still think this issue should be opened here
12+
required: true
13+
- type: textarea
14+
id: gui-request
15+
attributes:
16+
label: Report
17+
validations:
18+
required: true

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
<!--
2+
*** Please remove the following help text before submitting: ***
3+
4+
Pull requests without a rationale and clear improvement may be closed
5+
immediately.
6+
7+
GUI-related pull requests should be opened against
8+
https://github.com/bitcoin-core/gui
9+
first. See CONTRIBUTING.md
10+
-->
11+
12+
<!--
13+
Please provide clear motivation for your patch and explain how it improves
14+
Bitcoin Core user experience or Bitcoin Core developer experience
15+
significantly:
16+
17+
* Any test improvements or new tests that improve coverage are always welcome.
18+
* All other changes should have accompanying unit tests (see `src/test/`) or
19+
functional tests (see `test/`). Contributors should note which tests cover
20+
modified code. If no tests exist for a region of modified code, new tests
21+
should accompany the change.
22+
* Bug fixes are most welcome when they come with steps to reproduce or an
23+
explanation of the potential issue as well as reasoning for the way the bug
24+
was fixed.
25+
* Features are welcome, but might be rejected due to design or scope issues.
26+
If a feature is based on a lot of dependencies, contributors should first
27+
consider building the system outside of Bitcoin Core, if possible.
28+
* Refactoring changes are only accepted if they are required for a feature or
29+
bug fix or otherwise improve developer experience significantly. For example,
30+
most "code style" refactoring changes require a thorough explanation why they
31+
are useful, what downsides they have and why they *significantly* improve
32+
developer experience or avoid serious programming bugs. Note that code style
33+
is often a subjective matter. Unless they are explicitly mentioned to be
34+
preferred in the [developer notes](/doc/developer-notes.md), stylistic code
35+
changes are usually rejected.
36+
-->
37+
38+
<!--
39+
Bitcoin Core has a thorough review process and even the most trivial change
40+
needs to pass a lot of eyes and requires non-zero or even substantial time
41+
effort to review. There is a huge lack of active reviewers on the project, so
42+
patches often sit for a long time.
43+
-->
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
name: 'Configure Docker'
2+
description: 'Set up Docker build driver and configure build cache args'
3+
inputs:
4+
cache-provider:
5+
description: 'gha or cirrus cache provider'
6+
required: true
7+
options:
8+
- gh
9+
- cirrus
10+
runs:
11+
using: 'composite'
12+
steps:
13+
- name: Set up Docker Buildx
14+
uses: docker/setup-buildx-action@v3
15+
with:
16+
# Use host network to allow access to cirrus gha cache running on the host
17+
driver-opts: |
18+
network=host
19+
20+
# This is required to allow buildkit to access the actions cache
21+
- name: Expose actions cache variables
22+
uses: actions/github-script@v6
23+
with:
24+
script: |
25+
core.exportVariable('ACTIONS_CACHE_URL', process.env['ACTIONS_CACHE_URL'])
26+
core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env['ACTIONS_RUNTIME_TOKEN'])
27+
28+
- name: Construct docker build cache args
29+
shell: bash
30+
run: |
31+
# Configure docker build cache backend
32+
#
33+
# On forks the gha cache will work but will use Github's cache backend.
34+
# Docker will check for variables $ACTIONS_CACHE_URL, $ACTIONS_RESULTS_URL and $ACTIONS_RUNTIME_TOKEN
35+
# which are set automatically when running on GitHub infra: https://docs.docker.com/build/cache/backends/gha/#synopsis
36+
37+
# Use cirrus cache host
38+
if [[ ${{ inputs.cache-provider }} == 'cirrus' ]]; then
39+
url_args="url=${CIRRUS_CACHE_HOST},url_v2=${CIRRUS_CACHE_HOST}"
40+
else
41+
url_args=""
42+
fi
43+
44+
# Always optimistically --cache‑from in case a cache blob exists
45+
args=(--cache-from "type=gha${url_args:+,${url_args}},scope=${CONTAINER_NAME}")
46+
47+
# If this is a push to the default branch, also add --cache‑to to save the cache
48+
if [[ ${{ github.event_name }} == "push" && ${{ github.ref_name }} == ${{ github.event.repository.default_branch }} ]]; then
49+
args+=(--cache-to "type=gha${url_args:+,${url_args}},mode=max,ignore-error=true,scope=${CONTAINER_NAME}")
50+
fi
51+
52+
# Always `--load` into docker images (needed when using the `docker-container` build driver).
53+
args+=(--load)
54+
55+
echo "DOCKER_BUILD_CACHE_ARG=${args[*]}" >> $GITHUB_ENV
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
name: 'Configure environment'
2+
description: 'Configure CI, cache and container name environment variables'
3+
runs:
4+
using: 'composite'
5+
steps:
6+
- name: Set CI and cache directories
7+
shell: bash
8+
run: |
9+
echo "BASE_ROOT_DIR=${{ runner.temp }}" >> "$GITHUB_ENV"
10+
echo "BASE_BUILD_DIR=${{ runner.temp }}/build" >> "$GITHUB_ENV"
11+
echo "CCACHE_DIR=${{ runner.temp }}/ccache_dir" >> $GITHUB_ENV
12+
echo "DEPENDS_DIR=${{ runner.temp }}/depends" >> "$GITHUB_ENV"
13+
echo "BASE_CACHE=${{ runner.temp }}/depends/built" >> $GITHUB_ENV
14+
echo "SOURCES_PATH=${{ runner.temp }}/depends/sources" >> $GITHUB_ENV
15+
echo "PREVIOUS_RELEASES_DIR=${{ runner.temp }}/previous_releases" >> $GITHUB_ENV
16+
17+
- name: Set cache hashes
18+
shell: bash
19+
run: |
20+
echo "DEPENDS_HASH=$(git ls-tree HEAD depends "ci/test/$FILE_ENV" | sha256sum | cut -d' ' -f1)" >> $GITHUB_ENV
21+
echo "PREVIOUS_RELEASES_HASH=$(git ls-tree HEAD test/get_previous_releases.py | sha256sum | cut -d' ' -f1)" >> $GITHUB_ENV
22+
23+
- name: Get container name
24+
shell: bash
25+
run: |
26+
source $FILE_ENV
27+
echo "CONTAINER_NAME=$CONTAINER_NAME" >> "$GITHUB_ENV"

0 commit comments

Comments
 (0)