Skip to content

Refs #API-33: Replace Codecov with a SimpleCov coverage threshold - #27

Merged
franco-mariani merged 3 commits into
mainfrom
fix/API-33-replace-codecov
Oct 26, 2026
Merged

franco-mariani merged 3 commits into
mainfrom
fix/API-33-replace-codecov

Conversation

@franco-mariani

Copy link
Copy Markdown
Contributor

Stacked on #26 (Drop Ruby 2.7 support), which should merge first. GitHub will retarget this PR to main when #26's branch is deleted.

Every specs job is red even when all specs pass: the old codecov gem uploads from SimpleCov's at_exit inside bundle exec rake, Codecov rejects the tokenless upload (Rate limit reached…), and the process exits 1. Codecov hasn't received an upload since 2023-08-18 (#20), and the codecov gem is deprecated (its repo is archived, last release 0.6.0 in Aug 2021).

This PR drops Codecov instead of reviving it:

  • Removes the codecov gem and the Codecov workflow step (and the unused CODECOV_TOKEN env).
  • Keeps SimpleCov and adds minimum_coverage 98 in CI (currently 98.73%), so a PR that drops coverage fails the specs job.
  • Writes the line coverage to the job summary and uploads the HTML report as a coverage-ruby-<version> artifact.

Supersedes #25, which combined this with the Ruby 2.7 removal.

Follow-ups (separate PRs): Pronto + RuboCop on PRs; dependency and Ruby upgrade (refresh the lockfile, test 3.3/3.4/4.0).

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟢 Approval recommended

The dependency removal, coverage threshold, and reporting changes are consistent, with no blocking issues identified.

No open issues 🎉

What changed in this PR

Replaces Codecov uploads with a CI-enforced SimpleCov coverage threshold and GitHub Actions reports, removing the failing external upload dependency. This PR builds on #26’s Ruby 2.7 removal.

Changes:

  • Removes the Codecov dependency, workflow step, and token configuration.
  • Enforces a 98% minimum coverage threshold in CI.
  • Adds line coverage to job summaries and uploads HTML reports per Ruby version.
File Description
spec/​spec_helper.rb Replaces the Codecov formatter with a CI-only coverage threshold.
Gemfile.lock Removes Codecov from the locked dependencies.
Gemfile Removes the Codecov test dependency.
.github/​workflows/​main.yml Replaces Codecov uploads with coverage summaries and report artifacts.

Review effort: Balanced

@franco-mariani
franco-mariani marked this pull request as ready for review October 22, 2026 10:48
Base automatically changed from fix/API-33-drop-ruby-2-7 to main October 26, 2026 07:43
@franco-mariani
franco-mariani merged commit 650fd2a into main Oct 26, 2026
7 checks passed
@franco-mariani
franco-mariani deleted the fix/API-33-replace-codecov branch October 26, 2026 07:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants