[#68] Ensure compatibility of different API versions with each other. #69

Merged
realloc merged 2 commits from orikik/frostfs-api:feature/compatibility into feature/compatibility 2024-11-20 15:43:54 +00:00
Member

Ensure compatibility of different API versions with each other.
Remove unnecessary language options.
Update linters.
Signed-off-by: Ori Bruk o.bruk@yadro.com

Ensure compatibility of different API versions with each other. Remove unnecessary language options. Update linters. Signed-off-by: Ori Bruk <o.bruk@yadro.com>
orikik added 1 commit 2024-10-08 14:37:38 +00:00
[#68] Ensure compatibility of different API versions with each other.
Some checks failed
Formatters / Run fmt (pull_request) Successful in 33s
DCO action / DCO (pull_request) Successful in 1m0s
Pre-commit hooks / Pre-commit (pull_request) Failing after 1m1s
527fe93e5d
Remove unnecessary language options.
Update linters.
Signed-off-by: Ori Bruk <o.bruk@yadro.com>
orikik requested review from realloc 2024-10-08 14:38:47 +00:00
orikik requested review from fyrchik 2024-10-08 14:38:47 +00:00
orikik requested review from pogpp 2024-10-08 14:38:48 +00:00
orikik requested review from PavelGrossSpb 2024-10-08 14:38:48 +00:00
orikik requested review from alexvanin 2024-10-08 14:38:53 +00:00
orikik requested review from dstepanov-yadro 2024-10-08 14:39:02 +00:00
orikik added 1 commit 2024-10-08 14:42:07 +00:00
[#68] Fix version linter.
Some checks failed
Formatters / Run fmt (pull_request) Successful in 24s
DCO action / DCO (pull_request) Successful in 1m0s
Pre-commit hooks / Pre-commit (pull_request) Failing after 1m1s
55328eca63
Signed-off-by: Ori Bruk <o.bruk@yadro.com>
acid-ant requested review from storage-core-committers 2024-10-08 16:21:33 +00:00
acid-ant requested review from storage-core-developers 2024-10-08 16:21:33 +00:00
fyrchik reviewed 2024-10-09 06:41:09 +00:00
@ -4,3 +3,1 @@
option go_package = "git.frostfs.info/TrueCloudLab/frostfs-api-go/v2/accounting/grpc;accounting";
option csharp_namespace = "Neo.FileStorage.API.Accounting";
package frost.fs.accounting;
Owner

Honestly, I would use frostfs without a dot, neo by itself has some sense, frost does not (as some project).

Honestly, I would use `frostfs` without a dot, `neo` by itself has some sense, `frost` does not (as some project).
fyrchik marked this conversation as resolved
orikik added 1 commit 2024-10-09 13:16:02 +00:00
[#68] Fix version linter.
All checks were successful
Formatters / Run fmt (pull_request) Successful in 25s
DCO action / DCO (pull_request) Successful in 1m5s
Pre-commit hooks / Pre-commit (pull_request) Successful in 1m6s
58b81f5ef4
Signed-off-by: Ori Bruk <o.bruk@yadro.com>
dstepanov-yadro reviewed 2024-10-14 15:09:04 +00:00
@ -4,3 +3,1 @@
option go_package = "git.frostfs.info/TrueCloudLab/frostfs-api-go/v2/accounting/grpc;accounting";
option csharp_namespace = "Neo.FileStorage.API.Accounting";
package frost.fs.accounting;

This is breaking change. Is it expected?

This is breaking change. Is it expected?
Author
Member

Yes, these changes were discussed with @realloc @alexvanin in order to bring everything to a single form.

Yes, these changes were discussed with @realloc @alexvanin in order to bring everything to a single form.
dstepanov-yadro marked this conversation as resolved
dstepanov-yadro approved these changes 2024-10-14 15:23:26 +00:00
Dismissed
Member

Can you please squash two commits with the same message Fix version linter. in one?

Can you please squash two commits with the same message `Fix version linter.` in one?
acid-ant approved these changes 2024-10-15 06:46:59 +00:00
Dismissed
orikik force-pushed feature/compatibility from 58b81f5ef4 to 68eee8bfbc 2024-10-15 08:28:10 +00:00 Compare
Author
Member

Can you please squash two commits with the same message Fix version linter. in one?

done

> Can you please squash two commits with the same message `Fix version linter.` in one? done
realloc reviewed 2024-10-15 13:39:15 +00:00
CHANGELOG.md Outdated
@ -1,5 +1,19 @@
# Changelog
## [3.0] - 2024-10-08 - Oryukdo (오륙도, 五六島)
Owner

For FrostFS we follow a different release naming scheme. It should be glaciers sorted by the path of the sun from the date change line. There is a list already prepared, please ask me about it.

For FrostFS we follow a different release naming scheme. It should be glaciers sorted by the path of the sun from the date change line. There is a list already prepared, please ask me about it.
Author
Member

Yep, changed it

Yep, changed it
realloc reviewed 2024-10-15 13:44:13 +00:00
Makefile Outdated
@ -23,2 +23,4 @@
done
# Run version update check
version:
Owner

version target usually returns current version of the repository. Should be renamed.

`version` target usually returns current version of the repository. Should be renamed.
Author
Member

Changed

Changed
realloc reviewed 2024-10-15 13:44:36 +00:00
Makefile Outdated
@ -24,1 +24,4 @@
# Run version update check
version:
@version=$$(wget -qO- "https://git.frostfs.info/TrueCloudLab/frostfs-api/raw/branch/master/version.json"); \
Owner

Is it possible to make version checks locally?

Is it possible to make version checks locally?
Author
Member

Added check with the repository master where the pull request is located.

Added check with the repository master where the pull request is located.
realloc reviewed 2024-10-15 13:48:56 +00:00
Makefile Outdated
@ -25,0 +46,4 @@
exit 1; \
fi
# Run compatibility information check
Owner

Is it possible to describe logic behind the following code?

Is it possible to describe logic behind the following code?
Author
Member

added description

added description
orikik force-pushed feature/compatibility from 68eee8bfbc to 3cb6553234 2024-10-23 11:41:14 +00:00 Compare
orikik force-pushed feature/compatibility from 3cb6553234 to de471049e5 2024-10-29 10:42:34 +00:00 Compare
orikik force-pushed feature/compatibility from de471049e5 to 6aa5a1b8b0 2024-11-05 07:57:04 +00:00 Compare
dstepanov-yadro approved these changes 2024-11-05 08:26:26 +00:00
orikik force-pushed feature/compatibility from 6aa5a1b8b0 to 581dbd4104 2024-11-05 13:47:57 +00:00 Compare
orikik force-pushed feature/compatibility from 581dbd4104 to b0df4dfc4d 2024-11-05 13:53:43 +00:00 Compare
acid-ant approved these changes 2024-11-06 06:16:00 +00:00
Dismissed
orikik force-pushed feature/compatibility from b0df4dfc4d to ce37ce12d6 2024-11-06 12:02:05 +00:00 Compare
aarifullin reviewed 2024-11-06 12:30:49 +00:00
aarifullin requested changes 2024-11-06 12:31:45 +00:00
Dismissed
@ -2,4 +2,1 @@
package neo.fs.v2.accounting;
option go_package = "git.frostfs.info/TrueCloudLab/frostfs-api-go/v2/accounting/grpc;accounting";
Member

Why have you removed this option? This breaks the plugin (api/util/protogen in frostfs-sdk-go) and thus protobufs cannot be generated

⇒ Processing ./api/object/grpc/service.proto 
protogen: unable to determine Go import path for "api/refs/grpc/types.proto"

Please specify either:
        • a "go_package" option in the .proto source file, or
        • a "M" argument on the command line.
Why have you removed this option? This breaks the plugin (`api/util/protogen` in `frostfs-sdk-go`) and thus protobufs cannot be generated ``` ⇒ Processing ./api/object/grpc/service.proto protogen: unable to determine Go import path for "api/refs/grpc/types.proto" Please specify either: • a "go_package" option in the .proto source file, or • a "M" argument on the command line. ```
Author
Member

frostfs-api-go and frostfs-sdk-go are now combined into one repository
TrueCloudLab/frostfs-sdk-go#276

frostfs-api-go and frostfs-sdk-go are now combined into one repository https://git.frostfs.info/TrueCloudLab/frostfs-sdk-go/issues/276
Author
Member

Now each sdk is responsible for the language features of working with the api

Now each sdk is responsible for the language features of working with the api
Member

Now each sdk is responsible for the language...

frostfs-api defines .proto-s, not proto templates where we can insert language-specific options and instructions on SDK's demand (although I've never seen such approach because it seems unreasonable). From my POV: it's absolutely fine to define options for specific languages because this defines import lookup order

> Now each sdk is responsible for the language... `frostfs-api` defines `.proto`-s, not proto _templates_ where we can insert language-specific options and instructions on SDK's demand (although I've never seen such approach because it seems unreasonable). From my POV: it's absolutely fine to define options for specific languages because this defines import lookup order
Author
Member

Currently sdk-go converts proto files into prepare.sh. Replaces api-go/v2 with sdk-go/api (and more).

It is intended that this functionality will be replaced by the creation of a "option go_package".
(as a rough example sed -i "2ioption go_package = \"git.frostfs.info\/TrueCloudLab\/frostfs-sdk-go\/api\/${dir:2};$parentDir\";" $file)

This API assumes the ability to create a third-party SDK, so it should not contain any specific language constructs for use in our SDKs.

@realloc

Currently sdk-go converts proto files into prepare.sh. Replaces api-go/v2 with sdk-go/api (and more). It is intended that this functionality will be replaced by the creation of a "option go_package". (as a rough example `sed -i "2ioption go_package = \"git.frostfs.info\/TrueCloudLab\/frostfs-sdk-go\/api\/${dir:2};$parentDir\";" $file`) This API assumes the ability to create a third-party SDK, so it should not contain any specific language constructs for use in our SDKs. @realloc
Member

Okay. I believe @realloc can confirm either we leave go_package or we insert in makefile

Okay. I believe @realloc can confirm either we leave `go_package` or we insert in makefile
aarifullin marked this conversation as resolved
aarifullin approved these changes 2024-11-07 10:04:35 +00:00
acid-ant approved these changes 2024-11-11 06:32:09 +00:00
realloc approved these changes 2024-11-11 09:30:58 +00:00
realloc merged commit ce37ce12d6 into feature/compatibility 2024-11-11 09:31:14 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
6 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: TrueCloudLab/frostfs-api#69
No description provided.