Skip to content

This project demonstrates the use of GitHub Actions to automate the processes of generating and publishing gRPC API packages, integrating Protolint and Protolock

arvgord/bank-demo-api

Repository files navigation

gRPC API generation and publishing with GitHub Actions and GitHub Packages

build

This project demonstrates the use of GitHub Actions to automate the processes of generating and publishing gRPC API packages, integrating Protolint and Protolock. The project focuses on simplifying the development of gRPC APIs for services in Kotlin/Java and gRPC-web clients, with package publishing to Maven and npm registries in GitHub Packages.

Features

  • Automation: The build and publication of gRPC packages are fully automated through GitHub Actions.
  • Artifact Generation: Demonstrates the generation of gRPC API artifacts for deployment in Maven and npm registries within GitHub Packages.
  • Envoy Proxy: Configured examples of envoy proxy are provided, enabling gRPC-web clients to interact with gRPC services.
  • Code Style: Protolint is integrated to ensure .proto files maintain a consistent style, guaranteeing code consistency and readability.
  • Backward Compatibility: Protolock is used to maintain the backward compatibility of the API, controlling changes in .proto files and preventing incompatible modifications.

Workflow

  1. Set up GitHub Actions for building and publishing packages.
  2. Use GitHub Packages to store and distribute artifacts.
  3. Apply Protolint and Protolock to ensure the quality and stability of the API.

For detailed information on setting up and using Protolint and Protolock, please refer to the documentation in the respective repositories on GitHub.

For a practical example of this API in use, please see the bank-demo project.

About

This project demonstrates the use of GitHub Actions to automate the processes of generating and publishing gRPC API packages, integrating Protolint and Protolock

Resources

Stars

Watchers

Forks