Release Workflow#
This page describes how to make releases of the software within the imap_processing and sds-data-manager
repositories, and the steps needed to push said software to the production environment and update the data products.
Software Releases#
Any changes merged or pushed to the main branch should follow a specific release workflow which follows the diagram
shown in the git & GitHub Workflow page. This includes both ‘nominal releases’ (i.e.
new features being merged into main) and ‘hotfixes’ (i.e. bug fixes made directly to main). These workflows are
described below. It is assumed that steps (1) through (4) in the git & GitHub Workflow
are already completed.
Note: We use the ‘imap_processing’ repository as an example here, but this can be applied to ‘sds-data-manager’ as well.
Nominal releases#
Make sure the
devbranch is up-to-date with any changes you want included in the release (i.e. merge in any feature branches using the nominal git & GitHub Workflow).Create a new ‘release’ branch off of
dev. The name of the branch should match the version number to be used for the release, which should follow the software versioning conventions.Make any release-specific commits to the new release branch using the nominal
git add/git commitcycle. This may include commits that add release notes, or update version numbers in various configurations.Push the release branch to the main
IMAP-Science-Operations-Centerimap_processingrepo (i.e.upstream).In GitHub, create two pull requests: one that merges the release branch into
main, and one that merges the release branch intodev. Proceed with the nominal review & merge process described in steps (10) and (11) in the git & GitHub Workflow section.Once the changes are merged into the
mainbranch, create a new release for the merge commit and assign the appropriate version number.
Making hotfixes#
Note: A hotfix should generally be avoided unless there is some specific reason to bypass the nominal ``dev`` branch workflow; for example, if a bug fix is very time critical.
Create a new branch named
hotfix-<description>off of themainbranch, and commit any necessary changes following the nominalgit add/git commitcycle.Push the hotfix branch to the main
IMAP-Science-Operations-Centerimap_processingrepo (i.e.upstream), and open two separate pull requests: one that merges the hotfix branch into themainbranch, and one that merges the hotfix branch into thedevbranch.For each of these pull requests, proceed with the nominal review & merge process described in steps (10) and (11) in the git & GitHub Workflow.
Once the changes are merged into the
mainbranch, create a new release or a new tag for the merge commit and assign the appropriate version number.
Deployment#
Once a release is created in GitHub, a SDC dev team member can follow the CDK deployment steps to deploy the software to AWS. Once the software is deployed, a user should be able to call the APIs.