launchdarkly / cpp-sdks

C++ Client/Server SDKs
Other
5 stars 3 forks source link

build: fixing overlap in provenance filenames that causes race condition with multiple provenance generation jobs #429

Closed rsoberano-ld closed 4 months ago

rsoberano-ld commented 4 months ago

The client, server, and server-redis provenance generation workflows each create a {windows,linux,macos}-multile-provenance.intoto.jsonl file that gets uploaded to the respective tagged releases. However, in an intermediate step, these files are temporarily uploaded to the workflow workspace that's shared between all three release types. Very occasionally, a race condition happens where one release type will overwrite the provenance file for the other release type before it's able to download it and upload it to the appropriate tagged release, which results in a SLSA verification error.

This quick fix to prefix the provenance files with the release type should remove this overlap/conflict/race condition.