Skip to content

Repositories and RYS versioning

How the Easy8 team organises its repositories. Customer code follows Where to put your code.

Development levels

  • Redmine: the Rails application Easy8 is built on. A new Redmine release replaces our copy, so local changes there are overwritten. Core changes are allowed only after approval, and the author is responsible for them.
  • Client modifications: code for one client lives in a modification_* plugin. Because core changes are minimal, there is little or no code review, and the client mostly verifies the functionality.

Repositories for client-specific modifications

For some clients we keep a repository, usually a fork of a platform release with the customisations added.

RYS repositories

Each RYS repository has two protected branches, master and devel. master holds the stable version in production, which client applications reference with ~>. Open merge requests against devel.

RYS versions follow semantic versioning:

  • MAJOR: release-specific changes (whole new features, refactoring, breaking changes).
  • MINOR: small new features, migrations, minor changes of internal logic.
  • PATCH: bug fixes and harmless changes such as documentation. A patch version cannot include migrations or breaking changes.