> This is work in progress. Please refer to [#268](https://github.com/picocms/Pico/issues/268) for details.
Defined below is a specification to which the Build and Release process of Pico should follow. We use [travis-ci](https://travis-ci.com) to automate the process, and each commit to `master` should be deployable. Once a `feature/branch` or the `master` branch have reached a point where the need for a version increase is necessary move through these phases to generate a Pico release.
Defined below is a specification to which the Build and Release process of Pico should follow. We use [travis-ci](https://travis-ci.com) to automate the process, and each commit to `master` should be deployable. Once a `feature/branch` or the `master` branch have reached a point where the need for a version increase is necessary, move through these phases to generate a Pico release.
### Commit phase
- Make/Commit/Merge changes
- Use a formatted commit message with contents of changelog
- Use a formatted commit message with contents of `CHANGELOG.md` since last release.
Example:
```
@ -141,6 +141,10 @@ Does the commit pass all `travis-ci` checks?
- We test PHP 5.3, 5.4, 5.5, 5.6, 7, the nighlty build, and HHVM
- should we `allow_failures:` in `.tavis.yml?`
- php: hhvm
- php: 7
If not, all errors will need to be corrected before the build can complete.
### Packaging phase
@ -151,7 +155,24 @@ If not, all errors will need to be corrected before the build can complete.
###### manually
- build current documentation using [PhpDocumentor](http://phpdoc.org),
- build current documentation using [PhpDocumentor](http://phpdoc.org)