Closed favadi closed 6 years ago
@elopio could you take a look here, please? Thanks!
@chriseth things would be easier now if somebody with permissions on the solidity repo goes to https://build.snapcraft.io and enables the automated build there. Then you can add me as a contributor, to keep maintaining the snap from the dashboard.
What do you think? :)
@favadi this has to do with the version-script not working as expected. For now, jump to the edge channel to get the latest. I have to report this as a bug in snapcraft.
Can you link the reported issue here so we can close this (since it is an upstream issue)?
@elopio what is the problem with version-script of snapcraft?
btw, as I read from here: https://github.com/snapcore/snapcraft/blob/02774cd6b3140b46b181479fad70d0dc52eafd15/snapcraft/internal/meta/_version.py#L28, the part || echo "develop"
is redundant as snapcraft will fallback to use version if version_script failed.
@elopio I added the repo on build.snapcraft.io but I do not see where I could configure it.
Do I need an ubuntu one account?
From what I see, we can choose Github repository to auto build here: https://build.snapcraft.io/select-repositories.
I think it is selected for auto-build. Perhaps it does not build on all branches?
I asked for help in snapcraft forum: https://forum.snapcraft.io/t/auto-build-on-build-snapcraft-io-questions/5278/2 and there are what I learned:
Do I need an ubuntu one account?
Yes, you need to login to Ubuntu One to be abble to automatically push the snap packages to snap store. I think @elopio is owner of the solc pakge in snap store, so only he can do it.
I think it is selected for auto-build. Perhaps it does not build on all branches? this has to do with the version-script not working as expected.
build.snapcraft.io will only trigger build for commit to default branch (in our case "develop"), but as all releases are tagged from "release" branch, no stable package will be build. To fix that we need config source-branch to "release".
Also it is not possible to use build.snapcraft.io to build multiple branches and push to multiple channels.
I created https://github.com/ethereum/solidity/pull/4065 to address these problems. We should get tagged releases auto build and push to snap store after merging it.
Disclaimer: I'm not a snap expert and I don't know how to test my changes properly.
I am the owner of the solc name, but I don't have permissions on the https://github.com/ethereum/solidity repo, so I can't add it. What I'm proposing is for somebody with permissions on the repo to add the automated build, and I will transfer the name to an ubuntu one account that's owned by the project. Then you add me as a contributor to that account on dashboard.snapcraft.io. Because it needs a transfer, it's a little messy, but I think it will be better to move foward for you to own everything.
@favadi I can test your changes, and anyway, we have the edge channel to experiment. We have some users on that channel that will give early feedback if something looks wrong.
@chriseth as @elopio is OK with transferring the "solc" name in snap store to solidity project, could you provide the Ubuntu One account he will transfer to?
Yes, sounds like a good idea! I hope I will have time to do that towards the end of the week.
Thanks @chriseth. Just ping me and I'll start the transfer.
Sorry for the delay, actually we already had an account for the launchpad ppa. The ubuntu one username is builds-c
Cool. I have just requested the transfer: https://forum.snapcraft.io/t/transfer-solc-to-upstream-ethereum-devs/5429
Transfer worked, thanks a lot!
I just realized that this will bring us arm automation, nice!
Awesome, thanks @chriseth. I've just disabled the launchpad job that was building the develop branch. Did you go to https://build.snapcraft.io to enable it from the official account?
What's left on my side is to report the issue with the version-script
. I'll take a look now to see if I can make sense of it, or just forward it to the devs.
solc 0.4.23 is on the candidate channel! After a couple of days, I'll move it to stable. And hopefully now we will be able to move closer to the github releases. I have no idea what was the problem with the version, but it seems solved now. :man_shrugging:
About arm, we have it working on armhf, but there's a problem with arm64: https://forum.snapcraft.io/t/solidity-needs-libz3-dev-but-its-not-in-the-arm64-archive/1837
This libz3-dev package is building without issues on bionic. So we could backport it to xenial, or build the snap on bionic. Both options require some work, and I'm trying to close a few things to go on holidays for the rest of the week, so I'll check it when I get back.
pura vida.
Thanks a lot @elopio @chriseth.
@elopio z3 is optional, we can try to disable it depending on the platform.
The issue with the tagged release was not solved, so I reported this: https://forum.snapcraft.io/t/some-launchpad-builds-not-setting-the-right-version/5541
I'll check how to remove z3 for arm64 when I have some free time.
Current version in snap store:
At the time I'm writing it 0.4.23 is released.
So have we enabled automatically build for snap package yet?
One more thing, the version of snap package.
According to the version-script line:
git describe --exact-match --tags 2> /dev/null || echo "develop"
, it should returns "0.4.23", not "develop".