Skip to content

Continuous Integration (CI)

Continuous Integration (CI) is the name given to the process of assisting our PR checks and resolving uncertainty in code status.

CI checks are built and maintained by the BHoM CI/CD team, but are operated automatically by our CI systems (including, but not limited to, AppVeyor, Azure DevOps and associated bots1).

The aim of CI checks is to increase confidence in our code, without unduly hindering our ability to prototype, develop, and extend the BHoM.

The pages within this section detail the CI checks we currently have operating, so that everyone can see how the checks are running and help ensure their PRs pass the checks.


Check Provider Command
Check Core BHoMBot Trigger by PR comment @BHoMBot check core
Check Installer BHoMBot Triggered by PR comment @BHoMBot check installer
Check Project Compliance BHoMBot Triggered by PR Comment @BHoMBot check project-compliance
Check Code Compliance BHoMBot Triggered by PR Comment @BHoMBot check code-compliance
Check Documentation Compliance BHoMBot Triggered by PR Comment @BHoMBot check documentation-compliance
Check Copyright Compliance BHoMBot Triggered by PR Comment @BHoMBot check copyright-compliance
Check Dataset Compliance BHoMBot Triggered by PR Comment @BHoMBot check dataset-compliance
Check Branch Compliance BHoMBot Triggered by PR Comment @BHoMBot check branch-compliance
Check Unit Tests BHoMBot Triggered by PR Comment @BHoMBot check unit-tests
Check Null Handling BHoMBot Triggered by PR Comment @BHoMBot check null-handling
Check Serialisation BHoMBot Triggered by PR Comment @BHoMBot check serialisation
Check Versioning BHoMBot Triggered by PR Comment @BHoMBot check versioning
Check Ready To Merge BHoMBot Triggered by PR Comment @BHoMBot check ready-to-merge
Check Compliance BHoMBot Triggered by PR Comment @BHoMBot check compliance
Check Required BHoMBot Triggered by PR Comment @BHoMBot check required

Use of CI checks

Not all checks are required on all repositories or on all branches, depending on the lifecycle state of the repository. The table below indicates which checks are required for a given repository state.

Check Prototype Alpha Beta (develop) Beta (main)
Core image image image image
Installer image image image image
Project Compliance image image image image
Code Compliance image image image image
Documentation Compliance image image image image
Copyright Compliance image image image image
Dataset Compliance image image image image
Branch Compliance image image image image
Unit Tests image image image image
Null Handling image image image image
Serialisation image image image image
Versioning image image image image
Ready to Merge image image image image

1 See more notes on our approach to using and interacting with bots and automated processes as part of our Code of Conducts.


Last update: March 17, 2023