You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
-57Lines changed: 0 additions & 57 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -61,60 +61,3 @@ The DB can be used without the AI proxy for more fine grained control of the gen
61
61
### Contributing
62
62
63
63
View [contribution guide](CONTRIBUTING.md)
64
-
65
-
### Version Format
66
-
67
-
`<TYPE>/<NAME>/<VERSION_NUMBER>`
68
-
69
-
Where:
70
-
- TYPE: Bin, Client,
71
-
- NAME: AI, DB, PY, RS
72
-
- VERSION_NUMBER: Semver
73
-
74
-
75
-
### How Deployments and Releases Work
76
-
77
-
Ahnlich maintains two separate versioning systems: **Protocol Versions** and **Client Versions**. Understanding how these interact is key to managing releases across binaries, libraries, and Docker images.
78
-
79
-
#### Protocol and Client Versioning
80
-
- The **Protocol Version** represents changes to the underlying communication standard between different Ahnlich components. Major bump to this version can introduce breaking changes, meaning requests made by outdated clients will be rejected.
81
-
- The **Client Version** tracks updates to the client libraries. These are versioned separately but are often synchronized with protocol updates to ensure compatibility.
82
-
83
-
##### Bumping Protocol Versions
84
-
- To bump both the Protocol and Client versions simultaneously, use the following command:
85
-
```bash
86
-
make bump-protocol-version BUMP_RULE=[major, minor, patch]
87
-
```
88
-
This will trigger deployments for all relevant binaries (like AI, CLI, and DB) as well as client libraries.
89
-
- Major changes to the Protocol Version may involve breaking changes, so ahnlich AI or DB rejects a connection when the major version don't match.
90
-
91
-
##### Bumping Individual Package/Crate Versions
92
-
- The Makefile contains additional commands for selectively bumping versions of crate or lib within the workspace.
93
-
94
-
#### Releasing New Binaries (AI, CLI, DB), Images and Client Libs
95
-
When deploying new binaries, the updated versions are pushed to their respective Artifactory repositories. The workflow is as follows:
96
-
97
-
##### Binaries and Docker Images
98
-
1.**Bump the Protocol Version**: Use the appropriate Makefile commands to bump versions for AI, CLI, or DB binaries or client Libs.
99
-
100
-
2. Submit a PR to main
101
-
3. Once merged, Create a tag using the the ahnlich tag format
102
-
4. Create a Release from tag which triggers building of binaries and docker images
103
-
104
-
##### Client Libraries (Example Python)
105
-
106
-
- Update the `MSG_TAG` file with a new tag message.
107
-
- From a feature branch, bump the version using:
108
-
```bash
109
-
make bump-py-client BUMP_RULE=[major, minor, patch]
110
-
```
111
-
or
112
-
```bash
113
-
poetry run bumpversion [major, minor, patch]
114
-
```
115
-
- Open a PR to Main
116
-
- Once merged, this automatically creates a tags if a change to the version file is detected and deploys the lib to it's artifactory.
[](https://github.com/deven96/ahnlich/actions/workflows/rust_tag_and_deploy.yml)
Copy file name to clipboardExpand all lines: docs/libgen.md
+53Lines changed: 53 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -22,3 +22,56 @@ Available languages are:
22
22
In order to communicate effectively with the ahnlich db, you would have to extend the bincode serialization protocol automatically provided by `serde_generate`.
23
23
Your message(in bytes) should be serialized and deserialized in the following format => `AHNLICH_HEADERS` + `VERSION` + `QUERY/SERVER_RESPONSE`. Bytes are `Little Endian`.
24
24
25
+
### Version Format
26
+
27
+
`<TYPE>/<NAME>/<VERSION_NUMBER>`
28
+
29
+
Where:
30
+
- TYPE: Bin, Client,
31
+
- NAME: AI, DB, PY, RS
32
+
- VERSION_NUMBER: Semver
33
+
34
+
35
+
### How Deployments and Releases Work
36
+
37
+
Ahnlich maintains two separate versioning systems: **Protocol Versions** and **Client Versions**. Understanding how these interact is key to managing releases across binaries, libraries, and Docker images.
38
+
39
+
#### Protocol and Client Versioning
40
+
- The **Protocol Version** represents changes to the underlying communication standard between different Ahnlich components. Major bump to this version can introduce breaking changes, meaning requests made by outdated clients will be rejected.
41
+
- The **Client Version** tracks updates to the client libraries. These are versioned separately but are often synchronized with protocol updates to ensure compatibility.
42
+
43
+
##### Bumping Protocol Versions
44
+
- To bump both the Protocol and Client versions simultaneously, use the following command:
45
+
```bash
46
+
make bump-protocol-version BUMP_RULE=[major, minor, patch]
47
+
```
48
+
This will trigger deployments for all relevant binaries (like AI, CLI, and DB) as well as client libraries.
49
+
- Major changes to the Protocol Version may involve breaking changes, so ahnlich AI or DB rejects a connection when the major version don't match.
50
+
51
+
##### Bumping Individual Package/Crate Versions
52
+
- The Makefile contains additional commands for selectively bumping versions of crate or lib within the workspace.
53
+
54
+
#### Releasing New Binaries (AI, CLI, DB), Images and Client Libs
55
+
When deploying new binaries, the updated versions are pushed to their respective Artifactory repositories. The workflow is as follows:
56
+
57
+
##### Binaries and Docker Images
58
+
1.**Bump the Protocol Version**: Use the appropriate Makefile commands to bump versions for AI, CLI, or DB binaries or client Libs.
59
+
60
+
2. Submit a PR to main
61
+
3. Once merged, Create a tag using the the ahnlich tag format
62
+
4. Create a Release from tag which triggers building of binaries and docker images
63
+
64
+
##### Client Libraries (Example Python)
65
+
66
+
- Update the `MSG_TAG` file with a new tag message.
67
+
- From a feature branch, bump the version using:
68
+
```bash
69
+
make bump-py-client BUMP_RULE=[major, minor, patch]
70
+
```
71
+
or
72
+
```bash
73
+
poetry run bumpversion [major, minor, patch]
74
+
```
75
+
- Open a PR to Main
76
+
- Once merged, this automatically creates a tags if a change to the version file is detected and deploys the lib to it's artifactory.
0 commit comments