Skip to content
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

Update test and build infrastructure #430

Merged
merged 9 commits into from
Mar 22, 2017

Conversation

cloudRoutine
Copy link
Member

Some cleanup and build process enhancement and an upgrade to NUnit3

@matthid
Copy link
Member

matthid commented Mar 22, 2017

can you rebase and look into the.version3 branch please? I think we already upgraded to nunit3 somewhere...

@matthid
Copy link
Member

matthid commented Mar 22, 2017

Maybe related? fsharp/fsharp#684

@cloudRoutine
Copy link
Member Author

@matthid I checked out version3 after you merged the razor split PR to start this, what am I supposed to rebase onto?

@matthid
Copy link
Member

matthid commented Mar 22, 2017

@cloudRoutine sorry my bad, everything is fine.. the mobile view ...

@matthid
Copy link
Member

matthid commented Mar 22, 2017

Can you merge/compare with #416 there we have the working version of the nunit upgrade :)

@cloudRoutine
Copy link
Member Author

I've already covered more than that (targets and fsproj config changes so builds don't break on machines with vs2017 installed) and my PR takes into account all the changes to accommodate the Razor split. I didn't move all of the FsUnit tests to the latest syntax, just the stuff that had to changed.

@cloudRoutine
Copy link
Member Author

fixing the CI configuration is all that's left, Travis thwarts me once again 💢

@matthid
Copy link
Member

matthid commented Mar 22, 2017

@cloudRoutine I don't think I'm ready for the VS2017 upgrade ;). Can we make it compatible with both?

@matthid
Copy link
Member

matthid commented Mar 22, 2017

With both I mean the latest VS2015 and VS2017...

@cloudRoutine
Copy link
Member Author

cloudRoutine commented Mar 22, 2017

the vs 2017 install puts msbuild at a different path so the targets don't resolve properly, fixing the target resolution so it works in light of this change doesn't affect the vs 2015 compatibility.

@cloudRoutine cloudRoutine changed the title [WIP] Update test infrastructure Update test and build infrastructure Mar 22, 2017
@cloudRoutine
Copy link
Member Author

@matthid now it's good on windows with vs2017 and the CI, the annoying part is done so now the real work can begin 😺

@matthid
Copy link
Member

matthid commented Mar 22, 2017

@cloudRoutine perfect, thanks. Can you please merge the related conflicting PR so I don't have to resolve conflicts later?

@cloudRoutine
Copy link
Member Author

just don't merge that one, what's the point of doing so?

@matthid
Copy link
Member

matthid commented Mar 22, 2017

?

@matthid
Copy link
Member

matthid commented Mar 22, 2017

I think some changes are conflicting and some are not. I don't want to miss some...

@cloudRoutine
Copy link
Member Author

there's no real benefit to the other one anymore, it's outdated compared to this, you'd just be creating a headache for yourself trying to merge the other one and there wouldn't be an advantage to doing so

@matthid
Copy link
Member

matthid commented Mar 22, 2017

@cloudRoutine sorry but did you review and compare? For example FSUnit was upgraded and extracted via paket files...

@matthid
Copy link
Member

matthid commented Mar 22, 2017

Ok you did the same. I'm confused :)

@cloudRoutine
Copy link
Member Author

yea I reviewed it, that's how I knew there was no point in using the other one anymore 😉

@matthid
Copy link
Member

matthid commented Mar 22, 2017

I'm wondering why did you not start from there?

@cloudRoutine
Copy link
Member Author

because it was a PR onto master a year ago and you just merged some big changes into version3 and it was old enough that most of what had been done would just need to be redone

@cloudRoutine
Copy link
Member Author

also I had no idea it even existed XD

@matthid
Copy link
Member

matthid commented Mar 22, 2017

OK :). Anyway thanks for this. Should this be merged or do you want do do some other things?

@cloudRoutine
Copy link
Member Author

merged please, I want to do the other stuff in smaller stages. this is big enough as it is

Copy link
Member

@matthid matthid left a comment

Choose a reason for hiding this comment

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

Some questions asked. But overall looks good.

<PropertyGroup>
<FSharpTargetsPath>$(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\4.0\Framework\v4.0\Microsoft.FSharp.Targets</FSharpTargetsPath>
</PropertyGroup>
</When>
Copy link
Member

Choose a reason for hiding this comment

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

Should this be the first when clause ?

Copy link
Member Author

Choose a reason for hiding this comment

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

I changed the order based on other fsproj I found that were successfully building on Travis, the projects are all targeting FSharp.Core 4.0 so it makes sense to me.

>
> Here's some example code:
>
> return shell_exec("echo $input | $markdown_script");
Copy link
Member

Choose a reason for hiding this comment

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

Why change this test?

Copy link
Member Author

Choose a reason for hiding this comment

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

whoops

redirects: on

nuget FSharp.Data
nuget FAKE
nuget CommandLineParser
nuget FSharp.Core
nuget FSharp.Core 4.0.0.1 redirects:force
Copy link
Member

Choose a reason for hiding this comment

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

I assume upgrading this did lead to errors (same as FSharp.Compiler.Service)?

Copy link
Member Author

Choose a reason for hiding this comment

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

there were some binding redirect issues that popped up like NUnit was the problem initially

NUGET
  remote: https://api.nuget.org/v3/index.json
    CommandLineParser (1.9.71)
    FAKE (4.56)
    FSharp.Compiler.Service (2.0.0.6)
    FSharp.Core (4.0.0.1) - redirects: force
    FSharp.Data (2.3.2)

I didn't upgrade FCS though

build.fsx Outdated
// Excludes = [] }
// |> MSBuildRelease "" "Build"
// |> ignore
//)
Copy link
Member

Choose a reason for hiding this comment

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

Do we enable this later?

Copy link
Member Author

Choose a reason for hiding this comment

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

nah, forgot to delete it

@@ -1,3 +1,5 @@
System.IO.Directory.SetCurrentDirectory __SOURCE_DIRECTORY__

Copy link
Member

Choose a reason for hiding this comment

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

Just wondering... Does this need to be on top now?

Copy link
Member Author

Choose a reason for hiding this comment

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

ideally setting the directory should be the first thing that you do, i changed the way it's done because the old environment way doesn't work on netcore

Copy link
Member

Choose a reason for hiding this comment

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

I think after opening the namespaces works as well and makes the code shorter :).

Copy link
Member Author

Choose a reason for hiding this comment

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

you have to load the packages before you can open the namespaces, you need to set the dir if you want to load the packages properly, this is to account for the weird working dir that fsi is set to automatically when you use it in VS

Copy link
Member

Choose a reason for hiding this comment

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

To be honest I don't even remember why its needed (I'm pretty sure the author of this). Now you are :)

>
> Here's some example code:
>
> return shell_exec("echo $input | $markdown_script");
Copy link
Member

Choose a reason for hiding this comment

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

Maybe your editor prevents you from using tab characters? But they are required in this repository for some tests...

Copy link
Member Author

Choose a reason for hiding this comment

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

yup that's what it was

Copy link
Member

Choose a reason for hiding this comment

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

Just be careful with this setting in this repository. Whitespace (at least within strings) matters a lot here :)

@matthid matthid merged commit 5add72a into fsprojects:version3 Mar 22, 2017
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.

2 participants