OpShin / opshin

A simple pythonic programming language for Smart Contracts on Cardano
https://book.opshin.dev/
MIT License
141 stars 28 forks source link

Fix issue 212 #372

Closed pcjordan closed 3 months ago

pcjordan commented 6 months ago

In response to bug bounty assigned to #212.

Adds a github workflow that on creation of a new release automatically builds binaries for linux and macos (tested both) and adds them to the assets section for download. See e.g. https://github.com/pcjordan/opshin/releases/tag/test-release-5.

I briefly tested windows as well but some of the python package dependencies are not available there, so this would likely require some more effort. Not sure if opshin was ever intended to be windows-compatible anyways?

nielstron commented 6 months ago

Thanks for your submission! Could you outline a bit more detail on which packages are missing on windows/which errors occur? The idea was that opshin, being purely python, is indeed windows compatible.

nielstron commented 6 months ago

Note another option to fix this could be by choosing Nuitka. Maybe the easiest way to achieve multi platform compatibility is by using different bundlers?

pcjordan commented 3 months ago

I now ended up using PyInstaller for all platforms as everything else I tried had some issues here an there (also couldn't get the Nuitka compilation to succeed on windows).

I tested the builds from this release on all three platforms with some of the example contracts. Note that Python is also bundled into the executable so no dependency there.

nielstron commented 3 months ago

@pcjordan with the last question resolved, let me know when I should consider this as a ready-to-merge request. the failing runs in travis are not due to changes introduced here.

pcjordan commented 3 months ago

From my side, you can consider this as a ready-to-merge request.

In case you consider it ready for bug bounty, here's already my Cardano address :) addr1qylv4lr9lqx6l0t24dn8fq5q7cweqrmdg6jgsyg3htttkw69hw5kfp5ne7xaql579v0w04cucy0wxj8k9axvuz20d6yq4jvdta

nielstron commented 3 months ago

Based on my assessment, this bug bounty seems to be resolved as intended. The bounty hunter is therefore rewarded with 3000 ADA as per this transaction: https://cexplorer.io/tx/89345b472a6a8844ee6bef7c9eb69e49b42473580556dc29172d9b00c3a6ce50