This repository was archived by the owner on Sep 2, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 5
Creating a release and deploying it
rtuck99 edited this page Mar 12, 2024
·
23 revisions
Before a release you should run all the system tests on your local machine.
- Make sure dodal has an up-to-date release by following the processes here.
- Create a new branch from
mainnamedprefollowed by the release version e.g.pre_v4.2.0. The release versions should look likev{major}.{minor}.{patch}. See here if you're unsure on what the release version should be. - Go here.
- In the "Run workflow" dropdown, ensure "Use workflow from Branch: main" selected, and type the (non-pre) version of the release.
- Run the workflow - this will pin dependency versions and create the full release tag
- Go to the new release workflow.
- Select the previously created full release version
- Click on
Generate release notes. This will create a starting set of release notes based on PR titles since the last release. - You should now manually go through each line on the release notes and read it from the perspective of a beamline scientist. It should be clear from each what the change means to the beamline and should have links to easily find further info.
- Publish the release
Releases should obviously be versioned higher than the previous latest release. Otherwise you should follow this guide:
- Major - Changes that will break compatibility between GDA and Hyperion, large code rewrites
- Minor - New features
- Patch - Bug fixes
Remember to discuss any new deployments with the appropriate beamline scientist. The /deploy/deploy_hyperion.py script will deploy the latest Hyperion version to a specified beamline. Deployments live in /dls_sw/ixx/software/bluesky/hyperion_vXXX. To do a new deployment you should run the deploy script from your Hyperion dev environment with e.g.
python ./deploy/deploy_hyperion.py i03If you want to test the script you can run:
python ./deploy/deploy_hyperion.py devand a released version will be put in /tmp/hyperion_release_test