Open premun opened 9 months ago
There's no urgency with that task yet as we don't have assets in the build yet but maybe we could publish an empty BAR build from the VMR so that we can trigger fake subscriptions.
It might be better to start publishing this in the INT Maestro BAR then.
Figure out if we want to use /src/arcade/eng/common or /eng/common. I think the first as the other doesn't get updated really
We should use /eng/common. src/arcade/eng/common, src/installer/eng/common and /eng/common are always in sync (identical).
Figure out if packages are placed in a common directory in the UB build
I'm working on that right now.
FYI @akoeplinger
Currently, every repo uses the following publishing flow:
flowchart TB
subgraph emsdk
subgraph "win x64 leg"
winBuild[Build] --> winSign[Sign]
winSign --> winAssetManifest[Create Asset Manifest]
winAssetManifest --> winPublish[Publish to Artifacts]
end
subgraph "linux x64 leg"
linuxBuild[Build] --> linuxSign[Sign]
linuxSign --> linuxAssetManifest[Create Asset Manifest]
linuxAssetManifest --> linuxPublish[Publish to Artifacts]
end
subgraph "macOS x64 leg"
macOSBuild[Build] --> macOSSign[Sign]
macOSSign --> macOSAssetManifest[Create Asset Manifest]
macOSAssetManifest --> macOSPublish[Publish to Artifacts]
end
subgraph bar["Publish to Bar"]
mergedManifest["Create Merged Manifest"] --> publishBar["Publish build to bar, using Merged Manifest"]
end
winPublish --> bar
linuxPublish --> bar
macOSPublish --> bar
end
Things will work a bit differently for Unified builds:
flowchart TB
subgraph UnifiedBuild
subgraph win-x64
subgraph winEmsdk["emsdk"]
emsdkWinBuild["Build"] --> emsdkWinPublish[Publish produced bits and AssetManifest]
end
subgraph winRuntime["runtime"]
runtimeWinBuild["Build"] --> runtimeWinPublish[Publish produced bits and AssetManifest]
end
subgraph winAspnetcore["aspnetcore"]
aspWinBuild["Build"] --> aspWinPublish[Publish produced bits and AssetManifest]
end
emsdkWinPublish --> winMergeManifests[Merge Windows Asset Manifests into a VerticalManifest]
runtimeWinPublish --> winMergeManifests
aspWinPublish --> winMergeManifests
end
subgraph linux-x64
subgraph linuxEmsdk["emsdk"]
emsdkLinuxBuild["Build"] --> emsdkLinuxPublish[Publish produced bits and AssetManifest]
end
subgraph linuxRuntime["runtime"]
runtimeLinuxBuild["Build"] --> runtimeLinuxPublish[Publish produced bits and AssetManifest]
end
subgraph linuxAspnetcore["aspnetcore"]
aspLinuxBuild["Build"] --> aspLinuxPublish[Publish produced bits and AssetManifest]
end
emsdkLinuxPublish --> linuxMergeManifests[Merge Linux Asset Manifests into a VerticalManifest]
runtimeLinuxPublish --> linuxMergeManifests
aspLinuxPublish --> linuxMergeManifests
end
winMergeManifests --> mergedManifest["Generate Merged Manifest"]
linuxMergeManifests --> mergedManifest
mergedManifest --> barPublish["Publish Unified Build to BAR"]
end
AssetManifest
VerticalAssetManifest
, which will combine all AssetManifests
, and also add additional data if neededMergedManifest
by merging all of the VerticalAsseetManifests
and use it to create a BAR buildcc @mmitche
I'd like to get some additional clarity on the scope of this issue, and its dependencies. Currently we have two other related issues:
AssetManifests
produced for each repo.AssetManifests
to produce and publish a VerticalAssetManifest
for each leg. What's unclear is which issue this part belongs to.MergedManifest
from VerticalAssetManifests
, that will be used for the Publish using Darc
stage.So with that said, for this issue we will:
VerticalAssetManifests
belongs here, create VerticalAssetManifests
and publish them as artifactsMergedManifest
from these VerticalAssetManifests
using the strategy determined in #4101, once all legs are finished, and use it to create a BAR buildPublish using Darc
stageWe will also have to incorporate assets produced in join points.
@mmitche @ViktorHofer is this all this correct?
Resolve dual 'source of truth' for publishing info #4101 that @NikolaMilosavljevic is working on
- One of the results of this issue is that we'll have
AssetManifests
produced for each repo.- We'll use these
AssetManifests
to produce and publish aVerticalAssetManifest
for each leg. What's unclear is which issue this part belongs to.
I'm not sure how far exactly @NikolaMilosavljevic's change will go beyond the per-repo publishing. If he is not covering vertical manifest creation in #4101, then I think it belongs here. All the work is highly related, it's just a matter of how you want to divide it up between folks working in the area.
The rest of that looks correct to me.
@NikolaMilosavljevic just an FYI, we discussed the Vertical Manifest generation on the weekly Product construction meting and decided that we'll handle it as a part of this issue
@NikolaMilosavljevic just an FYI, we discussed the Vertical Manifest generation on the weekly Product construction meting and decided that we'll handle it as a part of this issue
Thanks. I presume that applies to Vertical merged manifest. Repo manifests will be produced by work I'm completing.
Depends on https://github.com/dotnet/source-build/issues/4157
artifacts/packages/<config>/Shipping/**
and assets are underartifacts/assets/<config>
./src/arcade/eng/common
or/eng/common
. I think the first as the other doesn't get updated really -> we will use/eng/common
Publish using Darc
stage that will publish a build to a darc channelThe UB build: https://dnceng.visualstudio.com/internal/_build?definitionId=1330
Depends On