Skip to content

Release process and branching strategy

Updated 2 min read

This page describes the high-level details of cutting a new Nebari release.

Cadence Versioning System Release Checklist Testing Checklist
3rd week of the month CalVer - (for example 2022.10.1) Link to issue template Link to issue template

For every release, there is an assigned "Release Captain". The Release Captain's responsibilities are:

  • Manage both the release and testing processes and update the checklists as needed.
  • Communicate the status of the release to the rest of the Nebari development team and the community (through updating the checklists and adding status updates as comments).
  • Assign owners to checklist items (if not owned by the Release Captain).
  • Adjust the schedule, particularly the publishing dates, based on defects found, fixes made, holidays, vacations, and so on.

Nebari releases should follow the following CalVer versioning style:

YYYY-MM-releaseNumber

For example, the first Nebari CalVer release was 2022.10.1. If a hotfix release was needed in the same month, we increment the releaseNumber by 1, which would be 2022.10.2 (this is to illustrate how the increment works, this release does not exist.)

We use the following guidelines to manage git branches by assigning certain roles to particular branches.

  • main - Represents the active development branch and is the default branch on the GitHub repository.
  • YYYY-MM-releaseNumber - Represents the tag for a particular release.

The release process is captured in the release checklist template. In the event that a patch or hotfix release is needed, release process is the same as outlined above.

nebari-dask is a meta package which contains specific versions of dask, dask-gateway and distributed.

Released at the same time as nebari with matching version numbers. Included in the release checklist linked above.

The nebari-docker-images repo contains the Dockerfiles for the JupyterHub, JupyterLab, and Dask-Gateway Kubernetes deployments. This repo also contains the workflow needed to build and push them the images to github.com/orgs/nebari-dev/packages and quay.io/organization/nebari.

These images are built and tagged with the same version number of the corresponding nebari release. Included in the release checklist linked above.