-
Notifications
You must be signed in to change notification settings - Fork 217
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
Avoid emulation for ov
development environment
#5256
Conversation
79b389b
to
4dca301
Compare
I tested this on my Linux machine and while it was extremely slow, which was more likely a fault of my machine than this PR, it completed successfully. If someone has a faster, newer or more capable Linux machine, please test this out! |
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 tried running this PR in WSL, and it worked. Linting is pretty slow, but this is not a problem of this PR.
I ran into a permission problem for PDM venv folder when running ov init
for the first time:
INFO: python.use_venv is on, creating a virtualenv for this project...
[PermissionError]: [Errno 13] Permission denied: '/opt/pdm/venvs'
But when I re-ran ov init
, everything went smoothly.
Fixes
Fixes #4934 by @dhruvkb
Addresses #4944 by @d3jawu
Problem
I was trying to use the
ov
environment more proactively in anticipation of the upcoming WordCamp. During this I noticed thatov
was considerably slower than it should've been when running under emulation on macOS. This PR aims to fix that.Description
This PR allows us to go back to running
ov
in the architecture native to the host machine instead of emulating forlinux/amd64
. This change significantly improves performance.For example, it would take many minutes for linting to set up and run earlier, which now only takes a few seconds. This makes commits and pushes so much more frictionless.
To do this,
vale
Python package with a simpler download script that automatically downloads architecture specific binaries from GH releases. With this change, we can also drop the entire Python project we had scaffolded inside.vale/
for one dependency.k6
optional in the Dockerfile. It will automatically be installed when the architecture is supported and will be skipped otherwise. If we find ourselves needing it more, we can switch to a method similar to Vale above and get it from GH releases.Testing Instructions
ov
before, clean it up:ov clean
ov init
Checklist
Update index.md
).main
) or a parent feature branch.ov just catalog/generate-docs
for catalogPRs) or the media properties generator (
ov just catalog/generate-docs media-props
for the catalog or
ov just api/generate-docs
for the API) where applicable.Developer Certificate of Origin
Developer Certificate of Origin