We are on GitHub!
We keep our projects in repositories on GitHub, one of the biggest host of source code in the world, and use Git as our version control system.
Inside our repos
Branches
We use the git flow branching model.
We have three main branches in every repository, each one has a specific function:
- Our
master
branch is for the Long Term Support version. - The
develop
branch is for our Bleeding edge version, and finally - The gh-pages branch, where the project site is build using Jekyll.
Continuous Integration
To speed things up and as part of our quality control, we count with automatic processes to run tests for the Pull Requests in our projects and to generate/update the information in the Development section on our gh-pages branches.
Merges in Develop branch
Every time a merge is made in develop the following documentation is generated or updated.
- Code Documentation: the description of every class and function of the source code.
- Coverage: the coverage of the code according to the tests.
- Test Report: the report thrown after all the tests are run.
Merges in Master branch
But when the merge is in master:
- Changelog: the list of commits that either add a fix or a feature, since the last stable version released.
- Releases: create a GitHub release.
We follow the Standard version for changelogs and the Semantic versioning for the releases.
According to the projects they might have other deployment tasks besides the ones previously described, you should read the README.md in every ci
directory to know their specific workflow.