Quality assurance
Quality assurance
Version control
Git flow is used for version control. The main branch is main and the development branch is develop. Feature branches are created from develop and merged back into develop when the feature is complete. When a release is ready, develop is merged into main and a tag is created.
Version number is compliant to Semantic Versioning and dynamically generated by gitops-version.
gitGraph commit branch develop branch "feat/feature1" commit commit checkout develop merge "feat/feature1" tag: "v0.1.0" checkout develop branch "feat/feature2" commit checkout develop branch "feat/feature3" commit checkout "feat/feature2" commit checkout develop merge "feat/feature2" tag: "v0.2.0" checkout "feat/feature3" commit checkout develop merge "feat/feature3" tag: "v0.2.1" checkout main merge develop
Functional tests
Functional tests are run on every pull request and on every commit to develop and main branches. Azure DevOps is contacted to validate each pipeline run.
sequenceDiagram
participant cicd as GitHub Actions
participant func as Functional tests
participant azure as Azure IacC
participant agent as Agent
participant azdo as Azure DevOps
loop Every flavor
cicd ->> func: Run functional tests
func ->> azure: Deploy to Azure
azure ->> azure: Process Bicep file
func ->> azure: Validate deployment
loop Every pipeline file
func ->> azure: Manual job start
azure ->> agent: Initialize
activate agent
agent ->> azdo: Registers to the pool
func ->> azdo: Create & run a mock pipeline
agent ->> agent: Execute the pipeline
agent ->> azdo: Send result
deactivate agent
func ->> azdo: Validate pipeline
end
func ->> cicd: Success
end
Last updated on