No IPA generated from Xamarin Archive 1.3.2 in some cases

Odd one. Step Xamarin Archive 1.3.2 is failing to generate an IPA when I build in Release mode. Error is:

31;1mFailed to collect output, error: Path is not sortable: /Users/vagrant/git/Foo/Foo.iOS/bin/iPhone/Release/ipa/FooiOS.ipae                                                                            
xamarin-archive@1.3.2 (exit code: 1)

… but when I use that step set for Debug mode it works. (and incidentally a QA mode that we created).

And the final piece of weirdness is: the prior version of Xamarin Archive (1.3.1) does generate an IPA with our Release mode. (it works as expected)

What clues am I looking for here? What the heck is “Path is not sortable”?

Thanks!

1 Like

Hi @leeflannery could you please share your failed build log file? if you prefer please send us it on bitrise on-site chat.

1 Like

Sure!

https://s3.amazonaws.com/lee-share/Flannery-archive-breaking.log

1 Like

I understand that this is something I probably have to figure out myself (what’s different between the build configs? The answer is in there.) (or: look at the diff between 1.3.1 and 1.3.2 in github and figure it out).

And I probably will and that’s ok, totally ok … (I’m just busy with a launch right now, but I’ll get to it eventually). I promise that this is ok.

But seriously you guys/gals … can somebody give me a sanity check on the fact that “path is not sortable” is a bizarre error? I’m not old enough to be going insane. Someone please just confirm that this is weird.

Please?

Hi @leeflannery,

i agree with you, the error message is not the best.

Previously xamarin were putting the .ipa file into the project defined (OutputPath) directory inside a timestamped directory, like:

PROJECT_DIR/iOS/bin/iPhone/Release/Multiplatform.iOS 2017-02-06 13-59-21/Multiplatform.iOS.ipa

and the step was prepared to handle this kind of ipa path. To determine the latest generated ipa, the step sorts this paths.

This behaviour changed in xamarin and the timestamped subdirectory were removed, see more: Xamarin iOS ipa path is not exported on the beta channel

Reflecting to these changes we updated the step (1.3.1 -> 1.3.2), however it seems the logic, which determines if we should sort tha ipa path or not is not correct, thats why you got Failed to collect output, error: Path is not sortable:..., the step should not try to sort this kind of ipa path.

We will fix this issue ASAP.

May i ask you, what is your ios project’s Output path, you can find it in your ios Project Options/Build/Output/Output path?

1 Like

@leeflannery as a temporary solution you can use the pervious version of the step, i will notify you once the fix is ready, sorry for the inconveniences.

2 Likes

Sorry for the late reply, I was away on vacation for a bit.

Very good! We are using the previous version of the step - that works as a workaround. Thanks for taking a look at this!

(also to answer your question, output path is:

{{IOS PROJECT}}/bin/iPhone/{{ENVIRONMENT}}

Where {{IOS PROJECT}} is the qualified root of the ios project and {{ENVIRONMENT}} is debug, or QA, or release.)

1 Like

Thank you for the feedback @leeflannery!
The issue will be fixed soon. :ok_hand:

1 Like

The issue is resolved. The new version is just released, please don’t forget to update step version in your workflow :slight_smile:

2 Likes