Release Process¶
NMDC Runtime Releases¶
How do new versions of the API and NMDC Runtime site (Dagster daemon and Dagit frontend) get
released? See infra-admin for details (private to microbiomedata org).
Data Releases¶
In order to make sure the schema, database, and NMDC Runtime API are in sync we need to coordinate data updates that require schema changes.
Here is a summary of the process:
- NMDC Schema repo releases new version. All releases must include a migration script (even if it is null / empty) to run against MongoDB. See ADR 007
- Submit/Merge a PR with updated schema version and any related code changes.
- Build a new NMDC-runtime image so that it is ready to be deployed (See above).
- Database (Mongo) is switched to read-only mode to prevent inconsistencies.
- TODO: decide on process for read-only mode
- Run
mongodumpto dump database on local machine- TODO: document
mongodumpcommand - FUTURE: improved process for doing inline DB migrations
- TODO: document
- Run migration script runs against database on local machine (to migrate data)
- TODO: Finalize location and instructions for migration script
- Run validation to make sure database on local machine adheres to updated schema version
- TODO: Steps for validation
- If validation succeeds, run
mongorestoreto update database- TODO: Steps for
mongorestore
- TODO: Steps for
- Database (Mongo) is switched from read-only mode back to original mode.
- Upgrade NMDC-runtime repo to latest version in Spin