Skip to content
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

Create alpine release of revive compiler (musl.libc) #45

Open
smiasojed opened this issue Sep 12, 2024 · 8 comments
Open

Create alpine release of revive compiler (musl.libc) #45

smiasojed opened this issue Sep 12, 2024 · 8 comments
Assignees

Comments

@smiasojed
Copy link
Collaborator

Create the release workflow for revive compiler.
As artefacts provide:

  1. revive-musl version
  2. alpine docker
  3. revive-glibc version
@xermicus
Copy link
Member

The musl build should be beneficial for the remix backend.

@athei
Copy link
Member

athei commented Sep 17, 2024

Glibc version should not be necessary. A statically linked revive-musl should have zero dependencies. Hence it will also run on glibc distros.

@athei
Copy link
Member

athei commented Sep 17, 2024

@wpt967 Can you take care of this and then go back to the debugging work?

It will essentially mean creating github actions to produce the two artifacts (1 + 2).

@wpt967
Copy link
Collaborator

wpt967 commented Sep 17, 2024

Sure.

@xermicus
Copy link
Member

@wpt967 thanks a lot!

I think how we should do it for now: The musl workflow should only run on pushes to the main branch and depend on the success of build-ubuntu-x86 (see here). This second workflow can then just build musl, build revive linked against musl, and finally build and publish an alpine Docker image containing the musl revive build.

Should probably also just add a Makefile target install-musl that produces a release build of revive linked against musl.

So, essentially each time we push something to main and the CI passes we'll get a fresh image, which should be good to iterate quickly. Later we can think how to do releases properly (we also want some matrix testing against solc versions etc., but thats for later).

@smiasojed
Copy link
Collaborator Author

In the Docker image, we need to include both 'resolc-musl' and 'solc-musl'. I would like to ask you to create the first revive release, which I can use as the base for the revive-remix-backend.

@athei
Copy link
Member

athei commented Sep 18, 2024

I wouldn't add the musl suffix to resolc. We should not do any dynamically linked releases anyways as they wouldn't be portable. Or is there any reason to do so?

@smiasojed
Copy link
Collaborator Author

I just wanted to emphasize that we need both in the musl versions. We shouldn't have any suffix.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants