-
Notifications
You must be signed in to change notification settings - Fork 17
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(go): bootstrap go ingestion client #1102
Closed
Closed
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
✔️ Code generated!
|
✅ Deploy Preview for api-clients-automation ready!
To edit notification comments on pull requests, go to your Netlify site settings. |
aa28692
to
29f247c
Compare
98e6ec5
to
fbec6ec
Compare
4036310
to
9a0ea0f
Compare
1935d4b
to
bbd5f47
Compare
5845069
to
e5b5230
Compare
This reverts commit fe1b608.
bbd5f47
to
14d00c6
Compare
mehmetaligok
added a commit
that referenced
this pull request
Mar 28, 2023
## 🧭 What and Why 🎟 JIRA Ticket: https://algolia.atlassian.net/browse/APIC-656 Go API client generation initial setup to prepare the groundwork is implemented. It is heavily inspired by #1102. As decided in the RFC Go 1.19 is set as the version to go for now. ### Changes included: - CI pipeline updated to not break current flows. - Dockerfile updated to support go. - Client configs are created according to https://github.com/algolia/algoliasearch-client-go. - Go code generator implemented in `generators/src/main/java/com/algolia/codegen/AlgoliaGoGenerator.java` to follow a similar folder/packaging as the original client. - Basic playground setup for ingestion client is created. - Initial Go templates are created. It is mostly copied from #1102 and some parts are altered to cover other cases. Most of the creation problems are fixed but still, there are some problems to be handled in the future. Since it is already far from ready. It is not logical to block groundwork development for now. ### Future Steps: - Go mustache templates still need more improvements. - Optional body parameters are not properly handled yet. In some cases, code generation is not working as expected. - All the [client requirements](https://api-clients-automation.netlify.app/docs/contributing/add-new-language/#algolia-requirements) should be implemented in the generated code. - CTS development should be done. - The release pipeline for the generated code should be set to create automated releases on the API client. - (Nice to Have) fix docker container PATH to recognize go with yarn commands. - Somehow [`run`](https://github.com/algolia/api-clients-automation/blob/main/scripts/common.ts#L78) function PATH was not capturing the PATH updates that I made in Dockerfile. I have tried different approaches but couldn't resolve it properly. ## 🧪 Test A small playground example was added. Initial linting with the generated code is fine except for some cases mentioned on `Future Steps`.
No longer relevant |
mehmetaligok
added a commit
to algolia/algoliasearch-client-go
that referenced
this pull request
May 3, 2023
## 🧭 What and Why 🎟 JIRA Ticket: https://algolia.atlassian.net/browse/APIC-656 Go API client generation initial setup to prepare the groundwork is implemented. It is heavily inspired by algolia/api-clients-automation#1102. As decided in the RFC Go 1.19 is set as the version to go for now. ### Changes included: - CI pipeline updated to not break current flows. - Dockerfile updated to support go. - Client configs are created according to https://github.com/algolia/algoliasearch-client-go. - Go code generator implemented in `generators/src/main/java/com/algolia/codegen/AlgoliaGoGenerator.java` to follow a similar folder/packaging as the original client. - Basic playground setup for ingestion client is created. - Initial Go templates are created. It is mostly copied from algolia/api-clients-automation#1102 and some parts are altered to cover other cases. Most of the creation problems are fixed but still, there are some problems to be handled in the future. Since it is already far from ready. It is not logical to block groundwork development for now. ### Future Steps: - Go mustache templates still need more improvements. - Optional body parameters are not properly handled yet. In some cases, code generation is not working as expected. - All the [client requirements](https://api-clients-automation.netlify.app/docs/contributing/add-new-language/#algolia-requirements) should be implemented in the generated code. - CTS development should be done. - The release pipeline for the generated code should be set to create automated releases on the API client. - (Nice to Have) fix docker container PATH to recognize go with yarn commands. - Somehow [`run`](https://github.com/algolia/api-clients-automation/blob/main/scripts/common.ts#L78) function PATH was not capturing the PATH updates that I made in Dockerfile. I have tried different approaches but couldn't resolve it properly. ## 🧪 Test A small playground example was added. Initial linting with the generated code is fine except for some cases mentioned on `Future Steps`.
shortcuts
pushed a commit
to algolia/algoliasearch-client-python
that referenced
this pull request
Nov 24, 2023
## 🧭 What and Why 🎟 JIRA Ticket: https://algolia.atlassian.net/browse/APIC-656 Go API client generation initial setup to prepare the groundwork is implemented. It is heavily inspired by algolia/api-clients-automation#1102. As decided in the RFC Go 1.19 is set as the version to go for now. ### Changes included: - CI pipeline updated to not break current flows. - Dockerfile updated to support go. - Client configs are created according to https://github.com/algolia/algoliasearch-client-go. - Go code generator implemented in `generators/src/main/java/com/algolia/codegen/AlgoliaGoGenerator.java` to follow a similar folder/packaging as the original client. - Basic playground setup for ingestion client is created. - Initial Go templates are created. It is mostly copied from algolia/api-clients-automation#1102 and some parts are altered to cover other cases. Most of the creation problems are fixed but still, there are some problems to be handled in the future. Since it is already far from ready. It is not logical to block groundwork development for now. ### Future Steps: - Go mustache templates still need more improvements. - Optional body parameters are not properly handled yet. In some cases, code generation is not working as expected. - All the [client requirements](https://api-clients-automation.netlify.app/docs/contributing/add-new-language/#algolia-requirements) should be implemented in the generated code. - CTS development should be done. - The release pipeline for the generated code should be set to create automated releases on the API client. - (Nice to Have) fix docker container PATH to recognize go with yarn commands. - Somehow [`run`](https://github.com/algolia/api-clients-automation/blob/main/scripts/common.ts#L78) function PATH was not capturing the PATH updates that I made in Dockerfile. I have tried different approaches but couldn't resolve it properly. ## 🧪 Test A small playground example was added. Initial linting with the generated code is fine except for some cases mentioned on `Future Steps`.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
🧭 What and Why
Bootstrap the GO api client generation, with the ingestion API as a first test.
This is very basic for now, but it works good enough for the ingestion API, it's not ready for the other Algolia API yet.
There is no CI support for now, maybe in the next PR.
The go client is compatible with golang
1.13
, like the currentalgoliasearch-client-go
package.Changes included:
go-ingestion
client🧪 Test
The CTS is being made in #1115.
You can try the playground by running
yarn docker playground go ingestion
.