Xcode 6 Bots Gotchas

Xcode 6 includes some Bots changes which might take you by surprise so here are a few notes which might help you adjust.

  1. The web interface is now a read-only status board. Previously you could create and edit bots and losing this functionality means that you now have to use Xcode for Bot management. (Radar 18391689)
  2. When you create a Bot it is automatically configured to use the current branch you are using (previously you could specify the branch). This would be okay except that Apple don’t make it obvious so I have filed a bug report asking for the Bot configuration sheets to include this information. (Radar 18391750 which is a duplicate of 13896178).

More damaging for me than either of these was that a script I ran as a post-Archive build step was now failing when it tried to push a new Git tag up to GitHub.

It initially complained that the Git user details were missing (despite the Git config file containing them) so I set the user.name and user.email globally on the server.

However that still didn’t fix things so I’ve ended up not running the script as a post-Archive scheme action but rather invoke it from the Bot itself as an After Integration step. The advantage to this is that I can set the script to run only after a successful build. The disadvantage is that I have to remember to add this step each time I create a Bot.

Because pushing a tag to a remote repository should probably work this issue has a Radar number of 18423254.