upload-artifact: local backend honors conditional (no-overwrite) atomically #6
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "fix/upload-artifact-local-conditional"
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?
Why
The local backend ignored the
{conditional: !overwrite}option the caller passes (upload-impl.js:112); only a non-atomicexists()guarded it (TOCTOU clobber). S3 enforces this viaIf-None-Match:*.What
Local
upload()honorsconditionalatomically (exclusive open /wx), so a non-overwrite upload fails on an existing key with no TOCTOU window.Testing
Added local-backend tests. Backlog rank 14.