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.

Watch out: We follow the Standard version for changelogs and the Semantic versioning for the releases.

Watch out: 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.