Implementation of Enhanced CI/CD Workflow
1. Commit Stage
-
Testing: Integrate testing tools like
pytest
, flake8
, and reuse
on every feature branch. This ensures that all commits meet our quality and coding standards before they are merged.
2. Packaging and Deployment
-
GitLab PyPi: Enable packaging and deployment to GitLab's PyPi repository, but restrict this step only to commits that are merged into the main branch. This ensures that only thoroughly reviewed and tested code makes it to our package repository.
3. Acceptance Stage (Exclusive for main branch commits)
-
Installation and Acceptance Tests: Perform automated acceptance tests by installing the package using
pip install
. The focus here will be on running end-to-end tests to verify that the tool operates correctly in a live environment.