diff options
Diffstat (limited to 'doc/md/Continuous-integration-tools.md')
-rw-r--r-- | doc/md/Continuous-integration-tools.md | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/doc/md/Continuous-integration-tools.md b/doc/md/Continuous-integration-tools.md new file mode 100644 index 00000000..30dc474d --- /dev/null +++ b/doc/md/Continuous-integration-tools.md | |||
@@ -0,0 +1,24 @@ | |||
1 | ## Local development | ||
2 | A [`Makefile`](https://github.com/shaarli/Shaarli/blob/master/Makefile) is available to perform project-related operations: | ||
3 | - Documentation - generate a local HTML copy of the GitHub wiki | ||
4 | - [[Static analysis]] - check that the code is compliant to PHP conventions | ||
5 | - [[Unit tests]] - ensure there are no regressions introduced by new commits | ||
6 | |||
7 | ## Automatic builds | ||
8 | [Travis CI](http://docs.travis-ci.com/) is a Continuous Integration build server, that runs a build: | ||
9 | - each time a commit is merged to the mainline (`master` branch) | ||
10 | - each time a Pull Request is submitted or updated | ||
11 | |||
12 | A build is composed of several jobs: one for each supported PHP version (see [[Server requirements]]). | ||
13 | |||
14 | Each build job: | ||
15 | - updates Composer | ||
16 | - installs 3rd-party test dependencies with Composer | ||
17 | - runs [[Unit tests]] | ||
18 | |||
19 | After all jobs have finished, Travis returns the results to GitHub: | ||
20 | - a status icon represents the result for the `master` branch: [![](https://api.travis-ci.org/shaarli/Shaarli.svg)](https://travis-ci.org/shaarli/Shaarli) | ||
21 | - Pull Requests are updated with the Travis result | ||
22 | - Green: all tests have passed | ||
23 | - Red: some tests failed | ||
24 | - Orange: tests are pending | ||