-
Notifications
You must be signed in to change notification settings - Fork 136
MergeAssetManifests task doesn't work correctly #4263
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
Comments
Yeah this is weird. It should be set according to the docs. Might be safer to pass it as a parameter through yaml. I was going to do that for the |
hm weird, I looked at the console log and BUILD_BUILDNUMBER is in the list of environment variables we print before each repo build. |
yeah, this variable is used by the |
Looking at the binlog I see that it is manually set as an env var by us in the inner repo builds but it isn't available in Build.proj where we need it. This task should work when doing a non-official build as well, therefore we need a different value than OfficialBuildId. Could we use For that you would need to set |
cc @mmitche |
wouldn't this cause the VmrBuildNumber to be the same for all builds in the same day? If we decided to pass the |
That's already the current state when doing a dev or ci build. You will get package versions like We should also update these properties: https://github.com/dotnet/dotnet/blob/896eba009b4a97dd505199bed888dfc2f04c4b44/eng/Versions.props#L4-L5 to something like this: <MajorVersion>9</MajorVersion>
<MinorVerison>0</MinorVersion>
<PatchVersion>0</PatchVersion>
<PreReleaseVersionLabel>alpha</PreReleaseVersionLabel>
<PreReleaseVersionIteration>1</PreReleaseVersionIteration> |
In the repos, it's passed in via OfficialBuildID. I think we should continue that pattern here. |
In my dev branch I'm currently doing this:
|
What is used as the input when not doing an official build? |
When not doing an official build (and not using a switch that emulates it), the build number isn't set. Instead the build revision and other info derived from the build number end up as constants. |
Ok. But that sounds like the OfficialBuildId property itself isn't the correct input to the task as it isn't set outside of an official build. Or am I'm missing something? |
I think most likely, people aren't generating manifests outside of official builds. In arcade right now, it only happens when you pass -publish and /p:DotNetPublishUsingPipelines=true It does, however, look like BUILD_BUILDNUMBER is used: https://github.com/dotnet/arcade/blob/main/src/Microsoft.DotNet.Arcade.Sdk/tools/Publish.proj#L207 |
I'm not quite sure why they chose to use that instead of BUILD_BUILDNUMBER to be honest. |
Oh, this is much sillier. @dkurepa @ViktorHofer The issue is that this repo uses explicit docker commands to run its Linux builds. The ambient environment isn't passed through implicitly. Check the Windows manifest. it has a correct build number (with a quote) |
Right. Repos do use the Now inside the VMR, the inner repos do publish and set When we stop treating everything as an official build, we won't pass |
Probably an arbitrary value? A date? Empty string? |
If that metadata doesn't matter unless we actually publish to AzDO / BAR then using OfficialBuildId sounds right. That would then just be empty in non-official builds. |
To summarize:
|
This task parameter needs an update to allow an empty string. Please also update the xml doc above with some of this information:
Please also add a comment in the target where you pass the |
This got fixed by dotnet/installer#19217 |
he produced merged manifest has the wrong VMR build number right now:
"
.See https://github.com/dotnet/installer/blob/58e4c4f2e4fc66597ebf4ff54809dc88f286e217/src/SourceBuild/content/build.proj#L42 & https://github.com/dotnet/installer/blob/58e4c4f2e4fc66597ebf4ff54809dc88f286e217/src/SourceBuild/content/Directory.Build.props#L221
The
VmrBuildNumber
property has a typo in it, the trailing"
. If I remove that, then I get errors thatVmrBuildNumber
isn't set. This makes me assume thatBUILD_BUILDNUMBER
isn't set.@dkurepa
The text was updated successfully, but these errors were encountered: