Xcode server bot can't clone from github/bitbucket

Can't get a server bot to clone any repository in GitHub or Bitbucket. It seems like it needs access to credentials that are there when the bots are setup but have not made it into the server's user or something. Almost as if I need to setup .ssh for whatever user runs the bots?

Points I can think of:

  1. Xcode 13
  2. I've tried public and private repos
  3. local accounts have access just fine, just not the one the bot runs on.
  4. Accounts in Xcode on both the machines are setup, but that's not the xcodeserver user.
  5. I've had this working before before these services forced you to personal access tokens.
  6. For the integration user I've tried accounts that have full access to these repositories.
  7. As a test I added a post integration trigger to try to clone it manually. That works fine.
  • More on that post-integration trigger. Without the direct clone I noticed that the directory has a partially cloned repository in it. Seems to have either given up part way through the clone or was shutoff by GitHub partially through.

    Here's the source control log:

    Jun 24 23:41:34  [26422] : Will attempt to update checkout cache for bot

    Jun 24 23:41:34  [26422] : Xcode Source Control Blueprint was valid.

    Jun 24 23:41:34  [26422] : About to update/checkout:

    https://github.com/endresjd/NewListFeatures (null) into (null) 

    Jun 24 23:41:34  [26422] : Could not load cached workspace: Error Domain=XCSIntegrationService Code=2 "The repositories have changed since the last integration. Falling back to a clean checkout." UserInfo={NSLocalizedDescription=The repositories have changed since the last integration. Falling back to a clean checkout.}

    Jun 24 23:41:34  [26422] : An error occurred updating existing checkout: Error Domain=XCSIntegrationService Code=2 "The repositories have changed since the last integration. Falling back to a clean checkout." UserInfo={NSLocalizedDescription=The repositories have changed since the last integration. Falling back to a clean checkout.}

    Jun 24 23:41:35  [26422] : 10.00% Compressing objects: 100% done

    Jun 24 23:41:35  [26422] : Error occurred loading revisioned blueprint from workspace: Error Domain=com.apple.dt.SourceControlErrorDomain Code=-300 "The remote repository could not be accessed." UserInfo={com.apple.dt.sourcecontrol.UnderlyingErrorString=, NSLocalizedDescription=The remote repository could not be accessed., NSLocalizedRecoverySuggestion=Make sure a valid repository exists at the specified location and that the correct credentials have been supplied.}

  • Sorry about the formatting. It insists on removing any line endings. #sigh. Just no quality in things anymore.

Add a Comment

Replies

i tried to upgrade my build system to xcode13 beta 2 and found the same issues (git clone never finishes)

For me logging into GitHub with a personal access token fixed my issues.

It was a bug in Xcode that surfaced in the next beta's release notes. Beta 3 got around this problem, but bots still never finish for random reasons.

We're seeing the same issue with RC, did anyone find a workaround?

We are also getting error during XCode13 bot checkout operation , observed below mentioned error : : Error occurred loading revisioned blueprint from workspace: Error Domain=com.apple.dt.SourceControlErrorDomain Code=-300 "The remote repository could not be accessed." UserInfo={com.apple.dt.sourcecontrol.UnderlyingErrorString=, NSLocalizedDescription=The remote repository could not be accessed., NSLocalizedRecoverySuggestion=Make sure a valid repository exists at the specified location and that the correct credentials have been supplied.}

This error does not happen in XCode 12.5.1

add your repo to /etc/ssh/ssh_known_hosts

My issue was having a .gitconfig file containing an insteadOf URL directive. After commenting out the lines in the gitconfig, Xcode 13 accepts the GitHub personal access token.

I had also a problem couldn't clone SPM in Xcode 13. It's appeared 'insteadOf' global git config is problem. Some reason, we need to use ssh not https to connect git or git enterprise in some devices.