I’d appreciate any guidance or suggestions for getting set up to contribute c++ code to this project. I’ve not got much c++ experience, but I do find myself making little tweaks in the DeepSpeech cough STT project on the c++ side. Maybe even eventually make a PR or two back ‘upstream’ etc. Hacking things together has been OK so far but I’d really appreciate any suggestions on how to do things better. Specifically any notes or contributing.md style suggestions for how to set up for the development of the compiled binaries.
Also, some of the things I’ve seen ( such as this comment ) make me wonder if maybe there are correctness tests, performance tests, or unit tests that I should know about?
Also if there are tips on the right way to set up the bazel_cache for development. I have used the Dockerfile.build.tmpl to get things building - and it is very useful as such - but it’s not great if you want to actually tweak the code, rebuild and efficiently use the bazel_cache each time. I guess I can figure out how to make efficient use of cache and such but just thought it’d be a good idea to ask if such things already exist? Maybe some notes that could be added to contributing.rst eventually?
Thanks in advance for any help.
lissyx
((slow to reply) [NOT PROVIDING SUPPORT])
2
Basically, what we lack of to write those guidelines:
time,
fresh eye to actually know the roadblocks
we just don’t use the dockerfile for that kind of work, and so there is no problem whatsoever for us, and I’m not even sure to understand your workflow there.
maybe adding some Remote caching - Bazel 3.1.0 magic within the dockerfile, but that might require host-side communication anyway to keeep the cache through runs?
lissyx
((slow to reply) [NOT PROVIDING SUPPORT])
3
@josh_meyer was working on things like that, for the very same reasons I guess as you, so it’s always welcome. Again, it’s more a side effect of the way the project grew, but anything to fix that is good.
Totes understood. I hadn’t seen issue 3317 , no but yes that is very interesting and explains a lot. Hmmm.
Will take some time to properly read. For what it’s worth I wasn’t using the Dockerfile that way either because as you say the workflow makes no sense, but that said it might be nice to have a Dockerfile set up for development purpose.
Will reply more once I’ve had time to read. Thanks