louis-e / arnis

Arnis - Generate cities from real life in Minecraft
GNU General Public License v3.0
260 stars 18 forks source link

Create workflows for generating windows and linux binaries #35

Closed amir16yp closed 1 month ago

amir16yp commented 1 month ago

Made a workflow for generating windows and linux binaries with pyinstaller. to use them simply create a release and artifacts would be automatically be added. example here https://github.com/amir16yp/arnis/releases/tag/1.0

i would say either delay merging this until @daniil2327 GUI is done, or merge it now and make a quick release of the current state of the program. your choice.

Btw i tried various ways to optimize the prorgam, but somehow, according to the benchmarks i made with the same 3 squared km, it somehow got slower, so i scrapped those additions for now. the only optimization that kind of worked was a minor one for floodfill, but i will make a separate PR for that

louis-e commented 1 month ago

You're awesome, thanks a lot! I'm spending hours on a huge refactoring and optimization right now, looking forward to pushing it in the next few days. This massively improves the performance and efficiency. I will look into your changes soon and merge them! :)

daniil2327 commented 1 month ago

You can merge it because i have problems with gui

louis-e commented 1 month ago

Alright! Since I spent the last 14 hours with a complete refactoring, I'll take a nap now lol. So I'll check tomorrow if your PR still works with the recent changes and merge it. Huge thanks to you guys for contributing!

amir16yp commented 1 month ago

I tested it with the recent changes. it works https://github.com/amir16yp/arnis/releases/tag/1.1 https://github.com/amir16yp/arnis/actions/runs/10413319285 https://github.com/amir16yp/arnis/actions/runs/10413319284

louis-e commented 1 month ago

Just tested it, looks good to me. I'll merge it for now, the only problem is that Microsoft classifies it as a virus, seems to be a common problem with pyinstaller builds (https://github.com/pyinstaller/pyinstaller/issues/5854#issuecomment-846312429 / https://medium.com/@markhank/how-to-stop-your-python-programs-being-seen-as-malware-bfd7eb407a7). Maybe we can continue the GUI idea, this should make it more accessible for people without console or python knowledge. Btw I'm also thinking about rewriting this entire project in C++ if there's a library for editing the Minecraft region files. That should make it even more efficient and faster. Also sounds like a bit of fun :)