aboutsummaryrefslogtreecommitdiff
path: root/CONTRIBUTING.md
diff options
context:
space:
mode:
Diffstat (limited to 'CONTRIBUTING.md')
-rw-r--r--CONTRIBUTING.md43
1 files changed, 43 insertions, 0 deletions
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 3778d6d7d..87efdeb8f 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -8,6 +8,7 @@ that we follow.
* [Reporting Issues](#reporting-issues)
* [Contributing to libpod](#contributing-to-libpod)
+* [Continuous Integration](#continuous-integration) [![Build Status](https://api.cirrus-ci.com/github/containers/libpod.svg)](https://cirrus-ci.com/github/containers/libpod/master)
* [Submitting Pull Requests](#submitting-pull-requests)
* [Communications](#communications)
@@ -296,6 +297,48 @@ be provided with PRs.
For details on how to run the tests for Podman in your test environment, see the
Integration Tests [README.md](test/README.md).
+## Continuous Integration
+
+All pull requests and branch-merges automatically run:
+
+* Go format/lint checking
+* Unit testing
+* Integration Testing
+* Special testing (like running inside a container, or as a regular user)
+
+For a more in-depth reference of the CI system, please [refer to it's dedicated
+documentation.](contrib/cirrus/README.md)
+
+There is always additional complexity added by automation, and so it sometimes
+can fail for any number of reasons. This includes post-merge testing on all
+branches, which you may occasionally see [red bars on the status graph
+.](https://cirrus-ci.com/github/containers/libpod/master)
+
+When the graph shows mostly green bars on the right, it's a good indication
+the master branch is currently stable. Alternating red/green bars is indicitave
+of a testing "flake", and should be examined (anybody can do this):
+
+* *One or a small handful of tests, on a single task, (i.e. specific distro/version)
+ where all others ran successfully:* Frequently the cause is networking or a brief
+ external service outage. The failed tasks may simply be re-run by pressing the
+ corresponding button on the task details page.
+
+* *Multiple tasks failing*: Logically this should be due to some shared/common element.
+ If that element is identifiable as a networking or external service (e.g. packaging
+ repository outage), a re-run should be attempted.
+
+* *All tasks are failing*: If a common element is **not** identifiable as
+ temporary (i.e. container registry outage), please seek assistance via
+ [the methods below](#communications) as this may be early indication of
+ a more serious problem.
+
+In the (hopefully) rare case there are multiple, contiguous red bars, this is
+a ***very bad*** sign. It means additional merges are occurring despite an uncorrected
+or persistently faulty condition. This risks additional bugs being introduced
+and further complication of necessary corrective measures. Most likely people
+are aware and working on this, but it doesn't hurt [to confirm and/or try and help
+if possible.](#communications)
+
## Communications
For general questions and discussion, please use the