-
Notifications
You must be signed in to change notification settings - Fork 132
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Design and implement a way for staging to know where an asset came from in the VMR build #3898
Comments
I couldn't figure out the best area label to add to this issue. If you have write-permissions please help me learn by adding exactly one area label. |
This is a prerequisite to other issues in the Release Infra area and should be figured out sooner than later. @mmitche - it's part of the VB area. Who do you see working on this, ideally? |
Probably @NikolaMilosavljevic? i think this is in the general publishing bucket: |
Plus, this issue is a prerequisite to https://github.com/dotnet/release/issues/783 |
@MichaelSimons - since this is a prerequisite for https://github.com/dotnet/release/issues/776, we need to get clarity of when this work will start and how can @andriipatsula and @MilenaHristova contribute to it so it doesn't become a blocker for the release infra UB tasks. |
@mmitche proposed to add an attribute to the I am making changes in the |
|
For the naming of the new attribute, wouldn't |
Yeah, |
Next step: figure out who is going to implement the part that would add the Origin attribute to the MergedManifest.xml. |
Would Since we don't do publishing yet and we don't have the manifests, this work would need to wait on completion of #4101, or even better, be included in that work. I am making good progress on that issue. |
It seems that new attribute would be added to |
@andriipatsula has a workaround so this is not blocking at the moment. Whoever is free first or is blocked by this can pick up the work. |
Yes, we'll have a single MergedManifest.xml file produced for the whole VMR build. @dkurepa is working on this. I think, we can inject new attribute in asset manifest files (Package & Blob) and forward to the MargedManifest.xml.
But the problem is determining the origin (repo name) during asset manifest creation. As Nikola mentioned, "we don't do publishing yet and we don't have the manifests," so I don't know what the Build.Name would be: original repo name, dotnet-dotnet, or nothing at all. |
Yesterday we had a conversation with Nikola and Djuradj. We are waiting for the results of the https://dev.azure.com/dnceng/internal/_build/results?buildId=2393215&view=results build to check how the published artifact manifest looks for the VMR build. |
Asset manifest for the VMR build has I'll wait until Nikola merges his changes, and I think I need about 1 day to make the PoC production-ready and test it properly. Feel free to check the commit. The resulted asset manifest for the emsdk repository looks like: <Build PublishingVersion="3" Name="dotnet-dotnet" ...>
<Package Id="Microsoft.NET.Workload.Emscripten.Current.Manifest-9.0.100-preview.2" Version="9.0.0-preview.2.24121.1" Origin="emsdk" />
<Package Id="Microsoft.NET.Workload.Emscripten.Current.Manifest-9.0.100.Transport" Version="9.0.0-preview.2.24121.1" NonShipping="true" Origin="emsdk" />
<Package Id="Microsoft.NET.Workload.Emscripten.net6.Manifest-9.0.100-preview.2" Version="9.0.0-preview.2.24121.1" Origin="emsdk" />
<Package Id="Microsoft.NET.Workload.Emscripten.net7.Manifest-9.0.100-preview.2" Version="9.0.0-preview.2.24121.1" Origin="emsdk" />
<Package Id="Microsoft.NET.Workload.Emscripten.net8.Manifest-9.0.100-preview.2" Version="9.0.0-preview.2.24121.1" Origin="emsdk" />
...
</Build> |
This work has been put on hold for a week or two. The plan is the same as described in the previous comment. |
Arcade part: dotnet/arcade#14718 Test build: https://dev.azure.com/dnceng/internal/_build/results?buildId=2433413&view=results Currently we publish only Verticalmanifest.xml files. We have a tracking issue to allow publishing MergedManifest.xml #4199. I think we should also publish AssetManifests.xml files. The PRs I created add the OriginRepo attribute to the AssetManifest.xml file, and it works as expected for all repos except the arcade and runtime repositories. For some reason, they are special. I am passing RepositoryName as a build argument in SourceBuild: https://github.com/andriipatsula/installer/blob/dev/apatsula/source_build_3898/src/SourceBuild/content/repo-projects/Directory.Build.props#L86 . We may redefine build arguments somewhere else. |
PRs are merged. Example of a VerticalBuild.xml file here. |
There is a non-trivial amount of automation in staging pipeline today the knows about where a particular component was build. For instance, sign checking will need to know where the asset it's looking at was built so as to find the sign check exclusion files. Similar goes for SDL validation, aka.ms link creation (to some degree), etc.
We should determine whether we can avoid this requirement altogether, or augment the VMR automation to record what component built what.
T-Shirt Size: Medium
The text was updated successfully, but these errors were encountered: