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.