- For general guidance about using GitHub actions, you can take a look at Github Actions Guide.
- We have a total of 7 active release workflows. These are located under Workflows.
We are following the GitFlow branching strategy. Please refer here.
main
: The main branch serves as the stable and production-ready branch, where all the changes from release branches are merged and tested before deployment.develop
: The develop branch, where all the changes from feature branches are mergedfeature/*
: The feature branch, individual features or enhancements are developed on separate branches, allowing for isolated development and easy collaboration before merging.release/*
: The release branch is a branch used for allowing isolated testing and preparation of the release before merging it into the main branch.hotfix/*
: The hotfix branch, hotfixes for critical issues are handled separately by creating dedicated branches and merging them directly into the main branch.
The diagram below explains the end-to-end process and stages for promoting the code from the develop branch to the master branch.
- Developer will create a Feature branch, create a Pull Request to develop branch which will trigger PR-ci-cd workflow.
- After the Pull request merge into develop branch which will Trigger DEV-ci-cd workflow.
- Developer will create a Release branch, create a Pull Request to main branch which will trigger UAT-ci-cd workflow.
- After the Pull request merge into main branch which will trigger PROD-ci-cd workflow.
There are different types of workflows designed for the type of source branch used based on the GitFlow workflow and the deployment targets as explained below