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
{{ message }}
This repository was archived by the owner on Feb 22, 2020. It is now read-only.
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+33-7Lines changed: 33 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,10 +2,26 @@
2
2
3
3
🙇 Thanks for your interest in contributing! GNES always welcome the contribution from the open-source community, individual committers and other partners. Without you, GNES can't be successful.
4
4
5
-
Currently there are three major directions of contribution:
6
-
-**Porting state-of-the-art models to GNES**. This includes new preprocessing algorithms, new DNN networks for encoding, and new high-performance index. Believe me, it is super easy to wrap an algorithm and use it in GNES. Checkout this example.
7
-
-**Adding tutorial and learning experience**. What is good and what can be improved? If you apply GNES in your domain, whether it's about NLP or CV, whether it's a blog post or a Reddit/Twitter thread, we are always eager to hear your thoughts.
8
-
-**Completing the user experience of other programming languages**. GNES offers a generic interface with gRPC and protobuf, therefore it is easy to add an interface for other languages, e.g. Java, C, Go.
5
+
## ❤️ Making Your First Commit
6
+
7
+
The beginning is always the hardest. But fear not, even if you find a typo, a missing docstring or unit test, you can simply correct them by making a commit to GNES. Here are the steps:
8
+
9
+
1. Create a new branch, say `fix-gnes-typo-1`
10
+
2. Fix/improve the codebase
11
+
3. Commit the changes. Note the **commit message must follow [the naming style]((#commit-message-naming))**, say `fix(readme): improve the readability and move sections`
12
+
4. Make a pull request. Note the **commit message must follow [the naming style]((#commit-message-naming))**. It can simply be one of your commit messages, just copy paste it, e.g. `fix(readme): improve the readability and move sections`
13
+
5. Submit your pull request and wait for all checks passed (usually 10 minutes)
14
+
- Coding style
15
+
- Commit and PR styles check
16
+
- All unit tests
17
+
6. Request reviews from one of the developers from our core team.
18
+
7. Get a LGTM 👍 and PR gets merged.
19
+
20
+
Well done! Once a PR gets merged, here are the things happened next:
21
+
- all Docker images tagged with `-latest` will be automatically updated in an hour. You may check the [its building status at here](https://github.com/gnes-ai/gnes/#install-gnes-via-pip)
22
+
- on every Friday when a new release is published, PyPi packages and all Docker images tagged with `-stable` will be updated accordindly.
23
+
- your contribution and commits will be included in [our weekly release note](https://github.com/gnes-ai/gnes/blob/master/CHANGELOG.md). 🍻
24
+
9
25
10
26
## Table of Content
11
27
@@ -14,6 +30,7 @@ Currently there are three major directions of contribution:
14
30
*[Release Process](#release-process)
15
31
-[Major and minor version increments](#major-and-minor-version-increments)
16
32
*[Testing Locally](#testing-locally)
33
+
*[Interesting Points](#intersting-points)
17
34
18
35
## Commit Message Naming
19
36
@@ -60,19 +77,21 @@ After the merging is triggered, the build will be delivered to the followings:
60
77
-**Docker Hub**: `gnes:latest` will be updated.
61
78
-**Tencent Container Service**: `gnes:latest` will be updated.
62
79
-**ReadTheDoc**: `latest` will be updated.
80
+
-**Benchmark**: [speed test](https://github.com/gnes-ai/benchmark) will be updated.
63
81
64
82
Note that merging into master does not mean an official releasing. For the releasing process, please refer to the next section.
65
83
66
84
## Release Process
67
85
68
-
A new release is scheduled on every Friday (triggered and approved by Han Xiao) summarizing all new commits since the last release. The release will increment the third (revision) part of the version number, i.e. from `0.0.24` to `0.0.25`.
86
+
A new release is scheduled on every Friday (triggered and approved by [Han Xiao](https://github.com/hanxiao)) summarizing all new commits since the last release. The release will increment the third (revision) part of the version number, i.e. from `0.0.24` to `0.0.25`.
69
87
70
88
After a release is triggered, the build will be delivered to the followings:
71
89
72
90
-**Docker Hub**: a new image with the release version tag will be created, `gnes:latest` will be updated.
73
91
-**Tencent Container Service**: a new image with the release version tag will be created, `gnes:latest` will be updated.
74
92
-**PyPi Package**: a new version of Python package is uploaded to Pypi, allowing one to `pip install -U gnes`
75
-
-**ReadTheDoc**: a new version of the document will be built, `latest` will be updated and the old version will be achieved.
93
+
-**ReadTheDoc**: a new version of the document will be built, `latest` will be updated and the old version will be achieved
94
+
-**Benchmark**: [speed test](https://github.com/gnes-ai/benchmark) will be updated.
76
95
77
96
Meanwhile, a new pull request containing the updated [CHANGELOG](./CHANGELOG.md) and the new version number will be made automatically, pending for review and merge.
Currently there are three major directions of contribution:
130
+
-**Porting state-of-the-art models to GNES**. This includes new preprocessing algorithms, new DNN networks for encoding, and new high-performance index. Believe me, it is super easy to wrap an algorithm and use it in GNES. Checkout this example.
131
+
-**Adding tutorial and learning experience**. What is good and what can be improved? If you apply GNES in your domain, whether it's about NLP or CV, whether it's a blog post or a Reddit/Twitter thread, we are always eager to hear your thoughts.
132
+
-**Completing the user experience of other programming languages**. GNES offers a generic interface with gRPC and protobuf, therefore it is easy to add an interface for other languages, e.g. Java, C, Go.
Copy file name to clipboardExpand all lines: README.md
+26-26Lines changed: 26 additions & 26 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -145,12 +145,11 @@ Besides the `alpine` image optimized for the space, we also provide Buster (Debi
145
145
</tr>
146
146
</table>
147
147
148
-
We also provide a public mirror hosted on Tencent Cloud and [Github packages](https://github.com/gnes-ai/gnes/packages/). Select the mirror that serves you well.
148
+
> ⚠️ Since 2019/10/21, we have stopped hosting the public mirror Tencent Cloud. The old Docker images still exist, but there won't be new images available on Tencent Cloud anymore.
149
+
150
+
We also provide a public mirror [Github packages](https://github.com/gnes-ai/gnes/packages/). Select the mirror that serves you well.
149
151
150
152
```bash
151
-
docker login --username=xxx ccr.ccs.tencentyun.com # login to Tencent Cloud so that we can pull from it
152
-
docker run ccr.ccs.tencentyun.com/gnes/gnes:latest-alpine
153
-
# OR via Github package
154
153
docker login --username=xxx docker.pkg.github.com/gnes-ai/gnes # login to github package so that we can pull from it
155
154
docker run docker.pkg.github.com/gnes-ai/gnes/gnes:latest-alpine
156
155
```
@@ -167,10 +166,6 @@ The table below shows the status of the build pipeline.
*[Querying similar flowers](#querying-similar-flowers)
234
229
-[Elastic made easy](#elastic-made-easy)
@@ -239,7 +234,7 @@ Either way, if you end up reading the following message after `$ gnes` or `$ doc
239
234
240
235
### 🐣 Preliminaries
241
236
242
-
Before we start, let me first introduce two important concepts serving as the backbone of GNES: **microservice** and **workflow**.
237
+
Before we start, let me first introduce two important concepts in GNES: **microservice** and **workflow**.
243
238
244
239
#### Microservice
245
240
@@ -268,7 +263,7 @@ These three tasks correspond to three different **workflows** in GNES.
268
263
269
264
In this example, we will use the new `gnes.flow` API (`gnes >= 0.0.46` is required) to build a toy image search system for indexing and retrieving [flowers](http://www.robots.ox.ac.uk/~vgg/data/flowers/17/) based on their similarities.
270
265
271
-
#### Define the indexing workflow:
266
+
#### Define the indexing workflow
272
267
273
268
Let's first define the indexing workflow by:
274
269
@@ -466,20 +461,25 @@ We have setup [this repository](https://github.com/gnes-ai/benchmark) to track t
466
461
467
462
<h2 align="center">Contributing</h2>
468
463
469
-
Thanks for your interest in contributing! GNES always welcome the contribution from the open-source community, individual committers and other partners. Without you, GNES can't be successful.
470
-
471
-
Currently there are three major directions of contribution:
472
-
- **Porting state-of-the-art models to GNES**. This includes new preprocessing algorithms, new DNN networks for encoding, and new high-performance index. Believe me, it is super easy to wrap an algorithm and use it in GNES. Checkout this example.
473
-
- **Adding tutorial and learning experience**. What is good and what can be improved? If you apply GNES in your domain, whether it's about NLP or CV, whether it's a blog post or a Reddit/Twitter thread, we are always eager to hear your thoughts.
474
-
- **Completing the user experience of other programming languages**. GNES offers a generic interface with gRPC and protobuf, therefore it is easy to add an interface for other languages, e.g. Java, C, Go.
475
-
476
-
Make sure to read the contributor guidelines before your first commit.
477
-
478
-
- [Contributor guidelines](./CONTRIBUTING.md)
479
-
- [Open issues](/issues)
480
-
- [Release notes](./CHANGELOG.md)
481
-
482
-
For contributors looking to get deeper into the API we suggest cloning the repository and checking out the unit tests for examples of how to call methods.
464
+
❤️ The beginning is always the hardest. But fear not, even if you find a typo, a missing docstring or unit test, you can simply correct them by making a commit to GNES. Here are the steps:
465
+
466
+
1. Create a new branch, say `fix-gnes-typo-1`
467
+
2. Fix/improve the codebase
468
+
3. Commit the changes. Note the **commit message must follow [the naming style]((#commit-message-naming))**, say `fix(readme): improve the readability and move sections`
469
+
4. Make a pull request. Note the **pull request must follow [the naming style]((#commit-message-naming))**. It can simply be one of your commit messages, just copy paste it, e.g. `fix(readme): improve the readability and move sections`
470
+
5. Submit your pull request and wait for all checks passed (usually 10 minutes)
471
+
- Coding style
472
+
- Commit and PR styles check
473
+
- All unit tests
474
+
6. Request reviews from one of the developers from our core team.
475
+
7. Get a LGTM 👍 and PR gets merged.
476
+
477
+
Well done! Once a PR gets merged, here are the things happened next:
478
+
- all Docker images tagged with `-latest` will be automatically updated in an hour. You may check the [its building status at here](https://github.com/gnes-ai/gnes/#install-gnes-via-pip)
479
+
- on every Friday when a new release is published, PyPi packages and all Docker images tagged with `-stable` will be updated accordindly.
480
+
- your contribution and commits will be included in [our weekly release note](https://github.com/gnes-ai/gnes/blob/master/CHANGELOG.md). 🍻
481
+
482
+
More details can be found in the [contributor guidelines](./CONTRIBUTING.md).
0 commit comments