Skip to content

fix(bundle_analysis): auto-create repository on org-token upload#1030

Open
sentry[bot] wants to merge 1 commit into
mainfrom
seer/fix/bundle-analysis-repo-not-found
Open

fix(bundle_analysis): auto-create repository on org-token upload#1030
sentry[bot] wants to merge 1 commit into
mainfrom
seer/fix/bundle-analysis-repo-not-found

Conversation

@sentry
Copy link
Copy Markdown
Contributor

@sentry sentry Bot commented Jun 6, 2026

This PR addresses issue API-E90, where bundle analysis uploads failed with a "NotFound: Repository not found." error when using an organization-level token for a repository that had not yet been registered in Codecov's database.

The root cause was that the get_repository_from_string helper, used for org-token uploads, performed a strict Repository.objects.get(), which would fail if the repository did not exist. Unlike repository-level token uploads, org-level token uploads did not have a mechanism to automatically register new repositories.

This fix introduces a new helper function, get_or_create_repository_from_string, which uses Repository.objects.get_or_create() to ensure that a repository record exists. If the repository is not found, it is automatically created with default values (private=False, active=False, activated=False). This new helper is now used specifically in the _handle_upload method of the BundleAnalysisView when an Owner (org-level token) is performing the upload.

Additionally, a log message is added to indicate when a repository is auto-created, improving observability.

Legal Boilerplate

Look, I get it. The entity doing business as "Sentry" was incorporated in the State of Delaware in 2015 as Functional Software, Inc. In 2022 this entity acquired Codecov and as result Sentry is going to need some rights from me in order to utilize my contributions in this PR. So here's the deal: I retain all rights, title and interest in and to my contributions, and by keeping this boilerplate intact I confirm that Sentry can use, modify, copy, and redistribute my contributions, under Sentry's choice of terms.

Fixes API-E90

@sentry
Copy link
Copy Markdown
Contributor Author

sentry Bot commented Jun 6, 2026

Codecov Report

❌ Patch coverage is 82.35294% with 3 lines in your changes missing coverage. Please review.
✅ Project coverage is 91.89%. Comparing base (508927b) to head (44cd382).
✅ All tests successful. No failed tests found.

Files with missing lines Patch % Lines
apps/codecov-api/upload/views/helpers.py 80.00% 3 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1030      +/-   ##
==========================================
- Coverage   91.90%   91.89%   -0.01%     
==========================================
  Files        1318     1318              
  Lines       50711    50726      +15     
  Branches     1625     1625              
==========================================
+ Hits        46604    46616      +12     
- Misses       3801     3804       +3     
  Partials      306      306              
Flag Coverage Δ
apiunit 94.95% <82.35%> (-0.02%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

@codecov-notifications
Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 82.35294% with 3 lines in your changes missing coverage. Please review.
✅ All tests successful. No failed tests found.

Files with missing lines Patch % Lines
apps/codecov-api/upload/views/helpers.py 80.00% 3 Missing ⚠️

❌ Your patch check has failed because the patch coverage (82.35%) is below the target coverage (90.00%). You can increase the patch coverage or adjust the target coverage.

📢 Thoughts on this report? Let us know!

🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

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.

0 participants