-
Notifications
You must be signed in to change notification settings - Fork 4.7k
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
Remove date number from dev build version #1835
Conversation
@@ -6,8 +6,6 @@ | |||
<MajorVersion>5</MajorVersion> | |||
<MinorVersion>0</MinorVersion> | |||
<PatchVersion>0</PatchVersion> | |||
<!-- Always use shipping version instead of dummy version --> | |||
<DotNetUseShippingVersions>true</DotNetUseShippingVersions> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we leave this set to true when we're in an Official build? So that package versions are unique?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Awesome, arcade is ahead of me 😄
Getting errors in Libraries build--a lot of these:
|
Yeah, the assembly version was affected by this change and now it is getting arcade's 42.42.42.42 version... we need to figure out how to set it up so that it respects our AssemblyVersions. |
Might be tricky, getting Arcade to produce date-based assembly versions but not use the date for the packages. Maybe condition Feel free to push to this PR if you have time to work on it (or make a new one, no real difference). |
An alternative that fixes CI (but not dev build annoyances) is to pipe in a "non-official officialbuildid" so the date number stays constant throughout the course of the CI run. |
We could also introduce an arcade property... something like |
Never mind I think we figured out the issue. |
src/libraries/Directory.Build.props
Outdated
@@ -4,6 +4,10 @@ | |||
</PropertyGroup> | |||
<Import Project="..\..\Directory.Build.props" /> | |||
|
|||
<PropertyGroup> | |||
<AssemblyVersion>5.0.0.0</AssemblyVersion> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This matches https://github.com/dotnet/corefx/pull/41723/files#diff-8b8f08ffbf7b863fb3700c1718eeb4cbR5, we should maybe use ProductVersion
or Major/Minor/PatchVersion
though.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
cc: @ericstj I think it makes sense to use any of the recommendations above.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, we should not have the version specified in multiple places.
I'd use <AssemblyVersion>$(MajorVersion).$(MinorVersion).$(PatchVersion).0</AssemblyVersion>
if you want to suppress defaulting to 42.42.42.42.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd be also nice to add a comment that explains why is this set here - something like (guessing) "The AssemblyVersion must match netcoreappM.N
moniker. Whenever the version is updated we need to update the TFM as well.".
To expand on this a bit (in case the assembly version fix doesn't work, or maybe something else breaks downstream), maybe we can keep |
That might be a good idea, the problem I see with that is that it doesn't solve the local live live issue of people having to rebuild libraries/coreclr if they want to build again the installer a day after they built libraries or coreclr. |
It seems like the dependency to System.Private.CoreLib has the wrong version, I don't know if CoreLib also needs to be 5.0.0.0 or if we're calculating the dependency wrong. @ericstj might know.
|
What's the context here? I think I'm missing what the root of the issue is. |
See #1089 |
@dagood Are there any customizations to versioning in dotnet/runtime repo that tweak the default Arcade versions or are there any parts of the repo that use something different than the versions Arcade sets? I don't see how PR validation spanning a day boundary could be a problem if the whole build used |
PR builds are not official builds, so we don't use However, this is basically the same as my suggestion to set |
As for why we have this issue:
It's because dotnet/runtime sets |
I see. I mistaken this for official build issue. Got it. In PR validation though the version has
I would rather avoid that. |
Now I understand. Yes, don't set this. |
You don't have to tell me. 😄 |
I think we just need to figure out why we're getting the package test failures. I agree we shouldn't set |
Please feel free to push to this PR or make your own, I'm not actively working on this. |
@dagood I moved the AssemblyVersion declaration to Also, package testing is currently using a |
…orVersion.0.0 in the root
eng/Versions.props
Outdated
<PreReleaseVersionLabel>alpha</PreReleaseVersionLabel> | ||
<PreReleaseVersionIteration>1</PreReleaseVersionIteration> | ||
|
||
<!-- Set assembly version to align with Major and Minor version --> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also mention this? My first thought looking at this line is why it doesn't use patch version.
as for the patches and revisions should be manually updated per assembly if it is serviced
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sure. will update the comment.
@@ -43,7 +44,7 @@ | |||
<MicrosoftDotNetRemoteExecutorVersion>5.0.0-beta.20063.2</MicrosoftDotNetRemoteExecutorVersion> | |||
<MicrosoftDotNetVersionToolsTasksVersion>5.0.0-beta.20063.2</MicrosoftDotNetVersionToolsTasksVersion> | |||
<!-- Installer dependencies --> | |||
<MicrosoftNETCoreAppVersion>5.0.0-alpha.1.19562.8</MicrosoftNETCoreAppVersion> | |||
<MicrosoftNETCoreAppVersion>5.0.0-alpha.1.20071.1</MicrosoftNETCoreAppVersion> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm concerned that this version is being used... the installer tests need to be running on the current build's outputs or else they aren't covering anything. 😕 Can you link the issue you mentioned you'd file for this?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm surprised the installer tests use this property, I thought this property was used by package testing only.
I mentioned it here:
#1823 (comment)
Could you elaborate how the installer tests use this instead of the recently built product?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could you elaborate how the installer tests use this instead of the recently built product?
No, I'm not familiar with it and I'm surprised by it when you mentioned you had to change this to make the installer tests work.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I didn't mean installer tests, I mean libraries all configuration package tests... we run some tests on our oob packages to make sure closure is complete and that we don't ship duplicate types and that all supported rids for those packages publish correctly, etc.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah. This should be moved out from <!-- Installer dependencies -->
then, it seems to me. Thanks for the background.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I see, that was a result from the repo merge as in corefx it was "core-setup dependencies" maybe when we consolidated it was just a find and replace from "core-setup" to "installer". Will remove.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actually, what it means is that those dependencies as built by the installer. If you look the file, those comments split the sections on where are those packages coming from, for example look at runtime-assets dependencies which comes from https://github.com/dotnet/runtime-assets or arcade dependencies.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh, that makes sense. Sorry for the confusion on this, no need to change it.
I don't have enough context on the test expectations to help with the current CI error:
Maybe @vitek-karas and @elinor-fung can help? |
Thanks @dagood -- I'm already looking at this locally, getting a repro and then see why |
The test checks creating of a file (used for COM support) with data about a library - reading the assembly metadata; it uses the output assembly of the ComLibrary project (https://github.com/dotnet/runtime/tree/master/src/installer/test/Assets/TestProjects/ComLibrary) reading the assembly metadata. It is hard-coded to expect version 1.0.0.0, but it looks like the output of the ComLibrary test project is now 5.0.0.0? I would expect that it should have been set to 1.0.0.0 based on this though: https://github.com/dotnet/runtime/pull/1835/files#diff-dcf139fe6da30186f3ea56c8ff1a086bR10? |
thanks for explaining @elinor-fung 😄
Me too, that''s why now I'm trying this locally to figure out why it didn't honor my AssemblyVersion in the props file for the test projects. |
This is now ready 😄 |
LGTM. (Can't approve "my" PR. 🙂) |
Fixes: #1089