Scope
Prerequisites
Migrate to new Jenkins with dynamic Kubernetes agents
Set up S3 registry for ModuleDescriptors (development branch)
Set up S3 registry for ModuleDescriptors (staging branch)
Set up ECR registry for docker images (development branch)
Set up ECR registry for docker images (staging branch)
Create namespace configuration
folio-testing-cikaratedev
folio-testing-cicypressdev
Check that SonarQube support analysis of multiple branches for the module (development/staging/master)
Implementation
Create a pipeline for building modules, running unit tests and sonar checks, and publishing artifacts (ModuleDescriptor and docker image) from the development and staging branch
Create additional branches in platform-complete
development
staging
Modify the platform-complete build pipeline or create a new one to support install.json generation from relevant module branches
Refactor the folioCiQualityGates pipeline and make it a function
Create a trigger for folioCiQualityGates execution against the platform-complete development branch (namespaces:
folio-testing-cikaratedev,
folio-testing-cicypressdev)
Create a trigger for folioCiQualityGates execution against the platform-complete staging and snapshot branch. This trigger should have logic:
Check if changes in the snapshot branch
If yes proceed with testing against the snapshot branch
If no check if changes in staging branch
If yes proceed with testing against the staging branch
If no finish
(namespaces:
folio-testing-cikarate,
folio-testing-cicypress)