dotnet / dotnet/arcade-services

PushToAzureDevOpsArtifacts should check for rooted paths for Blobs

Open
#2,367 3 comments 0 reactions 0 assignees View on GitHub
Dominant language
C#
Stars
86
Forks
86
Avg merge
1d 8h
Merged PRs (30d)
35

Description

- [ ] This issue is blocking
- [ ] This issue is causing unreasonable pain

For blob artifacts published, the RelativeBlobPath specifies where a blob gets published in the output storage container. If this path is rooted, for example /wixpack/foobarbaz.zip, publishing still works. you end up with an empty virtual folder at the root of the container, then one called wixpack, etc. However, signing will not work.

This is because gather-drop attempts to download and put artifacts under //. This is done by doing a `Path.Combine` between the relative blob path and the drop root. When the RelativeBlobPath is rooted, though...the drop-root and shipping/nonshipping elements are ignored and the file ends up at the root of the drive. This technically 'works', but is incorrect. In addition, signing will attempt to find files specified in the manifest for signing in the drop output. It can't find things in the expected location, and then fails.

When calling PushToAzureDevOpsArtifacts, there should be a check that each RelativeBlobPath is not rooted.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.