Skip to content
This repository was archived by the owner on May 9, 2026. It is now read-only.

Testing and Continuous Integration

NathanGrenier edited this page Nov 4, 2025 · 12 revisions

Code Reviews and Pull Request Acceptance Process

This section outlines the process and rules for submitting and merging Pull Requests (PRs). All code changes must go through this process to ensure quality and stability.

The specifics of this process are specified and enforced using GitHub's Ruleset feature.

General Rules for All Branches

The following rules apply to PRs targeting both the develop and main branches:

  • PRs are Mandatory: All commits must be made on a feature branch and submitted via a pull request. Direct pushes to develop and main are blocked.
  • Resolve All Conversations: Before a PR can be merged, all comments and requested changes must be addressed and resolved.
  • No Force Pushing: Force pushes are disabled on develop and main to protect the commit history.
  • Status Checks: In the future, all required status checks (like automated tests and builds) must pass before a PR can be merged.

Branch-Specific Requirements

Merging into develop

The develop branch is our primary integration branch for new features and bugfixes.

  • Required Approvals: 1 approving review from another team member is required.

Merging into main

The main branch contains stable, production-ready code. PRs to main typically come from the develop branch.

  • Required Approvals: 2 approving reviews from other team members are required.

Version Numbering

Our project will follow the semantic versioning number format.

image

Tagging Strategy

To track iterations and releases, we use Git tags as follows:

  • Tags on develop: We apply tags to the develop branch for each iteration (e.g., v0.1.0, v1.3.0) to mark significant milestones or completion of development cycles. Iterations will bump the minor version number by 1.
  • Tags on main: We apply tags to the main branch for official releases (e.g., v1.0.0, v2.1.0) to denote stable versions ready for production. Releases will bump the major version number by 1.

Testing

Discuss how you will test your system.

Continuous Integration Strategy

Discuss continuous integration strategy. You will use GitHub actions.

Project Linting

Project Formatting

Debug Builds

Clone this wiki locally