Skip to content

Commit ec592ce

Browse files
committed
Add meta information, fix paragraph spacing.
1 parent cbee3ba commit ec592ce

File tree

1 file changed

+7
-15
lines changed

1 file changed

+7
-15
lines changed

coredev/continous-integration.md

Lines changed: 7 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
---
22
myst:
33
html_meta:
4-
"description": ""
5-
"property=og:description": ""
6-
"property=og:title": ""
7-
"keywords": ""
4+
"description": "Essential continuous integration practices"
5+
"property=og:description": "Essential continuous integration practices"
6+
"property=og:title": "Essential continuous integration practices"
7+
"keywords": "Plone, continuous integration, best practices"
88
---
99

1010
# Essential continuous integration practices
@@ -21,11 +21,8 @@ Though, there are some essential rules that needs to be followed in order to ach
2121
Do not make things more complicated for the developer who is responsible for breaking the build.
2222

2323
If the build breaks, the developer has to identify the cause of the breakage as soon as possible and should fix it.
24-
2524
If we adopt this strategy, we will always be in the best position to find out what caused the breakage and fix it immediately.
26-
2725
If one of the developers has made a check-in and broken the build as a result, we have the best chance of fixing the build if we have a clear look at the problem.
28-
2926
Checking in further changes and triggering new builds will just lead to more problems.
3027

3128
If the build is broken over a longer period of time (more than a couple of hours) you should either notify the developer who is responsible for the breakage, fix the problem yourself, or just revert the commit in order to be able to continue to work.
@@ -34,16 +31,15 @@ If the build is broken over a longer period of time (more than a couple of hours
3431
There is one exception to this rule.
3532
Sometimes there are changes or tests that depend on changes in other packages.
3633
If this is the case, there is no way around breaking a single build for a certain period of time.
37-
In this case run the all tests locally with all the changes and commit them within a time frame of 10 minutes.
34+
In this case run the all tests locally with all the changes and commit them within a time frame of ten minutes.
3835
```
3936

4037

4138
## 2) Always run all commit tests locally before committing
4239

43-
Following this practice ensures the build stays green and other developers can continue to work without breaking the first rule.
40+
Following this practice ensures the build stays green, and other developers can continue to work without breaking the first rule.
4441

4542
There might be changes that have been checked in before your last update from the version control that might lead to a build failure in Jenkins in combination with your changes.
46-
4743
Therefore it is essential that you check out ({command}`git pull`) and run the tests again before you push your changes to GitHub.
4844

4945
Furthermore, a common source of errors on check-in is to forget to add some files to the repository.
@@ -53,16 +49,14 @@ If you follow this rule and your local build passes, you can be sure that this i
5349

5450
## 3) Wait for commit tests to pass before moving on
5551

56-
Always monitor the build's progress and fix the problem right away if it fails.
57-
52+
Always monitor the build's progress, and fix the problem right away if it fails.
5853
You have a far better chance of fixing the build, if you just introduced a regression than later.
5954
Also another developer might have committed in the meantime (by breaking rule 1), making things more complicated for yours.
6055

6156

6257
## 4) Never go home on a broken build
6358

6459
Taking into account the first rule of CI ("Don't check in on a broken build"), breaking the build essentially stops all other developers from working on it.
65-
6660
Therefore going home on a broken build (or even on a build that has not finished yet) is **not** acceptable.
6761
It will prevent all the other developers to stop working on the build or fixing the errors that you introduced.
6862

@@ -82,7 +76,6 @@ This way you will allow other developers to continue to work.
8276
## 7) Don't comment out failing tests
8377

8478
Once you begin to enforce the previous rule, the result is often that developers start commenting out failing tests in order to get the build passing again as quick as possible.
85-
8679
While this impulse is understandable, it is **wrong**.
8780

8881
The tests have been passing for a while and then start to fail.
@@ -95,7 +88,6 @@ You should always either fix the code (if a regression has been found), modify t
9588

9689
If you commit a change and all the tests you wrote pass, but others break, the build is still broken.
9790
This also applies to tests that fail in `buildout.coredev` and don't belong directly to the package you worked on.
98-
9991
This means that you have introduced a regression bug into the application.
10092

10193
It is **your responsibility**—because you made the change—to fix all tests that are not passing as a result of your changes.

0 commit comments

Comments
 (0)