]> git.immae.eu Git - github/shaarli/Shaarli.git/blob - doc/md/Continuous-integration-tools.md
30dc474d7162296177233de02f3eaa0762677ae3
[github/shaarli/Shaarli.git] / doc / md / Continuous-integration-tools.md
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