Skip to content

SafetyCulture/s12-proto

Repository files navigation

Protocol Buffer tools used by SafetyCulture

WARNING: Public Repo

CI Proto Lint

Pre-requisites

Bootstrap tooling:

mise install

Common tasks

mise run generate    # Generate Go code from proto definitions
mise run test        # Run tests (root module)
mise run lint        # Run Go linter
mise run lint:proto  # Lint proto files with buf

To generate and run validator tests:

make generate && make govalidator && make govalidator-valtest

Plugins

See docs/plugins.md for the full plugin reference, including install instructions and usage examples for each plugin.

Plugin Description
protoc-gen-govalidator Field-level validation for Go
protoc-gen-s12perm gRPC permission interceptors
protoc-gen-logger Structured logging for gRPC services
protoc-gen-gogrpcmock gRPC mock server implementations
protoc-gen-cruxclient C++ client + Djinni bindings (C++ toolchain)
protoc-gen-cruxclient-go C++ client + Djinni bindings (Go, no C++ toolchain needed)

Proto linting with buf

buf lint
buf breaking --against '.git#branch=master'

Running tests

# Root module (all plugins except cruxclient-go)
go test ./...

# protoc-gen-cruxclient-go
cd protobuf/protoc-gen-cruxclient-go && go test ./...

About

Protocol Buffer tools

Resources

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors