-
-
Notifications
You must be signed in to change notification settings - Fork 122
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
Migrate CI build to Azure DevOps #269
Comments
That could be a good thing, especially with the new GTK template that may need a Linux build. |
That is a good question regarding the build time, but I will try it out on my fork and get back to you when I have some details (but I hope a lot less than 20 minutes 🙃). I can also add a Linux agent to the mix. GTK should also build on macOS and Windows. But the UI usually is sub par when running it on Windows - at least the default app of Fabulous looks off on Windows. |
So I had a run at it under Azure DevOps. There is an issue with installing FAKE or in general any .Net Core tools. While I got it working for Windows (build Time is around 5 Minutes), under macOS I ran into another problem due to .Net Core not being installed at the default location. Linux fails for yet another reason (build failure -> need to investigate further). That being said I will keep at it 🙂 |
I had the same issue for one of my projects, they are planning to fix it (set the DOTNET_ROOT to the appropriate location). The only way I could get it to work was to install a local copy of the dotnet SDK. |
Thanks for pointing that out, I have now the Windows and macOS build running. The Linux build fails because it fails to find Build times:
The builds run in parallel so only the longest duration needs to be taken into account. |
@mallibone I fixed this issue in a ninja commit the other day. Wrong casing on the extension that only Linux sees. 2c3df06 Impressive build time. |
@TimLariviere rebase from upstream did solve that issue on Linux - but the next one is already here 🙈 Adjusted to running Here is the overview to my (sofar) unsuccseful build history... |
The error comes from the interpreter. FSharpChecker fails to parse the code sent by the unit tests. An error message should be associated about why it fails. (need a slight change to print the error message into the build output) |
@mallibone The current Travis CI randomly fails while installing Xamarin.Android SDK.
|
@TimLariviere yes I do believe that problem would go away because the Agents come with Android pre-installed. Here are the links to what the agents and the installed SDKs, tools, et al. (just in case you are wondering 🙂): Builds are mainly faster because most of the toolchain comes preinstalled. That being said I am still not any further with the macOS build 🙁 since I am still new to F#/FAKE.. any tip/link how I could print the error message you mentioned before? |
@mallibone The unit tests of This code already prints to the build log output. My guess is that if you change lines 134 to 148 of "Fabulous/src/Fabulous.Cli/fscd.fs" with let parseResults, checkResults = checker.ParseAndCheckFileInProject(sourceFile, 0, File.ReadAllText(sourceFile), options) |> Async.RunSynchronously
match parseResults.ParseHadErrors, checkResults with
| false, FSharpCheckFileAnswer.Aborted ->
printfn "Check aborted"
Result.Error ()
| true, FSharpCheckFileAnswer.Aborted ->
for error in parseResults.Errors do
printfn "%s" (error.ToString())
printfn "Parse had errors; Check aborted"
Result.Error ()
| _, FSharpCheckFileAnswer.Succeeded res ->
let mutable hasErrors = false
if parseResults.ParseHadErrors
for error in parseResults.Errors do
printfn "Parse error: %s" (error.ToString())
if error.Severity = FSharpErrorSeverity.Error then
hasErrors <- true
for error in res.Errors do
printfn "Check error: %s" (error.ToString())
if error.Severity = FSharpErrorSeverity.Error then
hasErrors <- true
if hasErrors then
Result.Error ()
else
Result.Ok res.ImplementationFile It should print all error messages to the build output. |
Okay so the error now is: I found the path defined in Tests.fs on Line 163. Next step is to find out the location of this folder on the hosted agent... |
@mallibone I was suspecting this fallback folder might be a problem.
This makes it quite inconsistent. For instance, I currently have dotnet-cli 2.1.500, the build machine appears to have 2.2.102. |
@TimLariviere that is an interesting insight. I found the I would have created a new branch/pull request for the Linux (GTK) build, but am open to the idea add it to this issue/pr. If you have any questions regarding the setup, I am more than happy to help 🙂 |
Currently the CI build relies on Travis-CI and App-Veyor to build on macOS and Windows. Would it be in the interest of the project if one would migrate the build to Azure DevOps?
The improvements would be:
But a maintainer would have to hook it up to a Azure DevOps portal.
The text was updated successfully, but these errors were encountered: