Conversation
The x86_64-linux smoke test in CD called CodeOwnership.for_file, which requires config/code_ownership.yml in the CWD. This repo intentionally does not ship that config (removed in e9f29ac), so the step failed with "Can't open config file" on the first real dispatch after #157. Replace the call with CodeOwnership.version, which exercises the cross-compiled Rust native extension (loads the .so, calls into Rust) without depending on a project config — the right check for a platform-gem smoke test. Prior smoke test (pre-#157) called a non-existent method with `|| true`, so it silently no-op'd. #157 switched to a real method and dropped the suppression, exposing the latent missing-config problem once CD next ran on workflow_dispatch. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
dduugg
approved these changes
Apr 17, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
The x86_64-linux smoke test in the CD workflow has been failing since the most recent dispatch (run 24575979309) with:
The step was calling
CodeOwnership.for_file('lib/code_ownership.rb'), which transitively requiresconfig/code_ownership.ymlin the process's working directory. This repo intentionally does not ship that file — it was removed in e9f29ac back in 2023.Why this only showed up now
#157 switched the smoke test from a non-existent method (
CodeOwnership.file_owner_team_names) guarded with|| trueto the realfor_filemethod, and dropped the|| true. The pre-#157 version silently raisedNoMethodErrorand exited 0, so it never actually exercised the native extension. Because the CD workflow only runs onworkflow_dispatch/workflow_call, the regression didn't surface until the next real dispatch — which was this week's v2.1.2 push.What changed
Replace the
for_filecall withCodeOwnership.version. That method calls::RustCodeOwners.version, which:code_ownership.so(proving the cross-compile artifact is packaged and runnable for this ruby/platform).codeowners-rsversion string.This is the right shape for a platform-gem smoke test: we care that the native extension loads and runs on the target platform. Ownership-lookup correctness is covered by the RSpec suite.
How to verify
After merge, dispatch the CD workflow again. The x86_64-linux build should print the
code_ownership+codeowners-rsversions and exit 0 at the smoke step.Checklist
I bumped the gem version (or don't need to) 💎— CI-only change, no gem bump.