-
Type:
Task
-
Resolution: Unresolved
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: Build
-
None
-
DevProd Build
-
Build OnDeck
-
None
-
None
-
None
-
None
-
None
-
None
-
None
Problem
Shared internal artifact destinations allow different tasks or variants to overwrite one another. Adopt the task-owned uploader and update consumers together after uploader infrastructure and provenance support.
Scope
- Migrate binary, symbol, source, venv, BEP, benchmark, plugin, package/crypt, Streams, and supplementary build uploads.
- Select download paths from the actual producing task and variant.
- Wire release binaries, provenance, execution logs, installers, and Streams digests to immutable recovery checkpoints for consistent restarts.
- Preserve public release destination names and development retry behavior. AWS credential scoping and bucket-policy changes remain separate infrastructure work.
Rollout Dependency
Before merging migration, update external consumers that construct legacy keys or provide explicit Evergreen artifact URL overrides. DSI's src/dsi/config/expansions.py still constructs legacy server binary, supplementary-data, and crypt URLs when overrides are absent. Those DSI changes are outstanding and are not part of the current MongoDB draft.
Validation
Focused tests, Evergreen configuration validation, and Linux, ARM64, Windows package/crypt/MSI task chains. The reconstructed migration branch passes all four relevant Python Bazel targets and 60 uploader/Streams-focused tests. Earlier Evergreen patches cover the combined implementation; isolated-branch patches have not been submitted.
Related Work
Migration draft PR is stacked after provenance validation (SERVER-137929) and before lint enforcement (SERVER-137931). This replaces migration previously folded from #64927. Producer build-command capture and JSON identity checks remain in SERVER-137929. Uploader infrastructure: SERVER-137882.
- related to
-
SERVER-137585 Add restartable task-owned artifact uploader
-
- Closed
-