Skip to content

feature: upload improvements #244

Description

@madebydavid

Background

  • Game uploads are currently handled by the ship function in src/utils/ship/index.ts and uploadZip in src/utils/ship/upload.ts
  • It is a straightforward zip and then upload to a given signed URL. This is going directly to a Digital Ocean space
  • There is no retry handling, any connection issue would force the user to rerun the command - just a single fetch which can fail
  • The zip is uploaded in a single PUT request, no multipart or resume
  • If the user has not change the game code much, rerunning the shipthis game ship command re-uploads all files

Nice to haves

  • A retry mechanism around the fetch (with an increasing backoff/delay)
  • Compute the zip hash before upload and only upload if different from last upload?
  • Allow the user to rerun a build on an old upload? (backend change)
  • Implement multi-part upload for resilience
  • Incremental upload - is there some way to determine what changed since last ship command run and only upload those changes?
  • Estimate and show the upload time before starting?

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions