Appearance
Software Development Workflow
This workflow requires that a QA and production environments are set up in the project.
In the project, there will be 4 types of branches:
main- This is the version that will be deployed to production
feature/x,feature/y- These are the feature branches
bug/x,bug/y- These are the bug branches
release/a- This is the branch accepting merges from feature branches for the next release
test- This is the version that will be deployed to QA
Feature workflow
1. Starting development
Once a ticket is picked up for development, the corresponding feature branch can be created (for example: feature/cclb-1), and work can start on the feature. The ticket should be moved to In Progress.
2. QA
Once the developer determines that the feature is ready for QA, they can merge the branch into test, which will deploy their changes to the QA environment. The ticket should be moved to QA and someone should be assigned to QA the feature.
3. Code review
Once the QA passes, the ticket should be moved to Done Development. The developer can then create the merge request to merge into release/a. The merge request should include the ticket (for example: CCLB-1: x). The ticket should be moved to Under Pull Request and someone should be assigned to Code Review the feature.
Once the Code Review passes, the merge release can be merged and closed. The ticket should be moved to Waiting for Release.
4. Release
Once features for the release are completed, a merge request can be created to merge release/a to main. The merge request should include the release version (for example: Release v1.1.1).
Once the merge request is approved and merged, the main branch can be tagged, which will deploy the new version to production.