Expose xcarchive from Xamarin archive step

How can I expose the xcarchive made from the Xamarin archive step. I need to be able to download it.

The Xamarin Archive step outputs the xcarchive file’s (actually it’s a directory, just shown in Finder as a file) path into the BITRISE_XCARCHIVE_PATH env var (https://github.com/bitrise-steplib/steps-xamarin-archive/blob/master/step.yml#L120).

Probably the easiest way to attach this file to the build is to add a Deploy to Bitrise.io step, set the Deploy directory or file path (deploy_path) option of the step to $BITRISE_XCARCHIVE_PATH and enable the Compress the artifacts into one file? (is_compress) option (set it to “true”).

If you’d have any questions just let us know! :slight_smile:

IA change in literally the last few days has negated the ability to use this technique.

https://github.com/bitrise-steplib/steps-deploy-to-bitrise-io/pull/94

The error message is

Uploading xcarchive file: /var/folders/6q/wgy6jtp12w5gzgm9lzcglpqw0000gn/T/__deploy-to-bitrise-io__600411138/ING.iOS 8-13-19 1.36 AM.xcarchive.zip analyzing xcarchive deploy failed, error: could not check if given project is macOS or not, error: No file found at path: /var/folders/6q/wgy6jtp12w5gzgm9lzcglpqw0000gn/T/__xcarhive__797311353/ING.iOS 8-13-19 1.36 AM.xcarchive/Info.plist

This occurs when performing the suggested steps. Ie Deploy To Bitrise pointing to the xcarchive path with compression on.

This worked before TOOL-975. Given that change is to add support for publishing xcarchive, how should I now do it?

Tried with compressed, had no issue, maybe it is more specific. Could you please check, that your xcarchive contains the given Info.plist or is it missing?

Thanks for having a look. Yes - the xcarchive does have a info.plist - it can be signed and used as an ipa just fine (and has been for a few months).

FYI, changing my step version back to 1.6.1 from 1.7.0 has gotten me around the problem for now.

I’m not sure what other information would help, but I would be happy to get into it more.

I think I may have found an issue:

On line 35 of IsMacOS in go-xcode/xcarchive.go at master · bitrise-io/go-xcode · GitHub, there seems to be an assumption there is a directory “Contents” under “Products/Applications”. In my case (and I assume all iOS xcarchives?) there is no Contents directory.

xcarchive

The error message I get matches when an error is returned from IsMacOS, so I assume this is the most likely issue.

In fact, it appears IsMacOS cannot return false without also returning an error, so it’s unclear how the condition check in DeployXcarchive could work?

Just a whole lot of guesses in case it helps!

1 Like