Skip to content

Longhorn Release Process

Sheng Yang edited this page Dec 6, 2020 · 16 revisions

Pre-release check:

  1. Validate any failed nightly testing cases, make sure they're not reproducible on the second run.
  2. Make sure the latest builds are all green.
  3. Make sure all the settings have been updated in the Helm Chart and doc.
    1. Including the description, default value
  4. Make sure longhorn/longhorn:chart is identical to other Helm repos, e.g. rancher/charts.
  5. If the live upgrade is not supported, make sure the Upgrade Engine button is enabled only when the volume is detached.
  6. If there are upgrade specific instructions, make sure they're documented in the RC's release note for QA to test.

Release process:

  1. Make a new commit for the version, then tag following repositories with the same tag on master, e.g. v0.8.1-rc1
  2. Drone will build and push the related tagged image to the Docker Hub.
  3. Synchronize Longhorn deployment YAML with Longhorn Manager
  4. Modify the image tags in the deployment YAML.
  5. Modify the chart tags in the deployment YAML.
    1. Check if instance manager was updated. If so, need to update Chart's value manually.
    2. Check if share manager was updated. If so, need to update Chart's value manually.
  6. Modify the tags in release-images.txt and images.txt.
    1. Check if instance manager was updated. If so, need to update the value manually.
    2. Check if share manager was updated. If so, need to update the value manually.
  7. If there is any images not belong to longhoronio Docker Hub account, retag all the images and push to Docker Hub using following commands:
    ./scripts/save-images.sh -l ./deploy/release-images.txt
    ./scripts/load-images.sh -l ./deploy/release-images.txt
    
  8. Commit change. Create a release using GitHub on https://github.com/longhorn/longhorn .
    • For RC releases, create the release in the versioned branch, e.g. v1.0.0
    • For formal releases, create the release in the versioned branch first, then use merge to merge to the master.
  9. For formal releases:
    • Copy the charts directory to longhorn/charts to create the new chart for https://charts.longhorn.io/.
    • Merge longhorn/website <version> branch to master
Clone this wiki locally