Plugin Version
0.5.1 (feature branch)
Proposed functionality
Add a third CI matrix entry to lint-tests.yaml that installs netbox-branching and runs the full test suite with branching enabled. This would close the current gap where all @unittest.skipUnless(HAS_BRANCHING, ...) tests are silently skipped in every CI run.
The proposed change to .github/workflows/lint-tests.yaml:
- Add a
branching entry alongside the existing main and feature matrix entries
- Install netbox-branching from its repository in this matrix job
- Use
testing/configuration_branching.py (wraps DATABASES in DynamicSchemaDict and adds BranchAwareRouter) instead of testing/configuration.py
- Mark the job
continue-on-error: true initially so branching CI failures are visible but non-blocking while the pipeline stabilises
Use case
test_branching.py contains an extensive suite of TransactionTestCase-based tests covering branch sync, merge, revert, and cross-COT lifecycle scenarios. These tests currently only run when a developer proactively executes them locally with a branching-enabled configuration. A regression in branching support — even one introduced by a change that doesn't obviously touch branching-related code — goes undetected until noticed manually.
External dependencies
Requires netbox-branching to be installable in the CI environment. If netbox-branching is not yet on PyPI, the workflow would install it from its Git repository.
Plugin Version
0.5.1 (feature branch)
Proposed functionality
Add a third CI matrix entry to
lint-tests.yamlthat installs netbox-branching and runs the full test suite with branching enabled. This would close the current gap where all@unittest.skipUnless(HAS_BRANCHING, ...)tests are silently skipped in every CI run.The proposed change to
.github/workflows/lint-tests.yaml:branchingentry alongside the existingmainandfeaturematrix entriestesting/configuration_branching.py(wrapsDATABASESinDynamicSchemaDictand addsBranchAwareRouter) instead oftesting/configuration.pycontinue-on-error: trueinitially so branching CI failures are visible but non-blocking while the pipeline stabilisesUse case
test_branching.pycontains an extensive suite ofTransactionTestCase-based tests covering branch sync, merge, revert, and cross-COT lifecycle scenarios. These tests currently only run when a developer proactively executes them locally with a branching-enabled configuration. A regression in branching support — even one introduced by a change that doesn't obviously touch branching-related code — goes undetected until noticed manually.External dependencies
Requires netbox-branching to be installable in the CI environment. If netbox-branching is not yet on PyPI, the workflow would install it from its Git repository.