Skip to content

ADR-0002 — Source Control & CI/CD: GitHub

Status Accepted
Date 2025
Deciders Flooris development team

Context

A version control system and CI/CD pipeline are required to manage code, enable collaboration, enforce code quality and automate deployments to test, acceptance and production environments.


Decision

GitHub is used as the Git remote and CI/CD platform. All repositories are hosted under the Zwerfkei / Flooris GitHub organisation. GitHub Actions is used for automated pipelines.


Rationale

  • GitHub is already the standard platform within Flooris for all projects.
  • GitHub Actions provides native CI/CD capabilities without requiring a separate tool (e.g. Jenkins, CircleCI).
  • Pull request workflows, code reviews and branch protection rules are supported out of the box.
  • Tight integration with Ploi (see ADR-0003) enables automated deployments triggered from GitHub Actions.

Branching Strategy

Branch Purpose
main Production-ready code. Deployments to production are triggered from this branch.
develop Integration branch for completed features.
feature/* Short-lived feature branches, merged into develop via pull request.
hotfix/* Emergency fixes merged directly into main and back-ported to develop.

Consequences

  • All code changes go through a pull request and require at least one review before merging.
  • CI pipelines run automated tests and static analysis on every pull request.
  • Deployment to test/acceptance/production is triggered via GitHub Actions on merge to the respective branch.