mirror of
https://github.com/wassname/ray.git
synced 2026-08-11 11:24:51 +08:00
Update release documentation. (#3587)
* Update release instructions. * Add note about wheels. * Fix * Update * update example * Update RELEASE_PROCESS.rst
This commit is contained in:
committed by
Philipp Moritz
parent
3d8f56409b
commit
1e8cdb5421
+30
-17
@@ -3,23 +3,34 @@ Release Process
|
||||
|
||||
This document describes the process for creating new releases.
|
||||
|
||||
1. **Testing:** Before a release is created, significant testing should be done.
|
||||
In particular, our continuous integration currently does not include
|
||||
sufficient coverage for testing at scale and for testing fault tolerance, so
|
||||
it is important to run tests on clusters of hundreds of machines and to make
|
||||
sure that the tests complete when some machines are killed.
|
||||
1. First, you should build wheels that you'd like to use for testing. That can
|
||||
be done by following the `documentation for building wheels`_.
|
||||
|
||||
2. **Libraries:** Make sure that the libraries (e.g., RLlib, Tune) are in a
|
||||
releasable state.
|
||||
2. **Testing:** Before a release is created, significant testing should be done.
|
||||
Run the script `test/stress_tests/run_stress_tests.sh`_ and make sure it
|
||||
passes. *And make sure it is testing the right version of Ray!* This will use
|
||||
the autoscaler to start a bunch of machines and run some tests. Any new
|
||||
stress tests should be added to this script so that they will be run
|
||||
automatically for future release testing.
|
||||
|
||||
3. **Increment the Python version:** Create a PR that increments the Python
|
||||
3. **Libraries:** Make sure that the libraries (e.g., RLlib, Tune, SGD) are in a
|
||||
releasable state. TODO(rkn): These libraries should be tested automatically
|
||||
by the script above, but they aren't yet.
|
||||
|
||||
4. **Increment the Python version:** Create a PR that increments the Python
|
||||
package version. See `this example`_.
|
||||
|
||||
4. **Create a GitHub release:** Create a GitHub release through the `GitHub
|
||||
5. **Create a GitHub release:** Create a GitHub release through the `GitHub
|
||||
website`_. The release should be created at the commit from the previous
|
||||
step. This should include release notes.
|
||||
step. This should include **release notes**. Copy the style and formatting
|
||||
used by previous releases.
|
||||
|
||||
5. **Upload to PyPI Test:** Upload the wheels to the PyPI test site using
|
||||
6. **Python wheels:** The Python wheels will automatically be built on Travis
|
||||
and uploaded to the ``ray-wheels`` S3 bucket. Download these wheels (e.g.,
|
||||
using ``wget``) and install them with ``pip`` and run some simple Ray scripts
|
||||
to verify that they work.
|
||||
|
||||
7. **Upload to PyPI Test:** Upload the wheels to the PyPI test site using
|
||||
``twine`` (ask Robert to add you as a maintainer to the PyPI project). You'll
|
||||
need to run a command like
|
||||
|
||||
@@ -27,9 +38,9 @@ This document describes the process for creating new releases.
|
||||
|
||||
twine upload --repository-url https://test.pypi.org/legacy/ ray/.whl/*
|
||||
|
||||
assuming that you've built all of the wheels and put them in ``ray/.whl``
|
||||
(note that you can also get them from the "ray-wheels" S3 bucket),
|
||||
that you've installed ``twine``, and that you've made PyPI accounts.
|
||||
assuming that you've downloaded the wheels from the ``ray-wheels`` S3 bucket
|
||||
and put them in ``ray/.whl``, that you've installed ``twine`` through
|
||||
``pip``, and that you've made PyPI accounts.
|
||||
|
||||
Test that you can install the wheels with pip from the PyPI test repository
|
||||
with
|
||||
@@ -43,9 +54,9 @@ This document describes the process for creating new releases.
|
||||
installed by checking ``ray.__version__`` and ``ray.__file__``.
|
||||
|
||||
Do this at least for MacOS and for Linux, as well as for Python 2 and Python
|
||||
3.
|
||||
3. Also do this for different versions of MacOS.
|
||||
|
||||
6. **Upload to PyPI:** Now that you've tested the wheels on the PyPI test
|
||||
8. **Upload to PyPI:** Now that you've tested the wheels on the PyPI test
|
||||
repository, they can be uploaded to the main PyPI repository. Be careful,
|
||||
**it will not be possible to modify wheels once you upload them**, so any
|
||||
mistake will require a new release. You can upload the wheels with a command
|
||||
@@ -64,5 +75,7 @@ This document describes the process for creating new releases.
|
||||
finds the correct Ray version, and successfully runs some simple scripts on
|
||||
both MacOS and Linux as well as Python 2 and Python 3.
|
||||
|
||||
.. _`this example`: https://github.com/ray-project/ray/pull/1745
|
||||
.. _`documentation for building wheels`: https://github.com/ray-project/ray/blob/master/python/README-building-wheels.md
|
||||
.. _`test/stress_tests/run_stress_tests.sh`: https://github.com/ray-project/ray/blob/master/test/stress_tests/run_stress_tests.sh
|
||||
.. _`this example`: https://github.com/ray-project/ray/pull/3420
|
||||
.. _`GitHub website`: https://github.com/ray-project/ray/releases
|
||||
|
||||
Reference in New Issue
Block a user