From db2e2e990f063ffa823640eaec4d659a848c1380 Mon Sep 17 00:00:00 2001 From: Quaternions Date: Tue, 20 Feb 2024 04:51:58 +0000 Subject: [PATCH] Rust grpc builder (#1) My attempt after reading many online documentations Reviewed-on: https://git.itzana.me/StrafesNET/protobufs/pulls/1 Co-authored-by: Quaternions Co-committed-by: Quaternions --- .drone.yml | 40 ++++++++++++++++++++++++++++++++++++++++ scripts/rust-gen.sh | 12 ++++++++++++ 2 files changed, 52 insertions(+) create mode 100644 scripts/rust-gen.sh diff --git a/.drone.yml b/.drone.yml index 6afe0ec..6d67a08 100644 --- a/.drone.yml +++ b/.drone.yml @@ -36,6 +36,46 @@ trigger: ref: - refs/heads/master +image_pull_secrets: + - dockerconfigjson +--- +kind: pipeline +type: docker +name: generate-rust-grpc + +steps: +- name: clone-external + image: alpine/git + commands: + - git clone https://${GIT_USER}:${GIT_PASS}@git.itzana.me/StrafesNET/rust-grpc.git + environment: + GIT_USER: + from_secret: GIT_USER + GIT_PASS: + from_secret: GIT_PASS + +- name: generate + image: registry.itzana.me/strafesnet/tools/grpc-rust:latest + commands: + - scripts/rust-gen.sh + +- name: commit + image: alpine/git + commands: + - cd rust-grpc + - git add * + - 'git commit -m "Autogenerated update for ${DRONE_COMMIT_LINK}" || true' + - git push https://$GIT_USER:$GIT_PASS@git.itzana.me/StrafesNET/rust-grpc.git --all + environment: + GIT_USER: + from_secret: GIT_USER + GIT_PASS: + from_secret: GIT_PASS + +trigger: + ref: + - refs/heads/master + image_pull_secrets: - dockerconfigjson --- diff --git a/scripts/rust-gen.sh b/scripts/rust-gen.sh new file mode 100644 index 0000000..2894bfc --- /dev/null +++ b/scripts/rust-gen.sh @@ -0,0 +1,12 @@ +#!/bin/bash + +for f in *.proto +do + name=$(basename $f .proto) + mkdir -p ./rust-grpc/$name + protoc \ + --prost_out=./rust-grpc/$name \ + --tonic_out=./rust-grpc/$name \ + $f + #protoc --experimental_allow_proto3_optional --rust_out=./rust-grpc/$name --rust_opt=paths=source_relative --rust-grpc_out=./rust-grpc/$name --rust-grpc_opt=paths=source_relative +done \ No newline at end of file