prepare source and resume an upload
Check captured inputs and recover an interrupted submission without creating a new job.
For: Advanced: source uploads and recovery
Use this guide to check what a job will upload or resume an interrupted upload. You need an authorised checkout, the beta client and, for recovery, the original submission key and local recovery record.
captured files
Before submitting:
- Inspect tracked files and non-ignored untracked files in the repository. Both are included in the capture; ignored files are omitted.
- Keep credentials outside that selection and confirm any generated build inputs are included through a supported mechanism.
- Check symlinks. Relative links must stay within the captured tree; absolute or escaping links are unsupported.
The client uploads only when the server advertises a compatible source-transfer capability. If that check fails, confirm the client and service release rather than changing the source to bypass it.
upload limits
Check the selected source against these limits:
| Limit | Value |
|---|---|
| Regular-file content | 1 GiB |
| File and link entries | 250,000 |
| Metadata | 32 MiB |
| Transfer chunk | 4 MiB |
Scratch and execution capacity are separate limits. See the API reference for reservation and expiry behavior.
resume a submission
- Find the submission key printed by the interrupted command.
- Return to the original invocation directory, with the same endpoint and tenant.
- Repeat the original Cargo command and arguments, adding
--submission-key <key>.
For an interrupted test --workspace invocation:
cargo sorus test --workspace --submission-key <key>
The client resumes the original capture. Later working-tree edits are not included. Changing the endpoint, tenant, invocation directory or Cargo options causes a conflict; submit changed inputs as a new job.
recovery records and expiry
Keep the original recovery data while diagnosing an upload that has not been acknowledged. It is stored under $XDG_STATE_HOME/sorus/submissions, or $HOME/.local/state/sorus/submissions when that variable is unset. These records do not contain credentials.
If the upload expired before admission, inspect the refusal and retain the local archive for diagnosis. The client does not recapture source or create another job automatically. If a job may already exist, use the job recovery guide to inspect it before submitting again.