-
Notifications
You must be signed in to change notification settings - Fork 133
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
Verticals are not publishing all packages #4984
Comments
@NikolaMilosavljevic now each Unified Build vertical only publishes the packages that are unique for that vertical. For verticals other than Windows_x64, this usually means that there are very few packages published. Are there any packages you see that are missing after the final join job? |
OK. Yes, there are some missing packages, here's the full list (versions from older build):
This list was discovered by diffing the package list from a build right before your PR was merged. Some of these might make sense, but some packages are certainly produced by verticals, but missing, like Perhaps the issue is that this particular package now has |
The NuGet packages are being tracked by #4974 The VS.Redist ones are interesting as Arcade's publishing has some support to maintain that. I see the Razor packages in PackageArtifacts. The diagnostics and scenario tests ones are also interesting. Not sure what's going on there. |
Scenario-tests package is important and its absence is currently blocking Installer tests. They are failing even though the pipeline shows warnings for those jobs. |
Interestingly, scenario-tests package is missing from Windows_x64 manifest: https://artprodcus3.artifacts.visualstudio.com/Ab55de4ed-4b5a-4215-a8e4-0a0a5f71e7d8/7ea9116e-9fac-403d-b258-b31fcf1bb293/_apis/artifact/cGlwZWxpbmVhcnRpZmFjdDovL2RuY2VuZy9wcm9qZWN0SWQvN2VhOTExNmUtOWZhYy00MDNkLWIyNTgtYjMxZmNmMWJiMjkzL2J1aWxkSWQvMjY3Mjc4OS9hcnRpZmFjdE5hbWUvV2luZG93c194NjRfQXJ0aWZhY3Rz0/content?format=file&subPath=%2Fmanifests%2FRelease%2FWindows_x64.xml |
Previous good build that included ScenarioTests package - Vertical manifests do not include nuget packages, unless they're under |
Scenario tests isn't a shipping thing. Why is it important for it to have its package published? |
This is about publishing packages to VMR's Scenario-tests are consumed by installer-tests jobs, in |
I changed the publishing to PackageArtifacts and BlobArtifacts to only publish the files we actually want to publish externally. Is scenario-tests staging the asset after we've already made the merged manifest? |
Scenario-tests repo gets built during |
That would explain why it isn't available, as it isn't in the asset manifest for the vertical. I'll try to think of some solutions here that don't require us to become less strict on our publishing/join steps. |
Would it make sense to update the asset manifest right after each repo is built? That would solve the issue with repos that aren't built in main build, i.e. during test step. |
We produce the asset manifest at the end of the build and we currently don't have tooling to update a manifest. Is there a particular reason you need to pull the assets from the final join? For installer testing especially, using the "reuse build artifacts from" mechanism we have might work better. Or adding a new "build pass" that builds scenario-tests fully without rebuilding the rest of the assets so we can consume them in the installer validation jobs. |
Alternatively, could we build scenario-tests in the build step and only run the tests in the Test step? |
I'll explore the suggested options. Building scenario-tests repo independently from running the tests might be the best option. Reusing build artifacts from another job doesn't work across stages, unfortunately. To clarify - we can directly download artifacts from any vertical. What we cannot do it express dependency on a vertical, which is a job in another stage. While this will work with existing pipeline implementation (installer job), it will block planned refactoring of build stages, to reduce the number of build entry points. We would end up with installer job reusing build steps that are currently in job vmr-build.yml. It might still work with some modifications, to, i.e. allow a installer job to consume artifacts from vertical build stage, but skip adding the |
I've only checked
AzureLinux_x64_Cross_x64
- it publishes packages from few repos today. It used to publish many more.The issue seems to have started with this VMR SHA:
c9986621b8c673b2db87d00d57e9bf69ed1d830f
Build with previous SHA was good.
Diff: https://github.com/dotnet/dotnet/compare/7fe01d9..c998662
This seems related to changes in vertical publishing code in dotnet/sdk#47338
@jkoritzinsky
The text was updated successfully, but these errors were encountered: