Skip to content

Release Checklist

David L. Dotson edited this page Nov 21, 2024 · 5 revisions

To make a new release, follow the steps below, in order:

  • create a PR from a new branch, updating the conda envs associated with server, compute, and client to use the tag you're intending to use, along with any new versions of pinned dependencies
  • build Docker images from this branch
  • create Neo4j database dump for alchemiscale.org prod instance
  • synchronize object store data between prod and QA AWS S3 buckets; should be unnecessary with replication in place, but check metrics to ensure replication is working to QA bucket
  • load database dump from prod on QA host for alchemiscale.org
  • deploy Docker images to QA host for alchemiscale.org
  • perform smoke tests via AlchemiscaleClient using client env from PR against QA; check that retrieval of results possible from all existing AlchemicalNetworks
  • stand up compute services using compute Docker image, pointing to QA; ensure that compute proceeds without obvious error
  • once satisfied with the above, merge PR
  • make a new release from the Releases page; refer to previous releases for format; included autogenerated changelog and credits; also check the box for making a Discussions announcement
  • build Docker images from new tag
  • push release to PyPI
  • announce new release on stakeholder channels; include announcement of impending upgrade on prod instances
  • deploy prod instances using new Docker images
  • merge PR for new release on conda-forge feedstock once it is populated: https://github.com/conda-forge/alchemiscale-feedstock

Clone this wiki locally