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)

image-20240816-123358.png
  • 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)