In order to cut a release, you only need to run the scripts/release.sh
script.
Ensure you have poetry installed and available in your path.
scripts/release.sh <version> <package>
Example:
./scripts/release.sh 1.0.0 ragstack-ai-langchain
Note that after a release, all the dependant libraries must be updated to the new version and released as well.
Example:
./scripts/release.sh 1.0.0 ragstack-ai-langchain
After the release is completed and the PyPI package is available, you need to release ragstack-ai
as well.
- Change the
pyproject.toml
dependencies to the new version. - Open a PR with the changes.
- Once merged, run the release command for
ragstack-ai
:./scripts/release.sh 1.0.0 ragstack-ai
Example:
./scripts/release.sh 1.0.0 ragstack-ai-colbert
Since both ragstack-ai-langchain
and ragstack-ai-llamaindex
depends on ragstack-ai-colbert
, you need to release them as well.
- Await the new package is available on PyPI.
- Change the
libs/llamaindex/pyproject.toml
andlibs/langchain/pyproject.toml
dependencies forragstack-ai-colbert
to the new version. - Open a PR with the changes.
- Once merged, run the release command for them:
./scripts/release.sh 1.0.0 ragstack-ai-langchain ./scripts/release.sh 1.0.0 ragstack-ai-llamaindex
After the releases are completed and the PyPI package is available, you need to release ragstack-ai
as well.
- Change the
pyproject.toml
dependencies to the new version. - Open a PR with the changes.
- Once merged, run the release command for
ragstack-ai
:./scripts/release.sh 1.0.0 ragstack-ai
After the one of the above releases is completed, generate the changelog using the following command:
Example for ragstack-ai-langchain
:
python3 scripts/generate-changelog.py 1.0.1 ragstack-ai-langchain
Then prepend the script output to the changelog doc page.