reinterpretcat / vrp

A Vehicle Routing Problem solver
https://reinterpretcat.github.io/vrp/
Apache License 2.0
331 stars 68 forks source link

Add reproducible dev environment #107

Closed blaggacao closed 1 year ago

blaggacao commented 1 year ago

This is really just an elaborate way of getting maturin to do what it's supposed to. For some reason I did not explore in more detail, the instructions in the docs did not work for me, so I thought that's just the right opportunity to introduce a little bit of reproducibiliy (via Nix).

The way I can build vrp_cli for python now is "just": nix develop ../local --command maturin develop --release --features py_bindings or if I have direnv installed which consumes .envrc then it drops me into a development environment upon entering the folder.

This is completely intrusive and front-running probably every of your eastablished workflows :smile: — if that's the case, please ignore. It's just the quickest way I could think of for myself to get going with development on vrp.


With that apology out of the way, if you are interested, I can probably hack some (reproducible) GH Action python publishing pipeline together on this basis rather quickly. Just let me know what you think.

reinterpretcat commented 1 year ago

Hi, thanks for MR!

With that apology out of the way, if you are interested, I can probably hack some (reproducible) GH Action python publishing pipeline together on this basis rather quickly. Just let me know what you think.

I think dedicated for maturin build github action would be better solution (never used nix, tbh): https://github.com/PyO3/maturin-action