summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPratyush Shukla <ps4534@nyu.edu>2024-03-12 18:36:59 +0530
committerGitHub <noreply@github.com>2024-03-12 13:06:59 +0000
commitafd0708dcc20c9eb0269f981887d6280b3d0f317 (patch)
tree39b857ab887188ef4053c19fc7fa50ade29811f8
parentcc7908fe54095d1139f01a991b289f8f688a590e (diff)
[Bugfix] Update `PUBLISH.md` file (#6193)
* publish doc updated * add info
-rw-r--r--build/pypi/openbb_platform/PUBLISH.md37
1 files changed, 25 insertions, 12 deletions
diff --git a/build/pypi/openbb_platform/PUBLISH.md b/build/pypi/openbb_platform/PUBLISH.md
index e844cd1b0fc..27ce8e77951 100644
--- a/build/pypi/openbb_platform/PUBLISH.md
+++ b/build/pypi/openbb_platform/PUBLISH.md
@@ -1,16 +1,26 @@
# Publishing to PyPI
-Publishing checklist:
+## Pre-release procedure
-> Note: you need to have the appropriate credentials and permissions to publish to PyPI
+> Note: Ensure you have the appropriate credentials and permissions to publish to PyPI.
-1. Ensure all unit tests pass: `pytest openbb_platform -m "not integration"`
-2. Ensure all integration tests pass: `pytest openbb_platform -m integration`
-3. Run `python -c "import openbb; openbb.build()"` to build the static assets. Make sure that only required extensions are installed.
+1. Open a PR with the changes to be published in the format `release/<version>` (e.g. `release/4.0.0`).
+2. Ensure all the CI workflows pass.
+3. Ensure all unit tests pass: `pytest openbb_platform -m "not integration"`
+4. Ensure all integration tests pass: `pytest openbb_platform -m integration`
+5. Run `python -c "import openbb; openbb.build()"` to build the static assets. Make sure that only required extensions are installed.
> **Note** Run `python -c "import openbb"` after building the static to check that no additional static is being built.
-4. Run the following commands for publishing the packages to PyPI:
+6. Finally, check if everything works:
+
+ 1. Install the packages locally using `python openbb_platform/dev_install.py` command and test them in a new environment.
+ 2. Check if all the `pyproject.toml` files are correct, including the `openbb_platform` one.
+ 3. Double check if there is any new extension or provider that needs to be added to [integration tests GitHub Action workflow](/.github/workflows/platform-api-integration-test.yml).
+
+## Release procedure
+
+1. Run the following commands for publishing the packages to PyPI:
Consider using the `--dry-run` flag to check if everything is correct before publishing.
Also, it might be a good idea to run the script in batches to ensure that the packages are published correctly and the dependencies pick the correct versions.
@@ -29,11 +39,14 @@ Publishing checklist:
>
> Also, sometimes there might be some delay in the PyPI API, so it might be necessary to wait a few minutes before publishing the next package.
-5. Update poetry files: `python build/pypi/openbb_platform/poetry_update.py`
-6. Open a PR so that changes are reflected on the main branch
+2. Update poetry files: `python build/pypi/openbb_platform/poetry_update.py`
+3. Merge the `release/<version>` branch to the `main` branch.
+4. Check the `Deploy to GitHub Pages` GitHub action is completed successfully. Go to the [docs](https://docs.openbb.co) website to see the changes.
-Finally, check if everything works:
+## Post-release procedure
-1. Install and test the package from Pypi on a clean environment.
-2. Check if all the `pyproject.toml` files are correct, including the `openbb_platform` one.
-3. Double check if there is any new extension or provider that needs to be added to [integration tests GitHub Action workflow](/.github/workflows/platform-api-integration-test.yml).
+1. Install the packages on Google Colaboratory via PyPi and test to check if everything is working as expected.
+2. Install the packages in a new environment locally via PyPi and test to check if everything is working as expected.
+3. Open a new PR with the `release/<version>` branch pointing to the `develop` branch.
+4. Merge the `release/<version>` branch to the `develop` branch.
+5. If any bugs are encountered, create a new branch - `hotfix` for `main` and `bugfix` for `develop` and merge them accordingly. \ No newline at end of file