- This document contains step by step details of the steps to be performed for the complete release of the MOSIP.
- As part of MOSIP release we push below mentioned components:
- MOSIP artifactories to maven central under group
io.mosip. - Push docker images to
mosipiddockerhub registry. - Tag the Codebase in respective repositories.
- Sign the docker images released to mosipid dockerhub registry for trust validation.
Below are sequential steps for systematic release process.
- For releasig the artifacts to the maven central we needed to make sure that the versioning of all the artifactories are done properly so that the same can be used by other modules easily.
- After code freeze is announced and the MOSIP release is initiated first lock all the branches to be released in respective repositories and reserve the right to commit/release upto build and release team only and any further changes can't be merged without approval from DEV teams lead.
- For making the pom github mannual workflow named
release_changesneeded to be initiated manuallyfrom each repos in sequence the same is gicen here (repos.xls). - After sucessfull manual workflow run a pull request will be raised to the repository to the release branch which contains all the versioning and URL changes for release.
- Merge the pull request created by release BOT.
- Once pull request is merged wait for all the automated actions to be completed sucessfully.
- After sucessfull completion of github action make sure that:
- All the jobs trigered by github
push_triggerworkflow completed sucessfully. - In case of
buildjob failures do revert the same to repository admins. - In case of
publish_to_nexusjob failure do update the same to Devops team. - In case of failure related to publishing docker images do update the same to Devops team.
- Login to Nexus and verify if all the artifacts to be released from respective repos are there in staging repository in closed state without any validation failure.
- If any artifactory repo is in open state do select the same and close it and wait for sucessful closing of the repos there.
- If repos don't close sucessfully note the validation failures there nd make the required changes in the POM files in the repository and commit the changes.
- After artifactory repositories sucessful closing from the staging repository in NEXUS do crosscheck if the version to be released for each artifacts is already not released in Maven central.
- Once after ensuring that the version to be released is unique and is not present already in Maven Central release the repositories from NEXUS.
- Wait until the arifactories released are shown under specified version in each group.
- Trigger the release changes for the other dependent repos in sequence.
- Once after all the repos are released and all the images are published into the
mosidevdockerhub organosation make note of them. - Now execute the python script to push images from
mosipdevtomosipidorganisation.
- Once all the docker images are pushed to the
mosipidaccount make sure that the same is signed properly using this
- Once after sucessfull elease of artifactories and docker images continuw with tagging of all the repositories from where release was initiated with release version.
- After sucessfull release of libraries and docker images we need to update the related changes in the below mentioned repos:
- mosip-infra : update correct versions of all the docker images released in
version.ymlfile for deployment. - mosip-helm : update the respective docker image versions there in all the required charts and publish the same.
- mosip-artifactory-ref-impl: update the repective required libraries version in the artifactory-ref-impl so that artifactory servivce docker image can be prepared and published and signed for trust validation.
- pvt-artifactory: update all the latest artifactory changes with the real sdk jars for [RBR](real biometric testing).
- Once all the above changes are done we need to verify the deployment once using both the refernce implememtation deployment architeture sandboxv2 and V3.
- After deployment testing tag and release the below mentioned repos:
- mosip-artifactory-ref-impl: Contains code for artifactory service docker image for the MOSIP mosular deployment.
- pvt-artifactory: Contains third party vendor jars and zips for MOSIP real device testing.
- mosip-infra: Contains all deployment scripts.
- mosip-helm: Contains all the MOSIP and required external charts for deployment.
- mosip-config: Contains all the configurations required for the MOSIP modular services.
- mosip-data: Contains all the necessary DML's required for MOSIP.
- After complete release of MOSIP compones the merging of all the changes from release branch is done to the master.
- Once after tagging and release of all the Codebase and Infrastructure Release notes are published [here](path to release notes)
- After Release Notes are published anouncement of the official release of the MOSIP's new version in open source is made.