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

GitHub Actions: improve macOS releases #527

Merged
merged 5 commits into from
Nov 16, 2020

Conversation

elopez
Copy link
Member

@elopez elopez commented Oct 22, 2020

Currently, releases for macOS are not very portable. The
binaries have hardcoded paths and might not run on other
systems. This commit improves the macOS binary releases
made via GitHub actions by bundling binary copies of libff,
libgmp and libsecp256k1, and by adjusting the rpath and
library names to make echidna run on other systems.

@elopez
Copy link
Member Author

elopez commented Oct 22, 2020

I've marked this as draft, because it builds on top of PR #526, but I'd love to hear your thoughts on implementing something like the top commit here ("GitHub Actions: improve macOS releases"). This is meant to help resolve situations like the one in #522.

@elopez elopez force-pushed the improve-macos-builds branch from 4c13548 to 1f0d1c9 Compare October 23, 2020 03:23
@incertia
Copy link
Contributor

where exactly does it put the rpath? does it bundle it as a 3-file group in . or will it check for libraries in /usr/local? it's probably easier to do the former.

@elopez
Copy link
Member Author

elopez commented Oct 23, 2020

It will add @executable_path/. as rpath on echidna-test, and then do a 3-file bundle. You can have a look at how the files look on the CI run here: https://github.com/crytic/echidna/actions/runs/323365632

Currently the CI system fails on macOS with several errors related
to Homebrew. This is a temporal workaround for the issue. See

    actions/runner-images#1811

for more details.
Currently the CI system fails due to cache corruption on macOS.
This can be temporarily worked around by using GNU tar instead
of BSD tar. See

    actions/cache#403

for more details.
@elopez elopez force-pushed the improve-macos-builds branch 2 times, most recently from e8da95f to b51d7df Compare November 7, 2020 02:15
Currently, releases for macOS are not very portable. The
binaries have hardcoded paths and might not run on other
systems. This commit improves the macOS binary releases
made via GitHub actions by bundling binary copies of libff,
libgmp and libsecp256k1, and by adjusting the rpath and
library names to make echidna run on other systems.
@elopez elopez force-pushed the improve-macos-builds branch from 5a3b792 to fc086d4 Compare November 7, 2020 03:47
@ggrieco-tob
Copy link
Member

Why this is still a draft? Are we waiting for the #525 to be merged?

@elopez
Copy link
Member Author

elopez commented Nov 16, 2020

I had built this branch on top of #526 and that's why I had marked it as a draft. I'll open this one in case you want to handle both in one review 🙂

@elopez elopez marked this pull request as ready for review November 16, 2020 18:42
@ggrieco-tob ggrieco-tob merged commit fe1d0a2 into crytic:master Nov 16, 2020
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

Successfully merging this pull request may close these issues.

3 participants