Release Process

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 --tags

github 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 --tags

github 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 push

GitLab 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 push

We 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 push

However, the MOBIUS staging deployment does need to be updated individually, like so:

git checkout release git pull git checkout staging git merge release git push

The 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 push

GitLab 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.

Operated as a Community Resource by the Open Library Foundation