-
Notifications
You must be signed in to change notification settings - Fork 164
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
feat: improve dependency installation experience #1298
Conversation
Codecov Report
@@ Coverage Diff @@
## main #1298 +/- ##
=======================================
Coverage 97.88% 97.88%
=======================================
Files 89 89
Lines 35473 35473
=======================================
Hits 34724 34724
Misses 749 749 📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more |
Benchmark Results for unmodified programs 🚀
|
f58c378
to
3a52a42
Compare
Just having PyEnv and make installed suffices for running `make deps`. I don't think we need to list cairo-lang as a dependency.
A few questions:
|
It seems the install-python action doesn't support Debian containers anyways 😞 |
@@ -26,4 +26,3 @@ source ~/cairo_venv/bin/activate | |||
|
|||
# Install cairo & its dependencies | |||
pip3 install -r requirements.txt | |||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we should install pyenv install 3.9.15
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also, this isn't duplicated? Since then install_macos
runs make deps-macos
But we can leave it duplicate because make deps-macos
won't fail.
What we need to check is to add the CFLAGS=-I/opt/homebrew/opt/gmp/include LDFLAGS=-L/opt/homebrew/opt/gmp/lib
before the pip install
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good catch! Removed the whole Python install 👍
* Add installation instructions to README * Add compilation step to installation testing * Add script for universal dependency installation * Update changelog * Enable test_install workflow only on main * Update optional dependencies Just having PyEnv and make installed suffices for running `make deps`. I don't think we need to list cairo-lang as a dependency. * Don't compile, only check * Push again * Use swatinem cache * Cache all crates even on failure * Fix debian rust cache * Use manual cache * Test cache * Cache cairo compiler * Add pyenv dependency caching * Cache pip instead of pyenv * Try fixing cache * Use setup-python action * Use ~ instead of ${HOME} * Use manual cache in Debian container * Add some comments * Make cache owned by current user and add logs * Remove python install from script
* Add installation instructions to README * Add compilation step to installation testing * Add script for universal dependency installation * Update changelog * Enable test_install workflow only on main * Update optional dependencies Just having PyEnv and make installed suffices for running `make deps`. I don't think we need to list cairo-lang as a dependency. * Don't compile, only check * Push again * Use swatinem cache * Cache all crates even on failure * Fix debian rust cache * Use manual cache * Test cache * Cache cairo compiler * Add pyenv dependency caching * Cache pip instead of pyenv * Try fixing cache * Use setup-python action * Use ~ instead of ${HOME} * Use manual cache in Debian container * Add some comments * Make cache owned by current user and add logs * Remove python install from script
Description
This PR:
install.sh
script, that detects the OS/distro and calls the corresponding installation script andmake deps
test_install
workflow to use the script and to compile the whole project, to catch any missing dependenciestest_install
workflow, so it runs only on pushes to main branchChecklist