-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
[REQUEST] Package standalone ruff
binary & include in GitHub releases
#2330
Comments
@charliermarsh I'd be happy to contribute this so we can run |
@rahul-theorem - Yeah I'm happy to include the binaries in the GitHub release. My only hesitation is that right now, our release process only includes building the Python wheels (which themselves package the per-platform binaries), so it may require more work than merely adding the wheels to the release (unless that works too?). |
Thanks for the quick reply @charliermarsh! I just took a look through |
> rm target/debug/ruff
> maturin build
> ls target/debug/ruff
target/debug/ruff (In release, that would be So, without looking at the YAML deeply, I think it should be enough to just wire those built binaries up to the final GitHub release -- we're already building them, and they exist in the filesystem after running |
Ah nice. Happy to take a swing at this later today or tomorrow - from some basic testing (without running it as part of our build) it's pretty mind-blowing how quickly it can lint our mono-repo! |
That's what I like to hear :) |
Note that we should name the artifact something like |
@messense is that something that |
No, maturin is for building python wheels so I don't think this is suitable to include in it. |
|
My current thinking is that we'll just copy ripgrep's release workflow, except instead of creating the GitHub Release, we'll trigger the workflow by the creation of a GitHub Release. |
@rahul-theorem I'm intrigued by the ruff aspect you mentioned for your Python Bazel project. Is this setup something you could share? I'd like to do the same. |
Context for the request
I just came across
ruff
and it looks like a very promising pyflakes/isort replacement. We use Bazel to manage a large Python monorepo, and this seems like it could help shorten some critical dev loops and lead to a perf improvement in CI.However, given the way that ruff is packaged (ie. the main python entrypoint just shells out to the
ruff
binary under the hood), it doesn't seem like we'll be able to userules_python
+ theentry_point
macro from pip-parse to include ruff as a tool in our build (see bazelbuild/rules_python#1000 for more discussion)Request
OTOH, if ruff were available as a standalone binary (along w/ the source tgz/zip) as part of the GitHub release, we can pull this into our build w/
http_archive
/set it up as an executable tool. This seems like it should be fairly straightforward to bake into the release process as a release assetThe text was updated successfully, but these errors were encountered: