Not able to view file changes on codecov with rails and GitHub actions

Before submitting a topic, please confirm the following

I have searched for similar issues before creating this topic.
I have verified that my repository is using the Codecov GitHub app, if using GitHub
I have validated my codecov.yaml configuration file.
I have filled out the below sections to the best of my ability.

Description

I am getting the “There was a problem getting the source code from your provider. Unable to show line by line coverage.” error on codecov.

CI/CD URL

N/A

Codecov Output

Please provide the full output of running the uploader on your CI/CD. This will typically have the Codecov logo as ASCII.

==> linux OS detected
https://uploader.codecov.io/latest/linux/codecov.SHA256SUM
==> SHASUM file signed by key id 806bb28aed779869
==> Uploader SHASUM verified (20f9c9d78483fce977b6cc39e231a734a23bcd36f4d536bb7355222fb88d02bc  codecov)
==> Running version latest
==> Running version v0.3.2
/home/runner/work/_actions/codecov/codecov-action/v3/dist/codecov -n  -Q github-action-3.1.1 -Z -f coverage/coverage.xml -C f6e05c1f4b7bd899708a3fad4b3cde9055ae2a39
[2023-01-22T22:03:52.484Z] ['info'] 
     _____          _
    / ____|        | |
   | |     ___   __| | ___  ___ _____   __
   | |    / _ \ / _` |/ _ \/ __/ _ \ \ / /
   | |___| (_) | (_| |  __/ (_| (_) \ V /
    \_____\___/ \__,_|\___|\___\___/ \_/

  Codecov report uploader 0.3.2
[2023-01-22T22:03:52.496Z] ['info'] => Project root located at: /home/runner/work/paychecq-api/paychecq-api
[2023-01-22T22:03:52.497Z] ['info'] ->  Token found by environment variables
[2023-01-22T22:03:52.509Z] ['info'] Searching for coverage files...
[2023-01-22T22:03:52.736Z] ['info'] => Found 1 possible coverage files:
  coverage/coverage.xml
[2023-01-22T22:03:52.736Z] ['info'] Processing /home/runner/work/paychecq-api/paychecq-api/coverage/coverage.xml...
[2023-01-22T22:03:52.742Z] ['info'] Using manual override from args.
[2023-01-22T22:03:52.742Z] ['info'] Detected GitHub Actions as the CI provider.
[2023-01-22T22:03:52.744Z] ['info'] Pinging Codecov: https://codecov.io/upload/v4?package=github-action-3.1.1-uploader-0.3.2&token=*******&branch=dl-admin-sessions-controller&build=3981723692&build_url=https%3A%2F%2Fgithub.com%2Fdouglasrlee%2Fpaychecq-api%2Factions%2Fruns%2F3981723692&commit=f6e05c1f4b7bd899708a3fad4b3cde9055ae2a39&job=Ruby+Checks&pr=45&service=github-actions&slug=douglasrlee%2Fpaychecq-api&name=&tag=&flags=&parent=
[2023-01-22T22:03:53.133Z] ['info'] https://app.codecov.io/github/douglasrlee/paychecq-api/commit/f6e05c1f4b7bd899708a3fad4b3cde9055ae2a39
https://storage.googleapis.com/codecov/v4/raw/2023-01-22/E9E3FAFA267A7C47A6FDEECC2D55E0AE/f6e05c1f4b7bd899708a3fad4b3cde9055ae2a39/163427ec-0bd8-45a2-8447-9d410f365f5d.txt?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=GOOG1EJOGFN2JQ4OCTGA2MU5AEIT7OT5Z7HTFOAN2SPG4NWSN2UJYOY5U6LZQ%2F20230122%2FUS%2Fs3%2Faws4_request&X-Amz-Date=20230122T220353Z&X-Amz-Expires=10&X-Amz-SignedHeaders=host&X-Amz-Signature=ad34f89386bf4a3986228fe1b3b10934ed0b30ea6b36f352112992036cbc04ea
[2023-01-22T22:03:53.134Z] ['info'] Uploading...
[2023-01-22T22:03:53.350Z] ['info'] {"status":"success","resultURL":"https://app.codecov.io/github/douglasrlee/paychecq-api/commit/f6e05c1f4b7bd899708a3fad4b3cde9055ae2a39"}

Expected Results

Please provide what you expect to have happened (e.g. a file that has missing coverage on a particular line).

Actual Results

Additional Information

I am using the rails simplecov uploader like below:

if ENV['CI'] == 'true'
  require 'simplecov'
  require 'simplecov-cobertura'

  SimpleCov.start('rails')
  SimpleCov.formatter = SimpleCov::Formatter::CoberturaFormatter
end

I’m using GitHub actions and here is an example of the coverage.xml that is generated:

<?xml version='1.0'?> 
<!DOCTYPE coverage SYSTEM "http://cobertura.sourceforge.net/xml/coverage-04.dtd">
<!-- Generated by simplecov-cobertura version 2.1.0 (https://github.com/dashingrocket/simplecov-cobertura) -->
<coverage line-rate="0.93" lines-covered="199" lines-valid="215" complexity="0" version="0" timestamp="1674425030">
 <sources>
   <source>/home/runner/work/paychecq-api/paychecq-api</source>
 </sources>
 <packages>
   <package name="Controllers" line-rate="0.79" complexity="0">
     <classes>
       <class name="application_controller" filename="app/controllers/application_controller.rb" line-rate="0.89" complexity="0">
         <methods/>
         <lines>
           <line number="3" hits="1"/>
           <line number="4" hits="1"/>
           <line number="6" hits="1"/>
           <line number="8" hits="1"/>
           <line number="9" hits="1"/>
           <line number="10" hits="1"/>
           <line number="11" hits="1"/>
           <line number="13" hits="1"/>
           <line number="14" hits="6"/>
           <line number="17" hits="1"/>
           <line number="18" hits="0"/>
           <line number="21" hits="1"/>
           <line number="22" hits="0"/>
           <line number="25" hits="1"/>
           <line number="26" hits="0"/>
           <line number="28" hits="0"/>
           <line number="31" hits="1"/>
           <line number="32" hits="6"/>
           <line number="34" hits="6"/>
           <line number="35" hits="5"/>
           <line number="37" hits="5"/>
           <line number="39" hits="5"/>
           <line number="41" hits="5"/>
           <line number="42" hits="5"/>
           <line number="43" hits="5"/>
           <line number="45" hits="5"/>
           <line number="47" hits="5"/>
           <line number="48" hits="5"/>
           <line number="50" hits="5"/>
           <line number="53" hits="1"/>
           <line number="54" hits="2"/>
           <line number="57" hits="1"/>
           <line number="58" hits="6"/>
           <line number="61" hits="1"/>
           <line number="62" hits="2"/>
         </lines>
       </class>
       <class name="sessions_controller" filename="app/controllers/auth/admin/sessions_controller.rb" line-rate="0.29" complexity="0">
         <methods/>
         <lines>
           <line number="3" hits="1"/>
           <line number="4" hits="1"/>
           <line number="6" hits="1"/>
           <line number="7" hits="0"/>
           <line number="9" hits="0"/>
           <line number="10" hits="0"/>
           <line number="12" hits="0"/>
           <line number="14" hits="0"/>
           <line number="16" hits="0"/>
           <line number="20" hits="1"/>
           <line number="21" hits="0"/>
           <line number="23" hits="0"/>
           <line number="25" hits="0"/>
           <line number="28" hits="1"/>
           <line number="29" hits="0"/>
           <line number="30" hits="0"/>
           <line number="32" hits="0"/>
         </lines>
       </class>
       <class name="healths_controller" filename="app/controllers/v1/healths_controller.rb" line-rate="1.0" complexity="0">
         <methods/>
         <lines>
           <line number="3" hits="1"/>
           <line number="4" hits="1"/>
           <line number="5" hits="2"/>
         </lines>
       </class>
       <class name="tokens_controller" filename="app/controllers/v1/tokens_controller.rb" line-rate="1.0" complexity="0">
         <methods/>
         <lines>
           <line number="3" hits="1"/>
           <line number="4" hits="1"/>
           <line number="5" hits="11"/>
           <line number="7" hits="4"/>
           <line number="10" hits="1"/>
           <line number="11" hits="11"/>
         </lines>
       </class>
       <class name="users_controller" filename="app/controllers/v1/users_controller.rb" line-rate="1.0" complexity="0">
         <methods/>
         <lines>
           <line number="3" hits="1"/>
           <line number="4" hits="7"/>
           <line number="6" hits="1"/>
           <line number="7" hits="5"/>
           <line number="9" hits="3"/>
           <line number="10" hits="3"/>
           <line number="11" hits="3"/>
           <line number="12" hits="3"/>
           <line number="14" hits="3"/>
           <line number="22" hits="1"/>
           <line number="23" hits="5"/>
           <line number="24" hits="3"/>
           <line number="25" hits="3"/>
           <line number="27" hits="3"/>
         </lines>
       </class>
     </classes>
   </package>
   <package name="Channels" line-rate="1.0" complexity="0">
     <classes>
       <class name="channel" filename="app/channels/application_cable/channel.rb" line-rate="1.0" complexity="0">
         <methods/>
         <lines>
           <line number="3" hits="1"/>
         </lines>
       </class>
       <class name="connection" filename="app/channels/application_cable/connection.rb" line-rate="1.0" complexity="0">
         <methods/>
         <lines>
           <line number="3" hits="1"/>
         </lines>
       </class>
     </classes>
   </package>
   <package name="Models" line-rate="1.0" complexity="0">
     <classes>
       <class name="admin" filename="app/models/admin.rb" line-rate="1.0" complexity="0">
         <methods/>
         <lines>
           <line number="3" hits="1"/>
           <line number="4" hits="1"/>
           <line number="6" hits="1"/>
           <line number="7" hits="1"/>
           <line number="9" hits="3"/>
           <line number="11" hits="1"/>
           <line number="13" hits="1"/>
           <line number="14" hits="1"/>
         </lines>
       </class>
       <class name="application_record" filename="app/models/application_record.rb" line-rate="1.0" complexity="0">
         <methods/>
         <lines>
           <line number="3" hits="1"/>
           <line number="4" hits="1"/>
         </lines>
       </class>
       <class name="client" filename="app/models/client.rb" line-rate="1.0" complexity="0">
         <methods/>
         <lines>
           <line number="3" hits="1"/>
           <line number="4" hits="1"/>
           <line number="6" hits="32"/>
           <line number="8" hits="1"/>
           <line number="10" hits="1"/>
           <line number="11" hits="30"/>
         </lines>
       </class>
       <class name="user" filename="app/models/user.rb" line-rate="1.0" complexity="0">
         <methods/>
         <lines>
           <line number="3" hits="1"/>
           <line number="4" hits="1"/>
           <line number="6" hits="1"/>
           <line number="7" hits="1"/>
           <line number="9" hits="30"/>
           <line number="11" hits="1"/>
           <line number="13" hits="1"/>
           <line number="14" hits="25"/>
         </lines>
       </class>
     </classes>
   </package>
   <package name="Mailers" line-rate="1.0" complexity="0">
     <classes>
       <class name="application_mailer" filename="app/mailers/application_mailer.rb" line-rate="1.0" complexity="0">
         <methods/>
         <lines>
           <line number="3" hits="1"/>
           <line number="4" hits="1"/>
           <line number="5" hits="1"/>
         </lines>
       </class>
     </classes>
   </package>
   <package name="Helpers" line-rate="1.0" complexity="0">
     <classes>
       <class name="application_helper" filename="app/helpers/application_helper.rb" line-rate="1.0" complexity="0">
         <methods/>
         <lines>
           <line number="3" hits="1"/>
         </lines>
       </class>
     </classes>
   </package>
   <package name="Jobs" line-rate="1.0" complexity="0">
     <classes>
       <class name="application_job" filename="app/jobs/application_job.rb" line-rate="1.0" complexity="0">
         <methods/>
         <lines>
           <line number="3" hits="1"/>
         </lines>
       </class>
     </classes>
   </package>
   <package name="Ungrouped" line-rate="1.0" complexity="0">
     <classes>
       <class name="dashboard" filename="app/admin/dashboard.rb" line-rate="1.0" complexity="0">
         <methods/>
         <lines/>
       </class>
       <class name="o_auth2_error" filename="app/errors/o_auth2_error.rb" line-rate="1.0" complexity="0">
         <methods/>
         <lines>
           <line number="3" hits="1"/>
         </lines>
       </class>
       <class name="o_auth2_invalid_credentials_error" filename="app/errors/o_auth2_invalid_credentials_error.rb" line-rate="1.0" complexity="0">
         <methods/>
         <lines>
           <line number="3" hits="1"/>
         </lines>
       </class>
       <class name="application_policy" filename="app/policies/application_policy.rb" line-rate="1.0" complexity="0">
         <methods/>
         <lines>
           <line number="3" hits="1"/>
           <line number="4" hits="1"/>
           <line number="6" hits="1"/>
           <line number="7" hits="30"/>
           <line number="8" hits="30"/>
           <line number="11" hits="1"/>
           <line number="12" hits="3"/>
           <line number="15" hits="1"/>
           <line number="16" hits="3"/>
           <line number="19" hits="1"/>
           <line number="20" hits="15"/>
           <line number="23" hits="1"/>
           <line number="24" hits="3"/>
           <line number="27" hits="1"/>
           <line number="28" hits="6"/>
           <line number="31" hits="1"/>
           <line number="32" hits="3"/>
           <line number="35" hits="1"/>
           <line number="36" hits="3"/>
           <line number="39" hits="1"/>
           <line number="40" hits="1"/>
           <line number="41" hits="1"/>
           <line number="42" hits="1"/>
           <line number="45" hits="1"/>
           <line number="46" hits="1"/>
           <line number="49" hits="1"/>
           <line number="51" hits="1"/>
         </lines>
       </class>
       <class name="user_policy" filename="app/policies/user_policy.rb" line-rate="1.0" complexity="0">
         <methods/>
         <lines>
           <line number="3" hits="1"/>
           <line number="4" hits="1"/>
           <line number="5" hits="9"/>
         </lines>
       </class>
       <class name="authentication_service" filename="app/services/authentication_service.rb" line-rate="1.0" complexity="0">
         <methods/>
         <lines>
           <line number="3" hits="1"/>
           <line number="5" hits="1"/>
           <line number="6" hits="1"/>
           <line number="8" hits="1"/>
           <line number="9" hits="33"/>
           <line number="11" hits="33"/>
           <line number="14" hits="1"/>
           <line number="15" hits="7"/>
           <line number="17" hits="7"/>
         </lines>
       </class>
       <class name="health_service" filename="app/services/health_service.rb" line-rate="1.0" complexity="0">
         <methods/>
         <lines>
           <line number="3" hits="1"/>
           <line number="4" hits="1"/>
           <line number="5" hits="12"/>
           <line number="8" hits="1"/>
           <line number="9" hits="4"/>
           <line number="12" hits="1"/>
           <line number="13" hits="10"/>
           <line number="16" hits="1"/>
           <line number="17" hits="4"/>
           <line number="20" hits="1"/>
           <line number="21" hits="9"/>
           <line number="24" hits="1"/>
           <line number="25" hits="4"/>
         </lines>
       </class>
       <class name="jwt_service" filename="app/services/jwt_service.rb" line-rate="1.0" complexity="0">
         <methods/>
         <lines>
           <line number="3" hits="1"/>
           <line number="5" hits="1"/>
           <line number="6" hits="1"/>
           <line number="7" hits="1"/>
           <line number="8" hits="1"/>
           <line number="9" hits="1"/>
           <line number="10" hits="1"/>
           <line number="11" hits="1"/>
           <line number="13" hits="1"/>
           <line number="14" hits="6"/>
           <line number="17" hits="6"/>
           <line number="31" hits="6"/>
           <line number="34" hits="1"/>
           <line number="36" hits="8"/>
           <line number="46" hits="8"/>
           <line number="49" hits="1"/>
           <line number="51" hits="8"/>
           <line number="61" hits="8"/>
         </lines>
       </class>
       <class name="o_auth2_service" filename="app/services/o_auth2_service.rb" line-rate="1.0" complexity="0">
         <methods/>
         <lines>
           <line number="3" hits="1"/>
           <line number="5" hits="1"/>
           <line number="6" hits="1"/>
           <line number="7" hits="22"/>
           <line number="9" hits="18"/>
           <line number="10" hits="15"/>
           <line number="11" hits="14"/>
           <line number="13" hits="13"/>
           <line number="15" hits="13"/>
           <line number="18" hits="10"/>
           <line number="24" hits="10"/>
           <line number="26" hits="10"/>
           <line number="29" hits="1"/>
           <line number="30" hits="17"/>
           <line number="31" hits="14"/>
           <line number="33" hits="12"/>
           <line number="35" hits="12"/>
           <line number="37" hits="12"/>
           <line number="38" hits="12"/>
           <line number="39" hits="12"/>
           <line number="41" hits="12"/>
           <line number="43" hits="11"/>
           <line number="44" hits="11"/>
           <line number="46" hits="11"/>
           <line number="48" hits="11"/>
           <line number="50" hits="8"/>
           <line number="53" hits="1"/>
           <line number="54" hits="9"/>
           <line number="57" hits="1"/>
           <line number="58" hits="8"/>
           <line number="61" hits="1"/>
           <line number="62" hits="7"/>
         </lines>
       </class>
       <class name="user_service" filename="app/services/user_service.rb" line-rate="1.0" complexity="0">
         <methods/>
         <lines>
           <line number="3" hits="1"/>
           <line number="4" hits="1"/>
           <line number="5" hits="12"/>
           <line number="6" hits="12"/>
           <line number="7" hits="12"/>
         </lines>
       </class>
     </classes>
   </package>
 </packages>
380
</coverage>

@douglasrlee this is super weird, I made a ticket with the engineering team to take a look. Thanks for your patience here.

Can you confirm that filename="app/controllers/application_controller.rb" is an accurate path from root?

@tom that is correct.

@douglasrlee I suspect this is a permissions issue. Can you logout and sign back in at Codecov? I believe you have not given private repo scope, which is why Codecov cannot use your credentials to pull source code.

Oh nice @tom. That did work. Weird.

1 Like