Skip to content

Commit

Permalink
Merge branch 'develop' into 130-control-hand-in-position
Browse files Browse the repository at this point in the history
  • Loading branch information
glannuzel committed Aug 13, 2024
2 parents 9bf9609 + 3ced89d commit 4565b2d
Show file tree
Hide file tree
Showing 5 changed files with 127 additions and 66 deletions.
61 changes: 61 additions & 0 deletions .github/workflows/generate_code.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@

name: Generate Code

on: [push]

jobs:
generate-python:
runs-on: ubuntu-22.04

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Set up Python 3.10
uses: actions/setup-python@v5
with:
python-version: "3.10"

- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install grpcio-tools==1.59.3 mypy-protobuf==3.5.0
- name: Generate Protobuf Python Code
run: |
python -m grpc_tools.protoc -I./protos --python_out=./python/reachy2_sdk_api --grpc_python_out=./python/reachy2_sdk_api --mypy_out=./python/reachy2_sdk_api --mypy_grpc_out=./python/reachy2_sdk_api ./protos/*.proto
- name: Commit and push changes
run: |
git config --global user.name 'github-actions[bot]'
git config --global user.email 'github-actions[bot]@users.noreply.github.com'
git add .
git commit -m "Generated Protobuf Python Code" || echo "No changes to commit"
git push
generate-csharp:
runs-on: windows-2022
needs: generate-python

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Setup MSBuild
uses: microsoft/setup-msbuild@v2
with:
vs-version: '[17.10,17.11)'

- name: Restore NuGet packages
run: nuget restore 'csharp/reachy_sdk/reachy_sdk.sln'

- name: Build solution
run: msbuild 'csharp\reachy_sdk\reachy_sdk.sln' /p:Configuration=Release

- name: Commit and push changes
run: |
git config --global user.name 'github-actions[bot]'
git config --global user.email 'github-actions[bot]@users.noreply.github.com'
git add .
git commit -m "Generated Protobuf C# Code" || echo "No changes to commit"
git push
9 changes: 6 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,17 @@
# Protobuf for Reachy 2 SDK

## Generate gRPC code

Code for Python and C# is generated automatically by the CI. You just need to `git pull` to get the generated code after any pushed changes to the .proto. If you still need to generate these files locally, you can do the following commands

### For Python:

Install `pip install mypy-protobuf` to generate the mypy stubs
Just install `pip install mypy-protobuf` to generate the mypy stubs, and run:

```python
python -m grpc_tools.protoc -I./protos --python_out=./python/reachy2_sdk_api --grpc_python_out=./python/reachy2_sdk_api --mypy_out=./python/reachy2_sdk_api --mypy_grpc_out=./python/reachy2_sdk_api ./protos/*.proto
```

### For C#

On a Windows computer, open `reachy_sdk.sln`` in Visual Studio.
`Click Build > Build Solution`
Open `reachy_sdk.sln` in Visual Studio, and `Click Build > Build Solution`
87 changes: 43 additions & 44 deletions csharp/Reachy.cs
Original file line number Diff line number Diff line change
Expand Up @@ -27,51 +27,50 @@ static ReachyReflection() {
"CgxyZWFjaHkucHJvdG8SBnJlYWNoeRobZ29vZ2xlL3Byb3RvYnVmL2VtcHR5",
"LnByb3RvGh9nb29nbGUvcHJvdG9idWYvdGltZXN0YW1wLnByb3RvGglhcm0u",
"cHJvdG8aCmhlYWQucHJvdG8aCmhhbmQucHJvdG8aGW1vYmlsZV9iYXNlX3V0",
"aWxpdHkucHJvdG8aC3NvdW5kLnByb3RvGgt2aWRlby5wcm90byKaAwoGUmVh",
"Y2h5EhwKAmlkGAEgASgLMhAucmVhY2h5LlJlYWNoeUlkEiMKBWxfYXJtGAIg",
"ASgLMhQucmVhY2h5LnBhcnQuYXJtLkFybRIjCgVyX2FybRgDIAEoCzIULnJl",
"YWNoeS5wYXJ0LmFybS5Bcm0SJAoEaGVhZBgEIAEoCzIWLnJlYWNoeS5wYXJ0",
"LmhlYWQuSGVhZBImCgZsX2hhbmQYBSABKAsyFi5yZWFjaHkucGFydC5oYW5k",
"LkhhbmQSJgoGcl9oYW5kGAYgASgLMhYucmVhY2h5LnBhcnQuaGFuZC5IYW5k",
"EjQKC21vYmlsZV9iYXNlGAcgASgLMh8ubW9iaWxlLmJhc2UudXRpbGl0eS5N",
"b2JpbGVCYXNlEi8KCm1pY3JvcGhvbmUYCCABKAsyGy5jb21wb25lbnQuc291",
"bmQuTWljcm9waG9uZRIpCgdzcGVha2VyGAkgASgLMhguY29tcG9uZW50LnNv",
"dW5kLlNwZWFrZXISIAoEaW5mbxgUIAEoCzISLnJlYWNoeS5SZWFjaHlJbmZv",
"IiQKCFJlYWNoeUlkEgoKAmlkGAEgASgNEgwKBG5hbWUYAiABKAkiTwoKUmVh",
"Y2h5SW5mbxIVCg1zZXJpYWxfbnVtYmVyGAEgASgJEhQKDHZlcnNpb25faGFy",
"ZBgCIAEoCRIUCgx2ZXJzaW9uX3NvZnQYAyABKAkikgMKC1JlYWNoeVN0YXRl",
"Ei0KCXRpbWVzdGFtcBgBIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3Rh",
"bXASHAoCaWQYAiABKAsyEC5yZWFjaHkuUmVhY2h5SWQSLgoLbF9hcm1fc3Rh",
"dGUYAyABKAsyGS5yZWFjaHkucGFydC5hcm0uQXJtU3RhdGUSLgoLcl9hcm1f",
"c3RhdGUYBCABKAsyGS5yZWFjaHkucGFydC5hcm0uQXJtU3RhdGUSLwoKaGVh",
"ZF9zdGF0ZRgFIAEoCzIbLnJlYWNoeS5wYXJ0LmhlYWQuSGVhZFN0YXRlEjEK",
"DGxfaGFuZF9zdGF0ZRgGIAEoCzIbLnJlYWNoeS5wYXJ0LmhhbmQuSGFuZFN0",
"YXRlEjEKDHJfaGFuZF9zdGF0ZRgHIAEoCzIbLnJlYWNoeS5wYXJ0LmhhbmQu",
"SGFuZFN0YXRlEj8KEW1vYmlsZV9iYXNlX3N0YXRlGAggASgLMiQubW9iaWxl",
"LmJhc2UudXRpbGl0eS5Nb2JpbGVCYXNlU3RhdGUinwMKDFJlYWNoeVN0YXR1",
"cxItCgl0aW1lc3RhbXAYASABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0",
"YW1wEhwKAmlkGAIgASgLMhAucmVhY2h5LlJlYWNoeUlkEjAKDGxfYXJtX3N0",
"YXR1cxgDIAEoCzIaLnJlYWNoeS5wYXJ0LmFybS5Bcm1TdGF0dXMSMAoMcl9h",
"cm1fc3RhdHVzGAQgASgLMhoucmVhY2h5LnBhcnQuYXJtLkFybVN0YXR1cxIx",
"CgtoZWFkX3N0YXR1cxgFIAEoCzIcLnJlYWNoeS5wYXJ0LmhlYWQuSGVhZFN0",
"YXR1cxIzCg1sX2hhbmRfc3RhdHVzGAYgASgLMhwucmVhY2h5LnBhcnQuaGFu",
"ZC5IYW5kU3RhdHVzEjMKDXJfaGFuZF9zdGF0dXMYByABKAsyHC5yZWFjaHku",
"cGFydC5oYW5kLkhhbmRTdGF0dXMSQQoSbW9iaWxlX2Jhc2Vfc3RhdHVzGAgg",
"ASgLMiUubW9iaWxlLmJhc2UudXRpbGl0eS5Nb2JpbGVCYXNlU3RhdHVzIlMK",
"GFJlYWNoeVN0cmVhbVN0YXRlUmVxdWVzdBIcCgJpZBgBIAEoCzIQLnJlYWNo",
"eS5SZWFjaHlJZBIZChFwdWJsaXNoX2ZyZXF1ZW5jeRgCIAEoAiJTChhSZWFj",
"aHlTdHJlYW1BdWRpdFJlcXVlc3QSHAoCaWQYASABKAsyEC5yZWFjaHkuUmVh",
"Y2h5SWQSGQoRcHVibGlzaF9mcmVxdWVuY3kYAiABKAIyxQIKDVJlYWNoeVNl",
"cnZpY2USMwoJR2V0UmVhY2h5EhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5Gg4u",
"cmVhY2h5LlJlYWNoeRI3Cg5HZXRSZWFjaHlTdGF0ZRIQLnJlYWNoeS5SZWFj",
"aHlJZBoTLnJlYWNoeS5SZWFjaHlTdGF0ZRJMChFTdHJlYW1SZWFjaHlTdGF0",
"ZRIgLnJlYWNoeS5SZWFjaHlTdHJlYW1TdGF0ZVJlcXVlc3QaEy5yZWFjaHku",
"UmVhY2h5U3RhdGUwARIvCgVBdWRpdBIQLnJlYWNoeS5SZWFjaHlJZBoULnJl",
"YWNoeS5SZWFjaHlTdGF0dXMSRwoLU3RyZWFtQXVkaXQSIC5yZWFjaHkuUmVh",
"Y2h5U3RyZWFtQXVkaXRSZXF1ZXN0GhQucmVhY2h5LlJlYWNoeVN0YXR1czAB",
"YgZwcm90bzM="));
"aWxpdHkucHJvdG8aC3NvdW5kLnByb3RvIpoDCgZSZWFjaHkSHAoCaWQYASAB",
"KAsyEC5yZWFjaHkuUmVhY2h5SWQSIwoFbF9hcm0YAiABKAsyFC5yZWFjaHku",
"cGFydC5hcm0uQXJtEiMKBXJfYXJtGAMgASgLMhQucmVhY2h5LnBhcnQuYXJt",
"LkFybRIkCgRoZWFkGAQgASgLMhYucmVhY2h5LnBhcnQuaGVhZC5IZWFkEiYK",
"BmxfaGFuZBgFIAEoCzIWLnJlYWNoeS5wYXJ0LmhhbmQuSGFuZBImCgZyX2hh",
"bmQYBiABKAsyFi5yZWFjaHkucGFydC5oYW5kLkhhbmQSNAoLbW9iaWxlX2Jh",
"c2UYByABKAsyHy5tb2JpbGUuYmFzZS51dGlsaXR5Lk1vYmlsZUJhc2USLwoK",
"bWljcm9waG9uZRgIIAEoCzIbLmNvbXBvbmVudC5zb3VuZC5NaWNyb3Bob25l",
"EikKB3NwZWFrZXIYCSABKAsyGC5jb21wb25lbnQuc291bmQuU3BlYWtlchIg",
"CgRpbmZvGBQgASgLMhIucmVhY2h5LlJlYWNoeUluZm8iJAoIUmVhY2h5SWQS",
"CgoCaWQYASABKA0SDAoEbmFtZRgCIAEoCSJPCgpSZWFjaHlJbmZvEhUKDXNl",
"cmlhbF9udW1iZXIYASABKAkSFAoMdmVyc2lvbl9oYXJkGAIgASgJEhQKDHZl",
"cnNpb25fc29mdBgDIAEoCSKSAwoLUmVhY2h5U3RhdGUSLQoJdGltZXN0YW1w",
"GAEgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIcCgJpZBgCIAEo",
"CzIQLnJlYWNoeS5SZWFjaHlJZBIuCgtsX2FybV9zdGF0ZRgDIAEoCzIZLnJl",
"YWNoeS5wYXJ0LmFybS5Bcm1TdGF0ZRIuCgtyX2FybV9zdGF0ZRgEIAEoCzIZ",
"LnJlYWNoeS5wYXJ0LmFybS5Bcm1TdGF0ZRIvCgpoZWFkX3N0YXRlGAUgASgL",
"MhsucmVhY2h5LnBhcnQuaGVhZC5IZWFkU3RhdGUSMQoMbF9oYW5kX3N0YXRl",
"GAYgASgLMhsucmVhY2h5LnBhcnQuaGFuZC5IYW5kU3RhdGUSMQoMcl9oYW5k",
"X3N0YXRlGAcgASgLMhsucmVhY2h5LnBhcnQuaGFuZC5IYW5kU3RhdGUSPwoR",
"bW9iaWxlX2Jhc2Vfc3RhdGUYCCABKAsyJC5tb2JpbGUuYmFzZS51dGlsaXR5",
"Lk1vYmlsZUJhc2VTdGF0ZSKfAwoMUmVhY2h5U3RhdHVzEi0KCXRpbWVzdGFt",
"cBgBIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASHAoCaWQYAiAB",
"KAsyEC5yZWFjaHkuUmVhY2h5SWQSMAoMbF9hcm1fc3RhdHVzGAMgASgLMhou",
"cmVhY2h5LnBhcnQuYXJtLkFybVN0YXR1cxIwCgxyX2FybV9zdGF0dXMYBCAB",
"KAsyGi5yZWFjaHkucGFydC5hcm0uQXJtU3RhdHVzEjEKC2hlYWRfc3RhdHVz",
"GAUgASgLMhwucmVhY2h5LnBhcnQuaGVhZC5IZWFkU3RhdHVzEjMKDWxfaGFu",
"ZF9zdGF0dXMYBiABKAsyHC5yZWFjaHkucGFydC5oYW5kLkhhbmRTdGF0dXMS",
"MwoNcl9oYW5kX3N0YXR1cxgHIAEoCzIcLnJlYWNoeS5wYXJ0LmhhbmQuSGFu",
"ZFN0YXR1cxJBChJtb2JpbGVfYmFzZV9zdGF0dXMYCCABKAsyJS5tb2JpbGUu",
"YmFzZS51dGlsaXR5Lk1vYmlsZUJhc2VTdGF0dXMiUwoYUmVhY2h5U3RyZWFt",
"U3RhdGVSZXF1ZXN0EhwKAmlkGAEgASgLMhAucmVhY2h5LlJlYWNoeUlkEhkK",
"EXB1Ymxpc2hfZnJlcXVlbmN5GAIgASgCIlMKGFJlYWNoeVN0cmVhbUF1ZGl0",
"UmVxdWVzdBIcCgJpZBgBIAEoCzIQLnJlYWNoeS5SZWFjaHlJZBIZChFwdWJs",
"aXNoX2ZyZXF1ZW5jeRgCIAEoAjLFAgoNUmVhY2h5U2VydmljZRIzCglHZXRS",
"ZWFjaHkSFi5nb29nbGUucHJvdG9idWYuRW1wdHkaDi5yZWFjaHkuUmVhY2h5",
"EjcKDkdldFJlYWNoeVN0YXRlEhAucmVhY2h5LlJlYWNoeUlkGhMucmVhY2h5",
"LlJlYWNoeVN0YXRlEkwKEVN0cmVhbVJlYWNoeVN0YXRlEiAucmVhY2h5LlJl",
"YWNoeVN0cmVhbVN0YXRlUmVxdWVzdBoTLnJlYWNoeS5SZWFjaHlTdGF0ZTAB",
"Ei8KBUF1ZGl0EhAucmVhY2h5LlJlYWNoeUlkGhQucmVhY2h5LlJlYWNoeVN0",
"YXR1cxJHCgtTdHJlYW1BdWRpdBIgLnJlYWNoeS5SZWFjaHlTdHJlYW1BdWRp",
"dFJlcXVlc3QaFC5yZWFjaHkuUmVhY2h5U3RhdHVzMAFiBnByb3RvMw=="));
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
new pbr::FileDescriptor[] { global::Google.Protobuf.WellKnownTypes.EmptyReflection.Descriptor, global::Google.Protobuf.WellKnownTypes.TimestampReflection.Descriptor, global::Reachy.Part.Arm.ArmReflection.Descriptor, global::Reachy.Part.Head.HeadReflection.Descriptor, global::Reachy.Part.Hand.HandReflection.Descriptor, global::Mobile.Base.Utility.MobileBaseUtilityReflection.Descriptor, global::Component.Sound.SoundReflection.Descriptor, global::Component.Video.VideoReflection.Descriptor, },
new pbr::FileDescriptor[] { global::Google.Protobuf.WellKnownTypes.EmptyReflection.Descriptor, global::Google.Protobuf.WellKnownTypes.TimestampReflection.Descriptor, global::Reachy.Part.Arm.ArmReflection.Descriptor, global::Reachy.Part.Head.HeadReflection.Descriptor, global::Reachy.Part.Hand.HandReflection.Descriptor, global::Mobile.Base.Utility.MobileBaseUtilityReflection.Descriptor, global::Component.Sound.SoundReflection.Descriptor, },
new pbr::GeneratedClrTypeInfo(null, null, new pbr::GeneratedClrTypeInfo[] {
new pbr::GeneratedClrTypeInfo(typeof(global::Reachy.Reachy), global::Reachy.Reachy.Parser, new[]{ "Id", "LArm", "RArm", "Head", "LHand", "RHand", "MobileBase", "Microphone", "Speaker", "Info" }, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Reachy.ReachyId), global::Reachy.ReachyId.Parser, new[]{ "Id", "Name" }, null, null, null, null),
Expand Down
1 change: 0 additions & 1 deletion protos/reachy.proto
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ import "head.proto";
import "hand.proto";
import "mobile_base_utility.proto";
import "sound.proto";
import "video.proto";

package reachy;

Expand Down
35 changes: 17 additions & 18 deletions python/reachy2_sdk_api/reachy_pb2.py

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit 4565b2d

Please sign in to comment.