Release Process
dcb-service (Backend)
dcb-service is released from the main branch.
Ensure that the main branch is up to date.
Ensure tests pass and that there are no outstanding changes (Release will not progress)
When ready run
./gradlew cgTagFinal --withChangelog
git push origin main
git push --tagsgithub will run the formal release process and upload all artefacts
dcb-locate
dcb-locate is released from the main branch.
Ensure that the main branch is up to date.
Ensure tests pass and that there are no outstanding changes (Release will not progress)
When ready run
./gradlew cgTagFinal --withChangelog
git push origin main
git push --tagsgithub will run the formal release process and upload all artefacts
dcb-admin (Frontend)
dcb-admin is released by merging main onto to the release branch.
git checkout main
git pull
git checkout release
git pull // Only needed if your local release branch is out-of-date.
git merge main
git pushGitLab actions will perform the release process uploading all artefacts. Once completed, we should merge release back on to main so that the latest version number is properly reflected in deployments from that branch.
git checkout release
git pull
git checkout main
git merge release
git pushWe should also update the production branch with the latest changes from release. This ensures our MOBIUS production deployment at https://libraries-dcb-hub-admin-scaffold-uat-git-production-knowint.vercel.app/ stays current.
git checkout release
git pull
git checkout production
git merge release
git pushHowever, the MOBIUS staging deployment does need to be updated individually, like so:
git checkout release
git pull
git checkout staging
git merge release
git pushThe MOBIUS staging deployment can be found at https://libraries-dcb-hub-admin-scaffold-uat-git-staging-knowint.vercel.app.
We should also update any other active environments listed in Confluence, such as the integration and GALILEO test environments
https://openlibraryfoundation.atlassian.net/wiki/spaces/DCB/pages/2709585934 . The branches for all active DCB Admin deployments are marked as protected in GitLab.
GALILEO environments that must be updated as part of a release
Using the same protocol as above, we must also update these individual branches for our GALILEO deployments.
GALILEO_production
GALILEO_staging
GALILEO_test
Additional K-Int environments
It is also good practice to update VRTX-admin while we still have both AWS and VRTX DCB deployments for K-Int development environments.
The dev-intcon branch should also be updated.
Release notes
Release notes should be created on GitHub after a release, so that they can be shared with external partners. These notes should summarise the changes in a given release, referring to the Jira issue for each one.
DCB Admin for Libraries (Frontend)
Much like DCB Admin, DCB Admin for Libraries is released by merging main onto to the release branch.
git checkout main
git pull
git checkout release
git pull // Only needed if your local release branch is out-of-date.
git merge main
git pushGitLab actions will perform the release process uploading all artefacts. Once completed, we should merge release back on to main so that the latest version number is properly reflected in deployments from that branch.
Notably, all production DCB Admin for Libraries deployments deploy from the release branch. As such, there is no need to update different branches.
All development DCB Admin for Libraires deploy from main, so they also do not need updating.
When a new DCB Admin for Libraries deployment is required, we must go to Cloudflare and add the relevant configuration there.