Skip to content

CORE-2855: drop codecov, code climate, greenkeeper and pyup - #3139

Merged
RoyEJohnson merged 3 commits into
mainfrom
core-2855-drop-codecov
Sep 10, 2026
Merged

CORE-2855: drop codecov, code climate, greenkeeper and pyup#3139
RoyEJohnson merged 3 commits into
mainfrom
core-2855-drop-codecov

Conversation

@OpenStaxClaude

@OpenStaxClaude OpenStaxClaude commented Sep 9, 2026

Copy link
Copy Markdown
Contributor

Jira: CORE-2855

Started as "drop Codecov rather than fix the upload"; grew, on review, into retiring every dead code-quality/dependency service still wired into this repo. Four of them, one commit each.

Why deletion instead of a fix

The codecov npm package pinned at 3.8.3 was deprecated by Codecov in 2021, and its upload has been throwing TypeError: result.split is not a function for some time — nothing has landed on Codecov since. Node 14 surfaced that as an UnhandledPromiseRejectionWarning and exited 0, so the Test (unit) job stayed green and the failure was invisible. From node 15 on, unhandled rejections are fatal, which is how #3138 found it.

Fixing it properly means swapping in codecov/codecov-action, and v4+ wants a CODECOV_TOKEN that this repo does not have. That is not worth it, because test:unit already runs jest --coverage against a coverageThreshold of 100% on branches, functions, lines and statements — locally and in CI. A dip in coverage already fails the build; Codecov was reporting on a gate that is enforced harder upstream of it.

Pulling that thread found three more services in the same state — a config file and/or a badge, and nothing in CI feeding them.

Changes

Codecov (80f6b59)

  • remove the codecov devDependency (and its now-orphaned transitive deps from yarn.lock)
  • remove the codecov npm script
  • delete codecov.yml
  • ci:test:unit is now CI=true npm run-script test:unit — no trailing upload step, nothing swallowed, a genuine failure fails CI

Code Climate (c3c25f0)

  • delete .codeclimate.yml
  • drop the Maintainability and Test Coverage badges from the README

There is no cc-test-reporter upload step anywhere in CI (.github/workflows/, concourse/, jenkins/, Makefile), so the Test Coverage badge has been rendering a number nothing produces, and the config only ever excluded *spec.ts(x) from an analysis nobody reads.

Greenkeeper and pyup (7dccbe7)

  • delete greenkeeper.json
  • drop the Updates (pyup) and Greenkeeper badges from the README

Greenkeeper shut down in 2020, and its successor was never set up here. pyup has no config file and no CI step — just a badge. Dependency bumps actually arrive via Dependabot (#3134 for the e2e_tests python side, #3135 for JS), which covers what both of these were nominally for.

That was the last badge in the README, so it now opens on the title.

Verification

grep -ri for codecov, codeclimate, greenkeeper and pyup across the repo returns nothing outside coincidental base64 substrings in yarn.lock integrity hashes. No build, CI or lint step referenced any of the deleted files, so every removal here is inert — the only behavioural change in the whole PR is that ci:test:unit no longer ends in a broken upload.

Notes

  • Repo settings, not code. If the Code Climate GitHub app is still installed on openstax/rex-web it will keep analysing pushes and may keep posting a status regardless of the deleted config. Same for any lingering Codecov/pyup app authorisation. Uninstalling those is an org/repo settings action that a commit cannot do — flagging it rather than leaving it implied.
  • Overlaps CORE-2853: upgrade node 14 -> 22 #3138. That PR changes the same ci:test:unit line to make the upload non-fatal as a stopgap. Whichever merges second needs a trivial conflict resolution; if this one lands first, CORE-2853: upgrade node 14 -> 22 #3138 should drop its stopgap hunk, since there is no longer an upload to guard. Nothing else in this PR touches anything CORE-2853: upgrade node 14 -> 22 #3138 changes.

The codecov npm package (3.8.3) was deprecated in 2021 and its upload has
been failing silently since; node 14 reported it as an
UnhandledPromiseRejectionWarning and exited 0, so CI stayed green.

Coverage is already enforced at 100% (branches/functions/lines/statements)
by the jest coverageThreshold in package.json, which test:unit runs with
--coverage both locally and in CI. Codecov added nothing on top of that,
so remove it rather than mint an upload token for it:

- drop the codecov devDependency and the codecov script
- drop codecov.yml
- ci:test:unit is now just the unit suite, so a real failure fails CI

@RoyEJohnson RoyEJohnson left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

@OpenStaxClaude Go ahead and remove the code climate baggage in this PR, as well.

Code Climate is as stale here as codecov was. There is no test-reporter
upload step anywhere in CI, so the Test Coverage badge has been reporting
on nothing, and .codeclimate.yml only ever excluded spec files from an
analysis nobody reads.

- delete .codeclimate.yml
- drop the Maintainability and Test Coverage badges from the README

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@TomWoodward
TomWoodward temporarily deployed to rex-web-core-2855-drop--2umtv8 September 9, 2026 17:52 Inactive
@OpenStaxClaude

Copy link
Copy Markdown
Contributor Author

Done in c3c25f0.codeclimate.yml deleted and both Code Climate badges (Maintainability, Test Coverage) pulled from the README.

It was in the same shape as codecov: no cc-test-reporter upload step anywhere in CI, so the Test Coverage badge has been rendering a number nothing generates, and the config only ever excluded *spec.ts(x) from an analysis nobody reads. Nothing in the build referenced either file, so the removal is inert.

Two things a commit here cannot reach, flagging rather than guessing:

  • If the Code Climate GitHub app is still installed on openstax/rex-web, it will keep analyzing on push and posting status — that needs uninstalling from the repo/org settings.
  • I left the pyup and Greenkeeper badges alone. Both look just as dead (Greenkeeper shut down in 2020), but they are neither codecov nor Code Climate, so I did not widen the ticket. Happy to sweep them here if you would rather have one cleanup than two — say the word.

PR description updated to match. Marking ready for review once checks report.

@RoyEJohnson RoyEJohnson left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Do the pyup and Greenkeeper baggage as well.

Both services are dead here. Greenkeeper shut down in 2020 and its
successor never ran on this repo; pyup has no config and no CI step.
Dependency bumps arrive via Dependabot instead (#3134, #3135), which
covers both the JS and the e2e_tests python side.

- delete greenkeeper.json
- drop the Updates (pyup) and Greenkeeper badges from the README

That was the last of the badges, so the README now opens on the title.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@TomWoodward
TomWoodward temporarily deployed to rex-web-core-2855-drop--2umtv8 September 9, 2026 18:00 Inactive
@OpenStaxClaude OpenStaxClaude changed the title CORE-2855: drop codecov CORE-2855: drop codecov, code climate, greenkeeper and pyup Sep 9, 2026
@OpenStaxClaude

Copy link
Copy Markdown
Contributor Author

Done in 7dccbe7greenkeeper.json deleted, and the Updates (pyup) and Greenkeeper badges pulled from the README. That was the last badge in the file, so it now opens on the title.

Both were dead in the same way as the other two: Greenkeeper shut down in 2020 and its successor was never set up here; pyup has no config file and no CI step, just a badge. What actually bumps dependencies on this repo is Dependabot — #3134 for the e2e_tests python side, #3135 for JS — which covers what both of these nominally did.

So the branch is now four commits, one service each:

commit service removed
80f6b59 Codecov codecov.yml, devDependency, npm script, yarn.lock entries
c3c25f0 Code Climate .codeclimate.yml, 2 badges
7dccbe7 Greenkeeper + pyup greenkeeper.json, 2 badges

grep -ri for all four names across the repo now returns nothing outside coincidental base64 substrings in yarn.lock integrity hashes, and no build, CI or lint step referenced any of the deleted files. The only behavioural change in the whole PR remains ci:test:unit no longer ending in a broken upload.

One thing still outside what a commit can reach: if the Code Climate GitHub app (or a lingering Codecov/pyup authorization) is still installed on the repo, it will keep running on push regardless of the deleted configs — that needs uninstalling from repo/org settings.

Title and description updated to match the wider scope. Watching checks now; will take it out of draft when they are green.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🟢 Approval recommended

The removals are internally consistent, leave the enforced Jest coverage threshold intact, and introduce no unresolved issues.

Pull request overview

Removes obsolete code-quality and dependency-update integrations while retaining Jest’s enforced coverage gate.

Changes:

  • Removes Codecov integration and orphaned dependencies.
  • Deletes unused Code Climate and Greenkeeper configurations.
  • Removes stale service badges from the README.
File summaries
File Description
package.json Removes Codecov dependency, script, and CI upload step.
yarn.lock Removes Codecov’s orphaned dependency graph.
README.md Removes obsolete service badges.
codecov.yml Deletes unused Codecov configuration.
.codeclimate.yml Deletes unused Code Climate configuration.
greenkeeper.json Deletes retired Greenkeeper configuration.
Review details
  • Files reviewed: 5/6 changed files
  • Comments generated: 0
  • Review effort level: Balanced

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@jivey jivey left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Seems reasonable to me

@RoyEJohnson
RoyEJohnson marked this pull request as ready for review September 10, 2026 18:15
@RoyEJohnson
RoyEJohnson requested a review from a team as a code owner September 10, 2026 18:15
@RoyEJohnson
RoyEJohnson merged commit 89363b1 into main Sep 10, 2026
8 checks passed
@RoyEJohnson
RoyEJohnson deleted the core-2855-drop-codecov branch September 10, 2026 18:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants