iOS build stability problems

PhilipOGormanPhilipOGorman USMember ✭✭✭

we have a build system that will build the droid, uwp and iOS on every push. We have two dedicated MACs for the build system. We have constant issues with iOS. Randomly the builds fail, with no code or configuration changes. The release builds for most of our apps take 10min+.
It seem impossible for us to lock down a reliable ios build.

msbuild.exe /nr:false /m /t:Rebuild /clp:Summary /p:Configuration=Release /p:Platform="Any CPU" /p:ServerAddress=192.168.167.97 /p:ServerUser=user /p:ServerPassword=pass soln.sln

this is the error we have lately:

C:\Program Files (x86)\Microsoft Visual Studio\2017\MSBuild\Xamarin\iOS\Xamarin.iOS.Common.targets(795,3): error : AggregateException: One or more errors occurred. [d:\j\workspace\mybranch\MyApp.iOS\MyApp.iOS.csproj] C:\Program Files (x86)\Microsoft Visual Studio\2017\MSBuild\Xamarin\iOS\Xamarin.iOS.Common.targets(795,3): error : MessagingException: The post for client build19568Admin on topic xvs/Build/4.12.3.83/execute-task/MyApp.iOS/5cc98ea002fMTouch has been cancelled [d:\j\workspace\mybranch\MyApp.iOS\MyApp.iOS.csproj] C:\Program Files (x86)\Microsoft Visual Studio\2017\MSBuild\Xamarin\iOS\Xamarin.iOS.Common.targets(795,3): error : TaskCanceledException: A task was canceled. [d:\j\workspace\mybranch\MyApp.iOS\MyApp.iOS.csproj] C:\Program Files (x86)\Microsoft Visual Studio\2017\MSBuild\Xamarin\iOS\Xamarin.iOS.Common.targets(795,3): error : [d:\j\workspace\mybranch\MyApp.iOS\MyApp.iOS.csproj]

What steps or checks do we need to do to make iOS build stable? Has anyone been able to do this?

Tagged:

Posts

  • PhilipOGormanPhilipOGorman USMember ✭✭✭

    Can a standard MAC machine handle multiple xamarin builds at a time? We don't use the MAC for anything else other than remote builds. What is the recommended setup?

  • JohnHardmanJohnHardman GBUniversity mod
    edited June 18

    @PhilipOGorman said:
    Can a standard MAC machine handle multiple xamarin builds at a time? We don't use the MAC for anything else other than remote builds. What is the recommended setup?

    When developing CI/CD systems, I would always recommend serialising builds initially. Get each build working reliably before then trying to parallelise them.

    Is there a recommended setup from Microsoft/Xamarin for build servers? Not as far as I am aware. I did read "Xamarin Continuous Integration and Delivery: Team Services, Test Cloud, and HockeyApp" by Gerald Versluis a while back, but I'm afraid I cannot remember whether that book covered doing things in parallel.

    If there are issues even doing things serially, forget incremental builds temporarily and wipe down all transient files/folders before each build (e.g. deleting bin and obj folders for a start).

  • PhilipOGormanPhilipOGorman USMember ✭✭✭

    @JohnHardman - I might have to look into the serial builds - it might be take some work, and I'm not sure if it will fix the problem. We use jenkins, we have a windows machine set up as a build slave for all our xamarin app builds, that connects connects to a MAC for the iOS portion of the build.

    The MAC starts to become unresponsive after a while, I've no idea why. But, the builds are certainly playing a part as its the only use for the MAC.

    We don't use appcenter, as we host all of our sourcecode and build system in house. I was looking at https://www.macincloud.com/pages/visual-studio-mac.html, but im not sure how reliable that would be either.

    What are other companies using for CI/CD xamarin setups? We have roughly 5-10 apps concurrently in active development at any one time - all with their own repos and branches & buildjobs. Everything apart from the iOS portion works well. iOS been driving everyone crazy - the build will be at 9min+ and then will suddenly fail.

Sign In or Register to comment.