codecov / feedback

A place to discuss feedback about the pull request and web product experience.
37 stars 7 forks source link

Count of uploaded files on the PR page, doesn't match the actual count on the commit page #419

Closed vlad-ko closed 2 months ago

vlad-ko commented 5 months ago

If you take a look here, you can see that the HEAD commit says that we have 7 uploads. https://app.codecov.io/gh/vlad-ko/laravel-stripe-app-gh/pull/53

However, if you go the individual commit page, there are only 4 uploads in the list. https://app.codecov.io/gh/vlad-ko/laravel-stripe-app-gh/commit/c04e8f0076d8c735c074676de6b26dd916a93d87

Feels like it's adding 3 CFF (from my config) to the total number of uploads (or sessions). Note, there were no CFF's in this CI run. All the flags were uploaded fresh from the CI.

Relevant CI run: https://github.com/vlad-ko/laravel-stripe-app-gh/actions/runs/9409935502/job/25920747976

The number of uploads in the PR page should match the actual number of uploaded reports.

JerrySentry commented 3 months ago

@vlad-ko there are indeed 7 uploads on the commit, the Upload list in the UI is filtering out the CARRIEDFORWARD uploads, which there were 3, so that's why its showing 4 in the list.

This is what the 7 uploads are:

[
    {
        "node": {
            "id": 3,
            "state": "PROCESSED",
            "provider": null,
            "createdAt": "2024-06-07T00:58:29.145787+00:00",
            "updatedAt": "2024-06-07T00:59:25.603045+00:00",
            "flags": [
                "unit"
            ],
            "jobCode": ".github/workflows/pr-only.yaml",
            "downloadUrl": "https://api.codecov.io/upload/gh/vlad-ko/laravel-stripe-app-gh/download?path=v4/raw/2024-06-07/ED028FAB219DE1B2651D74CED0134393/c04e8f0076d8c735c074676de6b26dd916a93d87/bcaa8d3e-308a-424e-8901-2de41cfc79ab/56af0a68-6474-4e1b-a634-9899a6ca424f.txt",
            "ciUrl": "https://github.com/vlad-ko/laravel-stripe-app-gh/actions/runs/9409935502",
            "uploadType": "UPLOADED",
            "buildCode": null,
            "name": "unit-9409935502",
            "errors": {
                "edges": []
            }
        }
    },
    {
        "node": {
            "id": 3,
            "state": "COMPLETE",
            "provider": null,
            "createdAt": "2024-06-07T00:59:00.607913+00:00",
            "updatedAt": "2024-06-07T00:59:00.607917+00:00",
            "flags": [
                "controller"
            ],
            "jobCode": ".github/workflows/pr-only.yaml",
            "downloadUrl": "https://api.codecov.io/upload/gh/vlad-ko/laravel-stripe-app-gh/download?path=v4/raw/2024-06-07/ED028FAB219DE1B2651D74CED0134393/f46f5dbce7c97f16f92707482a4a34d3801c559e/edb40b8a-5608-4576-957b-8e3528ca43b5/9f106c14-dd73-4b83-bba1-b254a519f0e3.txt",
            "ciUrl": "https://github.com/vlad-ko/laravel-stripe-app-gh/actions/runs/9409804216",
            "uploadType": "CARRIEDFORWARD",
            "buildCode": null,
            "name": "CF[2] - controller-9409804216",
            "errors": {
                "edges": []
            }
        }
    },
    {
        "node": {
            "id": 4,
            "state": "PROCESSED",
            "provider": null,
            "createdAt": "2024-06-07T00:58:24.437992+00:00",
            "updatedAt": "2024-06-07T00:59:25.116481+00:00",
            "flags": [
                "service"
            ],
            "jobCode": ".github/workflows/pr-only.yaml",
            "downloadUrl": "https://api.codecov.io/upload/gh/vlad-ko/laravel-stripe-app-gh/download?path=v4/raw/2024-06-07/ED028FAB219DE1B2651D74CED0134393/c04e8f0076d8c735c074676de6b26dd916a93d87/bcaa8d3e-308a-424e-8901-2de41cfc79ab/3f6551fd-b7e2-42a3-a48c-bb9a0327c946.txt",
            "ciUrl": "https://github.com/vlad-ko/laravel-stripe-app-gh/actions/runs/9409935502",
            "uploadType": "UPLOADED",
            "buildCode": null,
            "name": "service-9409935502",
            "errors": {
                "edges": []
            }
        }
    },
    {
        "node": {
            "id": 5,
            "state": "COMPLETE",
            "provider": null,
            "createdAt": "2024-06-07T00:59:00.613298+00:00",
            "updatedAt": "2024-06-07T00:59:00.613301+00:00",
            "flags": [
                "unit"
            ],
            "jobCode": ".github/workflows/pr-only.yaml",
            "downloadUrl": "https://api.codecov.io/upload/gh/vlad-ko/laravel-stripe-app-gh/download?path=v4/raw/2024-06-07/ED028FAB219DE1B2651D74CED0134393/f46f5dbce7c97f16f92707482a4a34d3801c559e/edb40b8a-5608-4576-957b-8e3528ca43b5/10911bd6-299c-431e-9ba1-b55bd779a6a8.txt",
            "ciUrl": "https://github.com/vlad-ko/laravel-stripe-app-gh/actions/runs/9409804216",
            "uploadType": "CARRIEDFORWARD",
            "buildCode": null,
            "name": "CF[2] - unit-9409804216",
            "errors": {
                "edges": []
            }
        }
    },
    {
        "node": {
            "id": 5,
            "state": "PROCESSED",
            "provider": null,
            "createdAt": "2024-06-07T00:58:33.510508+00:00",
            "updatedAt": "2024-06-07T01:00:01.276847+00:00",
            "flags": [
                "javascript"
            ],
            "jobCode": ".github/workflows/pr-only.yaml",
            "downloadUrl": "https://api.codecov.io/upload/gh/vlad-ko/laravel-stripe-app-gh/download?path=v4/raw/2024-06-07/ED028FAB219DE1B2651D74CED0134393/c04e8f0076d8c735c074676de6b26dd916a93d87/bcaa8d3e-308a-424e-8901-2de41cfc79ab/e55aadb9-2612-47b7-a05e-30e60ca560e5.txt",
            "ciUrl": "https://github.com/vlad-ko/laravel-stripe-app-gh/actions/runs/9409935502",
            "uploadType": "UPLOADED",
            "buildCode": null,
            "name": "javascript-9409935502",
            "errors": {
                "edges": []
            }
        }
    },
    {
        "node": {
            "id": 6,
            "state": "COMPLETE",
            "provider": null,
            "createdAt": "2024-06-07T00:59:00.617832+00:00",
            "updatedAt": "2024-06-07T00:59:00.617835+00:00",
            "flags": [
                "service"
            ],
            "jobCode": ".github/workflows/pr-only.yaml",
            "downloadUrl": "https://api.codecov.io/upload/gh/vlad-ko/laravel-stripe-app-gh/download?path=v4/raw/2024-06-07/ED028FAB219DE1B2651D74CED0134393/71b0095835111b9cf2082ad85f9e8b6ffe4bbc44/5fe2d905-f08f-4d80-bcaa-6b4aa960e8a6/e9dfc9ee-e5b5-48b4-8c60-ee87ca498758.txt",
            "ciUrl": "https://github.com/vlad-ko/laravel-stripe-app-gh/actions/runs/9409865963",
            "uploadType": "CARRIEDFORWARD",
            "buildCode": null,
            "name": "CF[1] - service-9409865963",
            "errors": {
                "edges": []
            }
        }
    },
    {
        "node": {
            "id": 6,
            "state": "PROCESSED",
            "provider": null,
            "createdAt": "2024-06-07T00:58:26.734242+00:00",
            "updatedAt": "2024-06-07T00:59:25.319891+00:00",
            "flags": [
                "controller"
            ],
            "jobCode": ".github/workflows/pr-only.yaml",
            "downloadUrl": "https://api.codecov.io/upload/gh/vlad-ko/laravel-stripe-app-gh/download?path=v4/raw/2024-06-07/ED028FAB219DE1B2651D74CED0134393/c04e8f0076d8c735c074676de6b26dd916a93d87/bcaa8d3e-308a-424e-8901-2de41cfc79ab/808628cf-4bcf-4227-b0e7-a64b4103794c.txt",
            "ciUrl": "https://github.com/vlad-ko/laravel-stripe-app-gh/actions/runs/9409935502",
            "uploadType": "UPLOADED",
            "buildCode": null,
            "name": "controller-9409935502",
            "errors": {
                "edges": []
            }
        }
    }
]
drazisil-codecov commented 3 months ago

It's supposed to remove duplicates. When did we switch to fully hiding, and why does it count in one place, but not the other? If you say there are X of something , I expect to see X of something, not Y.

JerrySentry commented 3 months ago

@drazisil-codecov

Hmm what is supposed to remove duplicates? Apparently the api was "removing" duplicates in the uploads list response object, but it just returns every upload because performance reasons (PR), so now the frontend is "removing" duplicates by not showing it.

What would be the expected behavior in this case?

  1. The Pull page should show 4 (not 7) and the Upload list for the Commit page remains the same
  2. The Upload list shows 7 uploads (including the duplicated ones) and the Pull page remains the same
drazisil-codecov commented 3 months ago

@JerrySentry It should be https://github.com/codecov/gazebo/blob/3ed348ae4d64b00609a5e924723a9b6e4259ccae/src/shared/utils/extractUploads.js#L13

JerrySentry commented 3 months ago

@drazisil-codecov

Ok I take it that means the expected behavior should be that Pull page should show 4 (not 7) and the Upload list for the Commit page remains the same.

On the frontend in the CompareSummary currently it is pulling uploads.totalCount for number of uploads for head and base, we should instead count the number of uploads after it applied the deleteDuplicateCFFUploads logic.

katia-sentry commented 2 months ago

I've assigned @RulaKhaled to do the frontend changes. Please sync with Jerry for clarity if needed