Skip to content
On this page

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.