Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Drawio
mVer2
zoom1
simple0
zoominComment10
inCommentcustContentId0401473567
pageId156270596
custContentIdlbox4014735671
diagramDisplayNameUntitled Diagram-1723781366669.drawiolbox1
contentVer35
revision35
baseUrlhttps://folio-org.atlassian.net/wiki
diagramNameUntitled Diagram-1723781366669.drawio
pCenter0
width56415734.5500000000001
links
tbstyle
height22862478.5

This sequence diagram illustrates the process of continuous integration and deployment (CI/CD) within a project. The main participants are developers, automated quality assurance (AQA) engineers, and different branches of the project’s repositories, as well as the continuous integration environments.

...

  • Developer: A person who develops new features or fixes for the project.

  • AQA: The Automated Quality Assurance engineer responsible for writing and managing test cases.

  • mod-a BranchesModule repository branches: The branches of the mod-a module repository (feature, development, staging, and master).

  • Karate Branches: The branches of the Karate test framework (feature, development, staging, and master).

  • Cypress Branches: The branches of the Cypress test framework (feature, development, staging, and master).

  • platform-complete Branches: The branches of the platform-complete repository (development, staging, and snapshot).

  • CI QG Environments: Continuous Integration Quality Gate environments for Karate and Cypress (development, staging/master).

...

  • The Developer pushes new feature code to the mod-a module feature branch and new tests to the Karate feature branch.

  • The AQA engineer pushes new feature tests to the Cypress feature branch.

  • The Developer notifies the AQA engineer about the feature merge.

  1. Merging Feature to Development:

  • The mod-a module repository feature branch is merged into the mod-a module repository development branch.

  • Jenkins updates the install.json file in the platform-complete development environment.

  • The Karate feature branch and Cypress feature branch are merged into their respective development branches.

...

Drawio
mVer2
zoom1
simple0
inComment0
custContentId401440869
pageId156270596
lbox1
diagramDisplayNameUntitled Diagram-1723781939968.drawio
contentVer13
revision13
baseUrlhttps://folio-org.atlassian.net/wiki
diagramNameUntitled Diagram-1723781939968.drawio
pCenter0
width29652972.50000000000055
links
tbstyle
height10081040.49999999999995000000000002
  1. Cherry-pick and Merge to Staging:

  • Feature code from the mod-a module repository development branch is cherry-picked into the mod-a module repository staging branch.

  • Jenkins updates the install.json file in the platform-complete staging branch.

  • Feature tests from the Karate and Cypress development branches are cherry-picked into their respective staging branches.

...

Drawio
mVer2
zoom1
simple0
inComment0
custContentId401440879
pageId156270596
lbox1
diagramDisplayNameUntitled Diagram-1723781989400.drawio
contentVer13
revision13
baseUrlhttps://folio-org.atlassian.net/wiki
diagramNameUntitled Diagram-1723781989400.drawio
pCenter0
width31953281.50000000000055
links
tbstyle
height816896.5
  1. Final Merge to Master and Snapshot Creation:

  • The mod-a module repository staging branch is merged into the mod-a module repository master branch.

  • Jenkins updates the install.json file in the platform-complete snapshot environment.

  • Feature tests from the Karate staging branch and Cypress staging branch are merged into their respective master branches.

...

  • The platform-complete snapshot branch triggers the final CI Quality Gate process.

  • Karate and Cypress environments are deployed for the platform-complete snapshot branch.

  • Both Karate and Cypress tests are run in parallel in the platform-complete snapshot environment.

  • Feedback from the test runs is sent back to the Developer.

Drawio
mVer2
zoom1
simple0
zoominComment10
inCommentcustContentId0401309788
pageId156270596
custContentIdlbox4013097881
diagramDisplayNameUntitled Diagram-1723782037317.drawiolbox1
contentVer24
revision24
baseUrlhttps://folio-org.atlassian.net/wiki
diagramNameUntitled Diagram-1723782037317.drawio
pCenter0
width30363122.49999999999955
links
tbstyle
height816896.5

Summary:

This process ensures that all new features and test cases are thoroughly tested at each stage of development, from the initial feature branch to the final snapshot, before being deployed to production. The diagram shows how the development and testing branches are systematically merged and tested, ensuring high-quality code is maintained throughout the development lifecycle.