Skip to content

Commit f1f0961

Browse files
authored
improve release instructions (#414)
1 parent 5d7f479 commit f1f0961

File tree

1 file changed

+57
-6
lines changed

1 file changed

+57
-6
lines changed

RELEASE.md

Lines changed: 57 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,69 @@
11
# RAGStack releases
22

3-
In order to cut a RAGStack release, you only need to run the `scripts/release.sh` script.
3+
4+
## Release a subpackage
5+
In order to cut a release, you only need to run the `scripts/release.sh` script.
46
Ensure you have poetry installed and available in your path.
57

68
```bash
7-
scripts/release.sh 0.3.0
9+
scripts/release.sh <version> <package>
10+
```
11+
12+
Example:
13+
```bash
14+
./scripts/release.sh 1.0.0 ragstack-ai-langchain
15+
```
16+
17+
Note that after a release, all the dependant libraries must be updated to the new version and released as well.
18+
19+
### Releasing `ragstack-ai-langchain` or `ragstack-ai-llamaindex`
20+
21+
Example:
22+
```bash
23+
./scripts/release.sh 1.0.0 ragstack-ai-langchain
824
```
925

26+
After the release is completed and the PyPI package is available, you need to release `ragstack-ai` as well.
27+
1. Change the `pyproject.toml` dependencies to the new version.
28+
2. Open a PR with the changes.
29+
3. Once merged, run the release command for `ragstack-ai`:
30+
```bash
31+
./scripts/release.sh 1.0.0 ragstack-ai
32+
```
33+
34+
35+
### Releasing `ragstack-ai-colbert`
36+
37+
Example:
38+
```bash
39+
./scripts/release.sh 1.0.0 ragstack-ai-colbert
40+
```
41+
42+
Since both `ragstack-ai-langchain` and `ragstack-ai-llamaindex` depends on `ragstack-ai-colbert`, you need to release them as well.
43+
1. Await the new package is available on PyPI.
44+
2. Change the `libs/llamaindex/pyproject.toml` and `libs/langchain/pyproject.toml` dependencies for `ragstack-ai-colbert` to the new version.
45+
3. Open a PR with the changes.
46+
4. Once merged, run the release command for them:
47+
```bash
48+
./scripts/release.sh 1.0.0 ragstack-ai-langchain
49+
./scripts/release.sh 1.0.0 ragstack-ai-llamaindex
50+
```
51+
52+
After the releases are completed and the PyPI package is available, you need to release `ragstack-ai` as well.
53+
1. Change the `pyproject.toml` dependencies to the new version.
54+
2. Open a PR with the changes.
55+
3. Once merged, run the release command for `ragstack-ai`:
56+
```bash
57+
./scripts/release.sh 1.0.0 ragstack-ai
58+
```
59+
60+
1061
## Release notes
11-
After the release is completed, generate the changelog using the following command:
62+
After the one of the above releases is completed, generate the changelog using the following command:
1263

64+
Example for `ragstack-ai-langchain`:
1365
```bash
14-
python3 scripts/generate-changelog.py 0.3.0
66+
python3 scripts/generate-changelog.py 1.0.1 ragstack-ai-langchain
1567
```
1668

17-
Then prepend the script output to the [changelog doc page](https://github.com/datastax/ragstack-ai/blob/main/docs/modules/ROOT/pages/changelog.adoc).
18-
Also, update the API Reference list in the [nav page](https://github.com/datastax/ragstack-ai/blob/main/docs/modules/ROOT/nav.adoc).
69+
Then prepend the script output to the [changelog doc page](https://github.com/datastax/ragstack-ai/blob/main/docs/modules/ROOT/pages/changelog.adoc).

0 commit comments

Comments
 (0)