| Releasing a new version |
| ======================= |
| |
| Refer to the Phoenix release docs https://phoenix.apache.org/release.html for additinal information |
| |
| Pre-requisites |
| -------------- |
| |
| You need to be a Phoenix PMC to be able to upload the RC and final releases to dist.apache.org |
| |
| Make sure your gpg is set up, and that the default key is your code signing key. |
| See http://www.apache.org/dev/release-signing.html |
| |
| Make sure that your git remote ``origin`` points to either the main gitbox or the main github |
| phoenix-queryserver repo. |
| |
| Make sure that you have a PyPI account, and that you can publish to the |
| https://pypi.org/project/phoenixdb/ project. If not, then reach out to one of the maintainers listed there for permission. |
| |
| For instructions on the PyPi registration and publishing process, see |
| https://kynan.github.io/blog/2020/05/23/how-to-upload-your-package-to-the-python-package-index-pypi-test-server |
| |
| Prepare the RC |
| -------------- |
| |
| #. Make sure the dockerized tests described in README.rst run successfully |
| |
| #. Discuss release plans on dev@phoenix.a.o |
| |
| #. Open a ticket like https://issues.apache.org/jira/browse/PHOENIX-6529 |
| |
| #. Change the version number in ``setup.py`` and ``NEWS.rst``. |
| |
| #. Add the changes since the last release to ``NEWS.rst`` |
| |
| #. Make a PR form the changes get it reviewed, and commit it |
| |
| #. Run the dev_support/make_rc.sh script, and choose the option to tag the release:: |
| |
| cd python-phoenixdb |
| ./dev-support/make_rc.sh |
| |
| #. The distribution will be generated under the python-phoenixdb/release directory. Upload the directory to https://dist.apache.org/repos/dist/dev/phoenix/ with SVN:: |
| |
| cd workdir |
| svn co https://dist.apache.org/repos/dist/dev/phoenix --depth empty |
| cd phoenix |
| cp -r <build-dir>/python-phoenixdb/release/<release-dir> . |
| svn add <release-dir> |
| svn commit |
| |
| Voting |
| ------ |
| |
| #. Follow the Voting section in https://phoenix.apache.org/release.html |
| |
| You can use http://mail-archives.us.apache.org/mod_mbox/phoenix-dev/202108.mbox/%3CCAJ0%2BiOs2P8EQq_GEGwb%2BVyWur_HyvUGRgVvrD55Xh249QNUcNQ%40mail.gmail.com%3E |
| as an email template. |
| |
| Publishing |
| ---------- |
| |
| #. If the vote passes, upload the package to PyPI (using the instructions linked above, and some extra notes here) |
| * Make sure to run the ``python setup.py sdist bdist_wheel`` with python 2 and 3 as well. |
| * To verify it you should have two ``.whl`` files under ``dist/`` folder |
| * ``pip install --index-url https://test.pypi.org/simple/ phoenixdb`` might not work for python2 because the test repo tends to miss the older versions of dependencies required for Python2. |
| |
| #. Bump the package version to <major>.<minor>.<patch>.dev0 in ``setup.py``, and commit the change |
| |
| #. Follow the steps from the ``Release`` section in https://phoenix.apache.org/release.html , but skip the following steps: |
| * maven release |
| * new branch creation |
| * mvn version set |
| |
| Congratulations! |