Maintain multiple ray versions

The original issue is here. https://ray-distributed.slack.com/archives/C01DLHZHRBJ/p1617946459104600

I move to discuss board to track it well.

There’s no very stable version now.

  1. When people comes to ray documentation, it points to master which is under active development.
  2. If tagged version doesn’t accept bug fixes, they are not stable as well.

One example is I tried to install a stable operator in 1.2.0 tag but notice it points to latest image.

My suggestion is to have some version management and make release more reliable in the future.

We can consider this way.

Release process

  1. Cut release branch like releases-1.2 for 1.2.x release and update manifests (image tag, etc)
  2. Setup test against release-1.2 branch make sure tests belong to branch pass.
  3. Cut 1.2.0 tag from releases-1.2 branch
  4. For bug fixes, pull request against master. Once it’s accepted, cherry-pick to releases-1.2 branch.
  5. Cut 1.2.1 tag from releases-1.2 branch.

Hey Jeff,

you are right, we should not use nightly here! Thanks for pointing that out. We actually have a tag latest, which always points to the latest officially released version of Ray (see the doc in Docker Hub). We use that in the non-k8s based autoscalers and should change the k8s operator to use that too. If a user wants to use a specific version of Ray I think it is reasonable to expect that they can set the tag to a fixed version.

We are not currently doing minor versions like 1.2.1.

As for the documentation, whether the docs should point to master or the latest release is an open question cc @rliaw You can always see the latest release by going to the link What is Ray? — Ray v1.2.0

Best,
Philipp.