We follow Semantic Versioning Specification 2.0.0.
In short, given a version number MAJOR.MINOR.PATCH, increment the:
- MAJOR version when you make incompatible API changes,
- MINOR version when you add functionality in a backwards compatible manner, and
- PATCH version when you make backwards compatible bug fixes.
Additional labels for pre-release and build metadata are available as extensions to the MAJOR.MINOR.PATCH format.
The release process is mostly automated via Github Actions, however a few manual steps are required:
- Edit
setup.py
version inmaster
branch (e.g."version": "1.0.0"
) - Edit
Dockerfile.ui_service
and editDockerfile
to setARG UI_VERSION="v7.7.7"
to the latest version ofmetaflow-ui
(if changed) - Create new tag from
master
branch (e.g.git tag v1.0.0
, note thev
-prefix) - Push tag to remote (e.g.
git push origin v1.0.0
) - Create a new release draft in releases
- Edit release draft
- Make sure current and previous version are correct
- Edit
Compatibility
section (Correct Netflix/metaflow-service release versions) - Edit/remove
Additional resources
section - Make sure release artifact is uploaded
- Publish release draft
GitHub Actions will automatically publish the docker image to netflixoss/metaflow_metadata_service