<p>Continuous integration is a paradigm used in software development. In the context of the Bitcoin Core software repository, it specifically refers to the automated testing setup: all changes and proposed changes to the source code are subjected to a set of automated tests, to make sure nothing breaks.</p>
<p>It has nothing to do with the operation of Bitcoin nodes, and users of the software generally do not interact with it at all. It's just part of the software repository so that changes to the tests can be made simultaneously with changes to the source code.</p>

CC BY-SA 4.0
2023-07-28T19:19:35.440Z
Who carries out these automated tests?
Eoin
CC BY-SA 4.0
2023-07-28T19:34:05.183Z
Bitcoin Core currently uses Cirrus CI as CI provider, see https://cirrus-ci.com/github/bitcoin/bitcoin.
Pieter Wuille
CC BY-SA 4.0
2023-07-28T18:57:22.370Z
2023-07-28T18:57:22.370Z
Pieter Wuille
<p>Continuous Integration (CI) is an automated development practice used by the Bitcoin Core team. It involves automatically integrating code changes from multiple developers into a shared repository, followed by automated builds and tests to check for bugs and issues. This ensures the stability and reliability of the Bitcoin software. The &quot;CI&quot; folder in the Bitcoin Core GitHub repository contains configuration files and scripts used for CI automation.</p>

CC BY-SA 4.0
2023-07-31T18:07:55.090Z
Who are these 'multiple developers'? How do you become one of these developers?
Eoin
CC BY-SA 4.0
2023-08-02T20:37:25.273Z
@EoinMcQuinn Literally anyone who chooses to contribute to the project.
Pieter Wuille
CC BY-SA 4.0
2023-08-05T19:27:14.533Z
I have noticed one or two pull requests on github carrying the 'CI failed' label. What does this mean and who would have been able to add this label to the pull request?
Eoin
CC BY-SA 4.0
2023-08-21T05:51:30.477Z
When a pull request on GitHub is labeled as "CI failed," it means that automated tests and checks for that code update didn't pass. This label helps highlight that there are issues with the code that need to be fixed before the changes can be merged. Contributors, maintainers, or automated systems can add this label. It's a signal that the code needs adjustments before it can be accepted.
Mani T
CC BY-SA 4.0
2023-07-29T05:36:18.493Z
2023-07-29T05:36:18.493Z
Mani T
<p>I notice the folder in the bitcoin core github repo for CI, and would like to know more about it.</p>
<p>I have read the entry in Wikipedia for Continuous Integration.</p>

<bitcoin-core-development><testing>
Does each bitcoin node do Continuous Integration? Is this merely the process of the node syncing with the network? What is involved with it?
Eoin
# Does each bitcoin node do Continuous Integration? Is this merely the process of the node syncing with the network? What is involved with it?

(Asked by: username_0 on 2023-07-28)

I notice the folder in the bitcoin core github repo for CI, and would like to know more about it.

I have read the entry in Wikipedia for Continuous Integration.

**Tags:** bitcoin-core-development, testing


---

## 2 answers

### Answer by username_1 on 2023-07-28. Score: 7

Continuous integration is a paradigm used in software development. In the context of the Bitcoin Core software repository, it specifically refers to the automated testing setup: all changes and proposed changes to the source code are subjected to a set of automated tests, to make sure nothing breaks.

It has nothing to do with the operation of Bitcoin nodes, and users of the software generally do not interact with it at all. It's just part of the software repository so that changes to the tests can be made simultaneously with changes to the source code.

> **Comments:**
> **username_0**: Who carries out these automated tests?  
> **username_1**: Bitcoin Core currently uses Cirrus CI as CI provider, see https://cirrus-ci.com/github/bitcoin/bitcoin.  

---

### Answer by username_2 on 2023-07-29. Score: 1

Continuous Integration (CI) is an automated development practice used by the Bitcoin Core team. It involves automatically integrating code changes from multiple developers into a shared repository, followed by automated builds and tests to check for bugs and issues. This ensures the stability and reliability of the Bitcoin software. The "CI" folder in the Bitcoin Core GitHub repository contains configuration files and scripts used for CI automation.

> **Comments:**
> **username_0**: Who are these 'multiple developers'? How do you become one of these developers?  
> **username_1**: @EoinMcQuinn Literally anyone who chooses to contribute to the project.  
> **username_0**: I have noticed one or two pull requests on github carrying the 'CI failed' label. What does this mean and who would have been able to add this label to the pull request?  
> **username_2**: When a pull request on GitHub is labeled as "CI failed," it means that automated tests and checks for that code update didn't pass. This label helps highlight that there are issues with the code that need to be fixed before the changes can be merged. Contributors, maintainers, or automated systems can add this label. It's a signal that the code needs adjustments before it can be accepted.  

---

