-
Notifications
You must be signed in to change notification settings - Fork 18
Release ‐ Guide
This documents the steps for creating a new release for the napari hub.
Release notes can be generated using the release notes workflow. The workflow is automatically run whenever there is a push to main
so that the upcoming release notes is always updated with PRs pending release. Because of this, you usually do not need to run the workflow manually. However, if you need to regenerate the release notes for any reason (example: PR label has changed), it's still possible to do so by:
- Open the release notes workflow
- Click
Run Workflow
- After the tooltip opens, make sure
main
is selected and click onRun Workflow
- Draft release notes will be created here: https://github.com/chanzuckerberg/napari-hub/releases
If you find any of the PRs are uncategorized, you can categorize them by adding release note labels to each PR and following the steps above to regenerate the release notes.
Make sure there's no objection with the release and that people have reviewed the staging site https://staging.napari-hub.org.
Draft a new release here. The tag version and release title should be the same, and the version should follow semver. The description should be the change list.
When everything looks good, click on Publish
to publish the release! 🎉 🎉
Wait for the GitHub action deployment to complete. Once it's done, review the production site at https://napari-hub.org and verify things are working.
Sometimes we'll need to create a release outside of the normal production release schedule so that we can cherry pick urgent fixes. This is a more manual process that'll need to be handled with the git CLI.
After the fix PR has been merged, grab the commit hash and run the following commands:
# Checkout the latest release with the bug
git checkout <release>
# Checkout branch with new name
git checkout -b <temporary branch name>
# Cherry pick fix PR into the branch
git cherry-pick <commit hash>
# Push branch to repo
git push origin main
After the branch has been pushed, create a new release and select the branch you created:
You'll also need to manually fill in the release description since GitHub won't be able to generate the release notes since it's not targeting main.
When ready, publish the release and it should be deployed to production soon after! After the release has been published, you can delete the branch from the repo:
git branch -D <temporary branch name>
git push origin --delete <temporary branch name>