This is an automated email from the ASF dual-hosted git repository.

xyz pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/pulsar-client-python.git


The following commit(s) were added to refs/heads/main by this push:
     new 1a2fb07  [docs] Fix the incorrect API docs generation steps in the 
release process (#131)
1a2fb07 is described below

commit 1a2fb076ea2a00afce27a076bad5a8a655bd3bd3
Author: Yunze Xu <[email protected]>
AuthorDate: Mon Jun 12 10:08:12 2023 +0800

    [docs] Fix the incorrect API docs generation steps in the release process 
(#131)
    
    ### Motivation
    
    https://github.com/apache/pulsar-client-python/pull/126 adds the
    instruction to include the `_pulsar` C module when generating the API
    docs. However, it does not work when the library is installed from
    `pip`. It only works when the wheel is installed from `dist/*.whl` that
    is generated by the `python3 setup.py bdist_wheel` command in the
    README.
    
    The reason is the official Python wheel uses `auditwheel` to package all
    dynamic libraries, so the `_pulsar.so` depends on another dynamic
    library in the relative path. e.g.
    
    ```bash
    $ ldd 
~/.local/lib/python3.8/site-packages/_pulsar.cpython-38-x86_64-linux-gnu.so
            libpulsar-b6dad138.so => 
/home/xyz/.local/lib/python3.8/site-packages/pulsar_client.libs/libpulsar-b6dad138.so
 (0x00007f8dc09b3000)
            ...
    ```
    
    If we copy the `_pulsar.cpython-38-x86_64-linux-gnu.so` into the project
    directory, the `libpulsar-b6dad138.so` will not be found.
    
    ### Modifications
    
    In `RELEASE.md`, specify the path of `_pulsar.so` directly.
---
 RELEASE.md | 28 ++++++++++++++++++----------
 1 file changed, 18 insertions(+), 10 deletions(-)

diff --git a/RELEASE.md b/RELEASE.md
index f323414..e9f9ea9 100644
--- a/RELEASE.md
+++ b/RELEASE.md
@@ -219,29 +219,37 @@ Then, create a PR in 
[`pulsar-site`](https://github.com/apache/pulsar-site) repo
 For minor releases, skip this section. For major releases, you should generate 
the HTML files into the [`pulsar-site`](https://github.com/apache/pulsar-site) 
repo:
 
 ```bash
+# Use the first two version numbers, e.g. export VERSION=3.2
+VERSION=X.Y
+
+# You need to install the wheel to have the _pulsar.so installed
+# It's better to run the following commands in an empty directory
+python3 -m pip install pulsar-client==$VERSION.0 --force-reinstall
+C_MODULE_PATH=$(python3 -c 'import _pulsar, os; print(_pulsar.__file__)')
+
 git clone [email protected]:apache/pulsar-client-python.git
 cd pulsar-client-python
-git checkout vX.Y.0
-# It's better to replace this URL with the URL of your own fork
+git checkout v$VERSION.0
+# You can skip this step if you already have the `pulsar-site` repository in 
your local env.
+# In this case, you only need to modify the `--html-output` parameter in the 
following command.
 git clone [email protected]:apache/pulsar-site.git
 sudo python3 -m pip install pydoctor
-cp $(python3 -c 'import _pulsar, os; print(_pulsar.__file__)') ./_pulsar.so
 pydoctor --make-html \
-  
--html-viewsource-base=https://github.com/apache/pulsar-client-python/tree/vX.Y.0
 \
+  
--html-viewsource-base=https://github.com/apache/pulsar-client-python/tree/v$VERSION.0
 \
   --docformat=numpy --theme=readthedocs \
   --intersphinx=https://docs.python.org/3/objects.inv \
-  --html-output=./pulsar-site/site2/website-next/static/api/python/X.Y.x \
+  --html-output=./pulsar-site/static/api/python/$VERSION.x \
   --introspect-c-modules \
-  ./_pulsar.so \
+  $C_MODULE_PATH \
   pulsar
 cd pulsar-site
-git checkout -b py-docs-X.Y
+git checkout -b py-docs-$VERSION
 git add .
-git commit -m "Generate Python client X.Y.0 doc"
-git push origin py-docs-X.Y
+git commit -m "Generate Python client $VERSION.0 doc"
+git push origin py-docs-$VERSION
 ```
 
-Then open a PR like: https://github.com/apache/pulsar-site/pull/342
+Then open a PR like: https://github.com/apache/pulsar-site/pull/600
 
 ## Announce the release
 

Reply via email to