- 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.
- The developer will create a Feature branch and a Pull Request to develop the branch, triggering the PR-ci-cd workflow.
- After the Pull request merges into develop branch it will Trigger the DEV-ci-cd workflow.
- The developer will create a Release branch and a Pull Request to the main branch, triggering the UAT-ci-cd workflow.
- After the Pull request merges into the main branch it will trigger the 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