Skip to content

Branches and versions

Martín Dias edited this page Jul 7, 2024 · 5 revisions

In Short

The following are the conventions for tags and branches for this repository.

Release tags: Usual semantic versioning convention prefixed with a "v". Users will preferably depend on them.

Long-term branches:

  • dev branch is unstable: the default target for contributions (pull requests).
  • master branch is stable: Users might depend on this branch if a release tag is not available.
  • PharoXX are stable "preview" branches that are loaded as preview from Pharo. (World Menu -> Library -> Load Toplo and Bloc)

Short-term branches:

  • CamelCased named branches, for features
  • Iceberg-generated issue branch names

Details

Users. We expect that users depend on our release tags, or alternatively master branch.

Releases. To have repeatable builds, released versions must only depend on fixed versions. A fixed version is either a git tag, or a git commit id. The latter is only a last resource; only if it is too hard to create a tag in the other repository, because we cannot control.

Contribution workflow. Contributors are free to create branches either on their own forks, or on the main repository following the short-term branches convention described above. They submit a PR to dev branch when the contribution is ready for review. The integrators have the responsibility to review/merge/reject it. After merge, the changes are evaluated in action, and at some points should be promoted onto master and to the preview branches.

Clone this wiki locally