Hello folks,
since we've upgraded our Catalina build server to Xcode 11.x, one of our projects seems to build without any specific error, but then the bot bails out with this error message:
Build Service Error: Integration results could not be uploaded. Test attachments and integration logs may be unavailable.
As the message says, there are no other logs available which could give any more hints. Also no other build results are available (like IPA or Xcarchive). There also seems to be zero information available anywhere about what exactly causes this error or how it could be remedied, so we are stuck right now. Does anybody of you maybe have an idea about how to solve this error?
Cheers!
Replying to myself here:
tl;dr: Duplicate the problematic bot, delete the old one. Simple as that.
Long explaination:
Of course, right after sending off the above call for help, it struck me and I did some more investigations.
I found that it must be some permission issue with the bots artifacts directory over at /Library/Developer/XcodeServer/IntegrationAssets/ .. There you can actually find the logs, which Xcode claimed before would be not available 😐 And of course, in those logs you can find more hints about this issue. In my case, Xcode was not able to perform a mkdir call du to some permission issues with the bots assets directory.
So basically, the above error message means just that copying the artifacts failed for some reason. Knowing what to look for, you can also find in the systems log corresponding entries, where the Xcode build service performed a PUT request to the server, which failed to due the missing or wrong permissions.
Ok, so the upgrade of Xcode somehow screwed up the permissions of the artifact directory. Instead of fiddling with directory permissions, I figured just deleting the directory and let the Xcode bot recreate it would be the easiest way. And by duplicating the bot and deleting the old one in your Xcode client, you can do that even without touching a shell at all. Of course, if you still need older build artifacts, do not delete the old bot, but just deactivate it.
Hope this will also help others.
Cheers!