CI Pipelines

Bissetii relies on various continuous integrations to ensure it is tested and verified. They are automated and operate under a single process chain for easy development. This is for quality assurance.

Bissetii only uses CI pipelines to manage releases and to test its application. As for human perception design testing, manual documentations are used to test all the visual output.

Bissetii uses ZORALab’s Fennec Project to unilaterally execute its GitLab CI automation. Hence, most of the deployment complies to Fennec specifications.

Release Strategy

Bissetii uses point-release strategy to manage its releases progressively.

Point Release Strategy

Tagging Definitions

Its tags system follows semantic versioning with starting letter v. Example:

v0.1.0
v1.0.0

Tags with tailing + is reserved for packaging releases by builds. Usually, this type of tagging (with or without + sign) happens on master branch. Example:

v1.0.0+b1

Tags with tailing ~ is reserved for packaging release candicates. Usually, this type of tagging happens on staging branch. Example:

v1.0.0~rc1

Tag with tailing - is reserved for package maintainer only (e.g. Debian developers/maintainer). Hence, we should not use it to avoid unnecessary collision. Example:

v1.0.0-sp1

Branch Management

Bissetii follows the 3 branches (stable, testing, and unstable) system and progressive development. This means that we do not perform git revert or rebase to break any timelines.

Master

This branch is known as the main product line. It is protected and recognized as the final product.

ONLY staging branch is allowed to merge into master branch and there SHOULD NOT be any development on this branch.

Staging

This branch is known as the next product release. It holds all the commit patches for the next release and is currently under testing.

It should carries the same commit timeline as master branch and holding the future commits to be merged into it.

ONLY maintainers are allowed to commit and cherry-pick commit patches into this branch.

Next

This branch is known as the edge. It contains all the latest and greatest development. Any contributors can contribute here.

As for the website publishing, it is tracked under this branch for documentation flexibility without triggering a minor release.