mirror of
https://github.com/rudrankriyam/App-Store-Connect-CLI.git
synced 2026-04-25 15:45:48 +03:00
[GH-ISSUE #78] Complete build upload flow (upload + commit) #24
Labels
No labels
bug
bug
documentation
enhancement
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/App-Store-Connect-CLI#24
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @rudrankriyam on GitHub (Jan 24, 2026).
Original GitHub issue: https://github.com/rudrankriyam/App-Store-Connect-CLI/issues/78
Summary
Implement full build upload flow (upload IPA to presigned URLs and finalize). Current
asc builds uploadonly prepares upload records and returns upload operations.Current State (verified)
asc builds uploadcreates the build upload + buildUploadFile reservation but does not perform the actual file upload or commit.API Endpoints (App Store Connect OpenAPI)
POST /v1/buildUploadsGET /v1/buildUploads/{id}POST /v1/buildUploadFilesPATCH /v1/buildUploadFiles/{id}(commit/mark uploaded)Proposed CLI
Flags:
--upload(perform the PUT(s) touploadOperationsand then commit with UpdateBuildUploadFile)--concurrency(optional, default 1)--checksum(optional: verify upload checksums if provided by API)Implementation Plan
cmd/builds_upload.gobuilds uploadcommand to optionally perform uploads.uploaded=true.internal/asc/upload.goAcceptance Criteria
--upload, the IPA is uploaded via the presigned URLs and the upload file is committed.@rudrankriyam commented on GitHub (Jan 24, 2026):
@cursor
Implementation Guide
Codebase Context
This completes the build upload flow. The current
cmd/builds.goandinternal/asc/client_builds.gohave the reservation logic. This issue adds the actual upload + commit.Current State
Looking at
internal/asc/client_builds.go:CreateBuildUploadcreates the upload reservationCreateBuildUploadFilereserves the file slot and returnsuploadOperationsuploadOperationsURLs and callingUpdateBuildUploadFileto commitFile Structure
1. Extend
internal/asc/client_builds.go(~50-100 additional lines)2. Create
internal/asc/upload.go(~150-200 lines)3. Extend
cmd/builds.goorcmd/builds_upload.go(~100-150 additional lines)Upload Flow Summary
API Endpoints Reference
CLI Usage Examples
Testing
make test && make lint@cursor[bot] commented on GitHub (Jan 24, 2026):
Summary:
--upload, concurrency control, checksum verification, and commit viaUpdateBuildUploadFile.ExecuteUploadOperations) with retries and checksum utilities, plus unit tests for slice uploads, failures, and checksum computation.Tests:
make testmake lintNotes:
--checksumrequires--uploadand will error if the API doesn’t provide source file checksums.@rudrankriyam commented on GitHub (Jan 25, 2026):
Closed: implemented in #100.