non-production: set up codecov in this repo#8
Merged
Merged
Conversation
Coverage Report for CI Build 29343722369Coverage decreased (-68.1%) to 31.9%Details
Uncovered ChangesNo uncovered changes found. Coverage RegressionsNo coverage regressions found. Coverage Stats
💛 - Coveralls |
There was a problem hiding this comment.
Pull request overview
Sets up Codecov reporting for this gem by ensuring coverage is collected correctly during CI runs and by configuring Codecov’s status checks.
Changes:
- Start SimpleCov before the gem code loads by moving coverage setup into
spec/simplecov_helper.rb. - Emit
coverage/lcov.infoon GitHub Actions (and HTML locally) to support Codecov uploads. - Configure Codecov status thresholds via
codecov.yml, and pass secrets through the reusable CI workflow.
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
spec/spec_helper.rb |
Requires the new SimpleCov bootstrap before loading the gem under test. |
spec/simplecov_helper.rb |
Centralizes SimpleCov configuration and switches formatters based on CI vs local runs. |
codecov.yml |
Adds Codecov status configuration with low thresholds and target: auto. |
.github/workflows/pipeline.yml |
Updates the reusable workflow job to pass secrets through for Codecov uploads. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Welcome to Codecov 🎉Once you merge this PR into your default branch, you're all set! Codecov will compare coverage reports and display results in all future pull requests. Thanks for integrating Codecov - We've got you covered ☂️ |
- Pass secrets: inherit to the shared ruby-test-matrix workflow so CODECOV_TOKEN reaches the Codecov upload step - Move the existing SimpleCov config into spec/simplecov_helper.rb, loaded before the gem code so coverage is measured correctly, emitting coverage/lcov.info on CI - Add repo-level codecov.yml (coverage at or below 80%)
dcaddell
approved these changes
Jul 15, 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.
non-production: set up codecov in this repo
Summary of Changes
secrets: inheritto the shared ruby-test-matrix workflow soCODECOV_TOKENreaches the Codecov upload step.spec/spec_helper.rbintospec/simplecov_helper.rb, required before the gem code loads. Previously SimpleCov started afteractive_record/data_classificationwas already required, so lib files were not measured. On CI it emitscoverage/lcov.infovia simplecov-lcov; locally it uses the HTML formatter.codecov.ymlwithtarget: auto/ 1% threshold for project and patch statuses, since measured coverage is at or below 80%.Measured local coverage: 31.9% line coverage (9 examples, 0 failures on Ruby 3.2.1). Verified
coverage/lcov.infois generated withGITHUB_ACTIONS=true.No dependency changes needed: simplecov and simplecov-lcov were already in the Gemfile and Gemfile.lock, and
/coverage/was already gitignored.