Skip to content

proguard: add 'proguard upload' (chunk-upload of R8/ProGuard mappings) #1053

Description

@BYK

Part of the parity effort tracked in #600.

Goal

Implement sentry proguard upload to upload Android ProGuard/R8 mapping files, matching legacy sentry-cli proguard upload / upload-proguard.

Companion to sentry proguard uuid (filed/implemented separately) which computes the deterministic mapping UUID.

Scope

  • sentry proguard upload <path>... — upload one or more mapping files via the chunk-upload + assemble protocol.
  • Each mapping is bundled with name /proguard/<uuid>.txt where <uuid> is the content-checksum UUID.
  • Flags from legacy CLI to consider: --uuid (force UUID), --no-upload, --require-one, --no-reprocessing, project/org targeting.

Technical notes

  • The UUID is uuidv5(uuidv5(NAMESPACE_DNS, "guardsquare.com"), <raw file bytes>) — verified byte-for-byte against the legacy CLI and the rust-proguard crate. Reuse the helper from src/lib/proguard.ts (added with proguard uuid).
  • Reuse the artifact-bundle + chunk-upload infrastructure in src/lib/api/sourcemaps.ts (getChunkUploadOptions, buildArtifactBundle, hashChunks, assemble flow). The assemble endpoint differs for proguard — confirm the correct endpoint.
  • Pure TS, no native deps (mapping files are plain text).

Effort

Medium (2-3 days).

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions