Skip to content

Conversation

@baronfel
Copy link
Member

@baronfel baronfel commented Feb 3, 2019

A potential solve for #6180 that uses msbuild built-ins to determine the target OS and pivots off of that to set the FrameworkPathOverride. I included a MonoRoot property to allow for easy integration into the build process that fsharp/fsharp uses, which allows for a 'floating' mono root.

Testing this locally on my OSX laptop seems to have the intended effect: for all TFMs below I can pivot to the correct -api folders, and supplying a MonoRoot via MSBuild parameter influences the search paths as expected.

A potential solve for dotnet#6180 that uses msbuild built-ins to determine the target OS and pivots off of that to set the FrameworkPathOverride.  I included a `MonoRoot` property to allow for easy integration into the build process that fsharp/fsharp uses, which allows for a 'floating' mono root.
Copy link
Contributor

@KevinRansom KevinRansom left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for this, looks good.

@KevinRansom
Copy link
Contributor

@brettfo, can you run your eyes over this pls

Thanks

Kevin

@brettfo
Copy link
Member

brettfo commented Feb 7, 2019

If we add this I'd like a test leg to ensure it continues to work. I'm not positive, but I think the Linux VMs for our CI server have mono installed.

Can you add the following to .vsts-pr.yaml:

 jobs:
 - job: Linux
   pool:
     vmImage: ubuntu-16.04
   timeoutInMinutes: 90
   strategy:
-    maxParallel: 2
+    maxParallel: 3
     matrix:
       dotnet_sdk:
         _command: make
         _args: Configuration=release
+      mono:
+        _command: xbuild # or `mono` or however you invoke this
+        _args: fsharp.proj # this might contain too many projects to work on mono
-      # disabled until it can be properly fixed
       release_fcs:
         _command: ./fcs/build.sh
         _args: Build
 steps:
 ...

@baronfel
Copy link
Member Author

baronfel commented Feb 7, 2019

It'd be good to add a dotnet build for a net4X-targeting project, I can add that straightaway. Is there such a thing as an MacOS runner for VSTS? That's the other part of the change that's added here.

@cartermp
Copy link
Contributor

cartermp commented Feb 7, 2019

There should be a hosted macOS (the CLI uses one) but I'm not sure how to hook it up

@baronfel baronfel force-pushed the patch-1 branch 3 times, most recently from 6399980 to 449a702 Compare February 10, 2019 19:29
… build the compiler for .net framework using mono
@baronfel
Copy link
Member Author

Ok, I found the vm identifier for the macOS runner on VSTS, I've added a matching set of jobs for that OS, and added a job that does a .net-framework build of some part of the repository at all to verify the FrameworkPathOverride changes (as well as fighting with case-sensitivity at least 10 times). Now to just iterate on that to get the build green.

@baronfel
Copy link
Member Author

Actually, per @KevinRansom's comments on another thread, I think I'll remove the 'build-netframework-anything' job for now because it's going to require additional work and may conflict with upcoming build system changes that @brettfo has. So given that, I think adding the macOS runner and having it run the same jobs as the linux runner is an acceptable next step for this.

this required additional build work that may conflict with upcoming work, so we'll just settle for building the existing components on macos at all in CI
@baronfel
Copy link
Member Author

The failed build was a nuget download error on linux. What do?

@cartermp
Copy link
Contributor

This!

@cartermp cartermp closed this Feb 11, 2019
@cartermp cartermp reopened this Feb 11, 2019
@baronfel baronfel closed this Feb 11, 2019
@baronfel baronfel reopened this Feb 11, 2019
@baronfel
Copy link
Member Author

I don't know what this single test failure is on the windows FCS tests, and it hasn't failed before. This is mildly irritating.

@baronfel baronfel closed this Feb 11, 2019
@baronfel baronfel reopened this Feb 11, 2019
@cartermp
Copy link
Contributor

The FCS tests are very flaky, so sometimes it just takes a while 😕

@baronfel
Copy link
Member Author

Glory be, they are green!

@KevinRansom
Copy link
Contributor

@baronfel,

Thanks for this

Kevin

@KevinRansom KevinRansom merged commit b88055c into dotnet:master Feb 13, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants