Skip to content

Refs #API-33: Replace Codecov with a SimpleCov coverage threshold and drop Ruby 2.7 - #25

Closed
franco-mariani wants to merge 7 commits into
mainfrom
fix/API-33-codecov-upload
Closed

franco-mariani wants to merge 7 commits into
mainfrom
fix/API-33-codecov-upload

Conversation

@franco-mariani

@franco-mariani franco-mariani commented Oct 16, 2026 •

Copy link
Copy Markdown

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).

  • Removes the codecov gem and the Codecov workflow step.
  • 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- artifact.
  • Drops Ruby 2.7 from the matrix: the lockfile has pinned nokogiri 1.17.2 (Ruby >= 3.0) since Dec 2024, so 2.7 fails at bundle install. RuboCop's TargetRubyVersion moves to 3.0.

Before merging, an admin needs to remove specs (2.7) from the required checks on main.

Follow-ups (separate PRs): Pronto + RuboCop on PRs, Brakeman, dependency and Ruby upgrade maybe? (refresh the lockfile, test 3.3/3.4/4.0, raise required_ruby_version)

@franco-mariani
franco-mariani marked this pull request as draft October 16, 2026 11:27

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.

🟡 Changes recommended

The gemspec introduces a consumer-facing Ruby compatibility restriction that the PR description explicitly excludes.

1 open issue
What changed in this PR

This PR separates coverage uploads from test execution so Codecov upload failures no longer fail otherwise passing specs.

Changes:

  • Replace the Codecov gem integration with SimpleCov JSON output.
  • Upgrade the workflow to Codecov Action v5 with an explicit token and coverage file.
  • Remove Ruby 2.7 from CI and raise the lint target and gem minimum to Ruby 3.0.
File Description
spec/​spec_helper.rb Generate JSON coverage in CI instead of uploading from SimpleCov.
graphql_to_rest.gemspec Raise the minimum supported Ruby version to 3.0.
Gemfile.lock Remove the locked Codecov dependency.
Gemfile Remove the Codecov test dependency.
.rubocop.yml Set the Ruby lint target to 3.0.
.github/​workflows/​main.yml Drop Ruby 2.7 and configure Codecov Action v5 uploads.

Review effort: Balanced

Comment thread graphql_to_rest.gemspec Outdated

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 coverage formatter, dependency changes, and non-fatal upload configuration are consistent, with no unresolved blocking findings.

No open issues 🎉

1 resolved since last review

Review effort: Balanced

@franco-mariani franco-mariani changed the title Refs #API-33: Stop failing specs when the Codecov upload fails Refs #API-33: Replace Codecov with a SimpleCov coverage threshold and drop Ruby 2.7 Oct 22, 2026
@franco-mariani
franco-mariani requested review from edvardas-samesystem and povilasjurcys and a balanced review from Copilot October 22, 2026 08:35
@franco-mariani
franco-mariani marked this pull request as ready for review October 22, 2026 08:36
@franco-mariani
franco-mariani requested a review from a team October 22, 2026 08:36

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

No blocking code issues remain; merging still requires the documented removal of the Ruby 2.7 required check.

No open issues 🎉

Review effort: Balanced

@franco-mariani

Copy link
Copy Markdown
Author

Splitting the work in two different PRs #26 & #27

@franco-mariani
franco-mariani deleted the fix/API-33-codecov-upload branch October 22, 2026 10:46
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.

2 participants