Skip to content

Conversation

@perryqh
Copy link
Contributor

@perryqh perryqh commented Aug 12, 2025

What is this change doing?

Replaces github CODEOWNERS generation, validation, and per-file ownership ruby implementation with a FFI to codeowners-rs.

This is a breaking change as extensions will no longer be supported.

Why?

The pure ruby implementation is very slow against a large repo

Ruby -> Rust

Screenshot 2025-08-13 at 14 05 14

Benchmark 1: direct codeowners-rs
Benchmark 2: code_ownership gem -> codeowners-rs (this PR). Less than 1/2 second slower than pure rust!

Ruby only - code_ownership v1.39.0

Screenshot 2025-08-13 at 14 08 31

Benchmark 1: code_ownership v1.39.0

@github-project-automation github-project-automation bot moved this to Triage in Modularity Aug 12, 2025
@perryqh perryqh changed the title [WIP] Native extension [WIP] FFI codeowners-rs Aug 12, 2025
@perryqh perryqh force-pushed the ph/native-extension branch from c611a49 to a614bc8 Compare August 12, 2025 00:46
@perryqh perryqh force-pushed the ph/native-extension branch from a614bc8 to e743fad Compare August 12, 2025 00:53
@perryqh perryqh changed the title [WIP] FFI codeowners-rs FFI codeowners-rs Aug 12, 2025
@perryqh perryqh force-pushed the ph/native-extension branch from 716b196 to 15dad90 Compare August 12, 2025 12:39
@perryqh perryqh force-pushed the ph/native-extension branch from 15dad90 to 0ea6b27 Compare August 12, 2025 12:39
@perryqh perryqh force-pushed the ph/native-extension branch from d502e94 to dbc8624 Compare August 12, 2025 21:12
@perryqh perryqh marked this pull request as ready for review August 13, 2025 19:11
Copy link
Contributor

@ashleywillard ashleywillard left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚀

@perryqh perryqh merged commit ffac2f5 into main Aug 14, 2025
9 checks passed
@perryqh perryqh deleted the ph/native-extension branch August 14, 2025 22:12
@github-project-automation github-project-automation bot moved this from Triage to Done in Modularity Aug 14, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

3 participants