-
Notifications
You must be signed in to change notification settings - Fork 5.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Snapcraft build has been broken since 0.5.16 #11940
Comments
Looks like the snapcraft build is already automated. It's just broken. According to the discussion in #2475 it's tied to https://launchpad.net/solidity. In ~elopio/+snap/solc I see that builds were running (and failing) until a year ago. Then they stopped. The build from 2020-09-28 has some build errors related to Z3:
Our But overall, the questions is how to prevent such breakage in the future. We do advertise the snap version under Linux Packages so we should fix it but I think no one is checking that regularly. As far as I can tell from past PRs, this was a contribution from @ElOpio and set up in a way that should not require too much maintenance. Looks like we still do need to monitor it in some way though. Perhaps we need a step in the release checklist to make sure the snap package was built corectly? |
@ElOpio are you still available for maintaining the snap build? |
Yes. If you think this is still useful I can give it some love. |
That would be very nice of you! Some people seem to be using it. |
Alright! We have a successful release on the edge branch for amd64. I would appreciate people testing it with:
Building on the other architectures is being harder. On cvc they suggested to upgrade to 1.8, so I'm trying options. |
So you're trying to build also I wanted to install it via snap but looks like snap does not like running in docker too much so we'll need someone with Ubuntu. @lightyear15 can you test it? |
Thanks @ElOpio ,
from 43 MB to 294MB. I don't know if this change in size is due to the compiler itself or not. Regarding releasing the compiler to the different channels ( stable, candidate, ecc...) AFAIK it's something that it can only be done manually in the snapcraft dev admin webpage. You can play with git tags though, so that all the automatically triggered builds will be tagged differently. |
The compiler is definitely not that big. The binary itself is around ~10 MB. Statically linked Z3 adds ~25 MB. Not sure about CVC, but I would not expect it to take ~300 MB. I suspect that some stuff needed only at build time gets left in the image. Which is weird because after #12078 it actually does less manual building and gets more stuff from system package. Does stuff listed under |
There is a snapcraft action that can be used to test that the snap builds correctly. Building the whole thing is slow though, so I'm not sure when would you want to run this. It can be used to push tags to the candidate channel too. |
The bulk in size is in the built binaries:
|
Are you building them in debug mode? In release mode they're much smaller. In debug they're also pretty big but even then only about half that size:
|
not seeing any progress here 😕 |
Hello. I've checked the status today. The builds seem ok, only s390x and armhf failed today. This is what we have in the edge channel.
So what we are missing is to move from the edge channel to beta when there is a tag. This could be done manually, or automated on CI calling Has anybody been testing the edge channel? |
Did you figure out why the binary is so big? Is it getting built in debug mode or something? One thing that might be the cause is that in 0.8.1 we added defaults for build type (#10758) and the default is now |
Why does it uses so much space? I expect the binary be <5MB /snap/solc/7114/usr/local/bin |
There is also a |
Abstract
https://snapcraft.io/build
Auto-build and publish new solc version on the snapcraft app store.
Motivation
solc on snapcraft is at version 0.5.16. Last time it was built was January 2020.
Specification
As explained in the link attached in the Abstract section, a snapcraft app can be connected to a github repo, so new builds are triggered every new commit.
Backwards Compatibility
The text was updated successfully, but these errors were encountered: