Our code coverage tend to fluctuate (when it should be sitting pretty at 89% in April 2020). That's partly because our tests themselves are flaky (but we're not talking about that here), and partly, possibly because the gem codecov-ruby attempts to upload coverage data just once and does not retry.
The gem is updated infrequently. We can switch to the Codecov Bash uploader, which is more actively maintained and does have retrying behavior. It also uses the pull request commit HEAD on Travis, if available.
Codecov has an example repo showing how to set this up.
How to test: check https://codecov.io/gh/otwcode/otwarchive/branch/master ~1h after the change is merged. The most recent commit should be marked with " CI Passed" and the latest number on the graph should be ~89%.