]>
Commit | Line | Data |
---|---|---|
1 | #Development | |
2 | ## Guidelines | |
3 | Please have a look at the following pages: | |
4 | - [Contributing to Shaarli](https://github.com/shaarli/Shaarli/tree/master/CONTRIBUTING.md)[](.html) | |
5 | - [Static analysis](Static-analysis.html) - patches should try to stick to the [PHP Standard Recommendations](http://www.php-fig.org/psr/) (PSR), especially: | |
6 | - [PSR-1](http://www.php-fig.org/psr/psr-1/) - Basic Coding Standard[](.html) | |
7 | - [PSR-2](http://www.php-fig.org/psr/psr-2/) - Coding Style Guide[](.html) | |
8 | - [Unit tests](Unit-tests.html) | |
9 | - [GnuPG signature](GnuPG-signature.html) for tags/releases | |
10 | ||
11 | ## Continuous integration tools | |
12 | ### Local development | |
13 | A [`Makefile`](https://github.com/shaarli/Shaarli/blob/master/Makefile) is available to perform project-related operations:[](.html) | |
14 | - Documentation - generate a local HTML copy of the GitHub wiki | |
15 | - [Static analysis](Static-analysis.html) - check that the code is compliant to PHP conventions | |
16 | - [Unit tests](Unit-tests.html) - ensure there are no regressions introduced by new commits | |
17 | ||
18 | ### Automatic builds | |
19 | [Travis CI](http://docs.travis-ci.com/) is a Continuous Integration build server, that runs a build:[](.html) | |
20 | - each time a commit is merged to the mainline (`master` branch) | |
21 | - each time a Pull Request is submitted or updated | |
22 | ||
23 | A build is composed of several jobs: one for each supported PHP version (see [Server requirements](Server-requirements.html)). | |
24 | ||
25 | Each build job: | |
26 | - updates Composer | |
27 | - installs 3rd-party test dependencies with Composer | |
28 | - runs [Unit tests](Unit-tests.html) | |
29 | ||
30 | After all jobs have finished, Travis returns the results to GitHub: | |
31 | - a status icon represents the result for the `master` branch: [![(https://api.travis-ci.org/shaarli/Shaarli.svg)](https://travis-ci.org/shaarli/Shaarli)]((https://api.travis-ci.org/shaarli/Shaarli.svg)](https://travis-ci.org/shaarli/Shaarli).html) | |
32 | - Pull Requests are updated with the Travis result | |
33 | - Green: all tests have passed | |
34 | - Red: some tests failed | |
35 | - Orange: tests are pending |