Giter VIP home page Giter VIP logo

Comments (4)

MHDante avatar MHDante commented on May 25, 2024 1

2 seems to be a problem as protoc is usually installed globally. A server developed on the same machine may require a newer version.

1 is nice, as it serves as a bit of a unit test against unwanted regressions, but I assume most changes to the code would cause output to differ, and CI tests that fail always are a bit annoying.

You could also add the version to Contributing.md and manually note unwarranted changes to the generated output when reviewing PRs

from ts-protoc-gen.

jonnyreeves avatar jonnyreeves commented on May 25, 2024 1

Oh yes, both of these are flawed, probably not a great idea to respond to GitHub issues at 7am 😂

You're right, updating the contribution guide is an obvious first step, however another spin on option #2 may be to download protoc as part of generate.sh as it is a standalone binary

from ts-protoc-gen.

easyCZ avatar easyCZ commented on May 25, 2024 1

I'm leaning towards a pinned version of protoc for the repository. This makes the experience consistent for all contributors. Furthermore, an upgrade is only a PR away which helps us track the protoc target we're building against.

I can see three ways to get this done:

  1. Docker container with protoc
  2. Use grpc-tools which bundles protoc but hasn't been updated in a while
  3. Use Bazel to generate the examples. This would require contributors to install bazel.

I like 1 and 3 or going with downloading protoc

from ts-protoc-gen.

jonnyreeves avatar jonnyreeves commented on May 25, 2024

Ah yes, sorry about that. I think we need to enforce a given version of protoc for consistency. Two options I see are:

  1. Add a CI build step which regenerates the example protos and then checks for changes, if there are any it will fail the CI build with a descriptive error message

  2. Add a local build step which checks the users locally installed version of or protoc.

However I'm welcome to other suggestions 😀

from ts-protoc-gen.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.