XCode Cloud Build Error
Check that a scheme called APP exists in APP.xcworkspace, is shared, and is committed to the 'develop' branch, and that this branch has been pushed to your remote repository.
How can I handle it?
Firstly the scheme, the bundle identifier, the app development team should be correctly set on your Xcode.
The bundle identifier should exist on the related AppStore-connect account.
When creating workflow, same environment/scheme should be addressed. you can edit the workflow and make sure that every thing is the same as defined on your Xcode.
The branch that is added to start condition, must exists on your repo.
While finalising the creation of the workflow, App Store connect should reconnect to GitHub. In this way it can access the branch and build it.
This documentation might help:
https://developer.apple.com/documentation/xcode/configuring-start-conditions
Related
I wrote a tiny application and checked it into GitHub. I then wanted to make it cross-platform, so instead of trying to build that out, I restarted with a new project and selected Multiplatform->Game. As part of this I made a new local repo, and once it was up and running, connected it to the remote.
Now the new project is very different than the old one. And so when I try to Push, it complains that "The local repository is out of date." I tried doing a Pull with Stash, and that happened without any errors, but I still get the same error when trying to push. A Refresh File Status indicates no changes.
Reading many (many!) threads here suggests that it should just work, you should be able to completely rebuild a remote just by pushing. So I suspect the issue is in Xcode? Any advice on how to get this code into the repo?
If you create a new repo and select a license, the resulting LICENCE file will always conflict with the local even if there are no differences. This is not indicated in the Xcode display, nor does github report any differences online or in the CLI.
So... if you are making a new repo, do not select a license if the project contains one.
My team has using TeamCity to automate some tiresome maintenance tasks, and over time, we've found we want to re-use common pieces, so we've got some common functions in a repository on Bitbucket.
For better or for worse, our Bitbucket has a daily backup/maintenance period that, when active, blocks all of our builds from running with the following error:
Failed to collect changes ... Bitbucket is currently unavailable
I've looked at the various checkout modes, though we're generally limited to checking out files on the server (Rather than agent). I had figured that if the files are checked out to the server, then if Bitbucket were unavailable, there would be some way to fall back on "Whatever is already there". Especially as we don't have Clean build checked.
Is there some way that we can fall back on whatever is already checked out on the TeamCity server? Or do we need to set up some kind of redundancy?
Yes you can.
you need to simply build a project in a directory location of a teamcity machine and then call the run from that location instead.
You can have a build with No VCS at all. This build run will utilize the folder you mentioned instead of cloning a VCS.
I have a AWS CodeStar Java Web application. I have a Route 53 domain which links to this application. Until yesterday, everything was working fine.
Yesterday, I was adding some new features and pushing them to the CodeStar repository. I didn't notice that four commits failed to build due to one issue. Today I noticed the failed builds and posted a new commit that fixes the issue. The commit was built and successfully deployed.
The problem is that the changes that I did in the commits that failed to build are not propagated to the web app. I can't see them on my website. I can open Developer tools and see that the source code is like it was before my changes.
BUT when I look at the code in AWS CodeCommit, all the changes are there. Included the changes I did in the commit that failed to build. The code is complete the same way I have it in my local machine.
What is the problem here? Why are the changes not propagated to the website if I can see them in CodeCommit? Do the failed builds have some negative effect here? What should I do to get my changes to my web app?
I wasn't able to figure out what the issue is, but I just created a new CodeStar project, copied the code from the old project to the new project and continued onwards with the new (working) project.
When creating an Xcode Bot in Xcode 6, it is linked to the current active branch in Xcode source control. There seems to be no supported way to change branches after creating the bot.
Xcode Service: Select Git Branch
I have set my bot to run "on commit". I find when I commit to that branch the bot immediately integrates the project. But when I commit to a different branch, the bot takes no action.
Ideally I would like a single Xcode Bot to look at all branches of the remote repository. When there is a new commit to any branch the bot and its tests should be run.
I do not want to create a new bot for each branch. Is there a solution?
Bug Report:
rdar://20154198
Developer Forum:
https://devforums.apple.com/thread/263490
There is also https://github.com/modcloth-labs/XBotBuilder developed by the same creators of the tool #jeremy-fox. It will create a bot per Pull Request, and re-run the bot for every addition in the PR.
It seems to be in early stages and without documentation but the code seems to be well organized so wouldn't be hard to get it to work or change it's behavior to do what you want.
For the moment we use a tool called Buildasaur (https://github.com/czechboy0/Buildasaur) to improve our CI-workflow. It's written in swift and helps to build/run/ delete bots automatically for one github repository, for example whenever a pullrequest was created or newer commits were pushed to the pullrequest. Actually it works fine on our Xcode Server 6.3. Unfortunately it works for just one repository at the same time. :-(
We also hope, that Apple will implement such features soon.
Apple response from the dev forum:
This isn't something Xcode Server supports. You might be able to craft a pre-integration trigger to switch branches in the working copy and invoke seperate xcodebuild invocations, but the results reported in the UI will only be for the Xcode Server builds (the build that XCS runs after your trigger executes).
https://devforums.apple.com/thread/263490
rdar://20154198
This is not currently possible with Xcode Bots (current versions are Xcode Server 4.0.3 & Xcode 6.2). A Bot will only track the specific branch form which it was created.
This was possible in the past on Xcode Server 3 and Xcode 5 using https://github.com/modcloth-labs/github-xcode-bot-builder but this project hasn't been updated to work with the latest version of Xcode Server and Xcode.
I'm also really hoping Apple introduces this feature soon, it would be great to be able to have a single bot monitoring a repo for new Pull Requests and when found run an integration against that PR. For now though, it's just not possible.
Update 3/19/2015:
As #Gus reports in another answer, there is a new Mac OS X based project that can help with ad hoc bot creation for feature branches/PR's called XBotBuilder - https://github.com/modcloth-labs/XBotBuilder. It should be worth noting that currently, this project only works with one github repo. So, if you have more than one repo you'd like to monitor for PR's, this is still not currently possible unless you have multiple machines each running a different instance of XBotBuilder and targeting a different repo.
I'm working on a bit of documentation code for an API project.
Someone else already has an existing github account where some people have already submitted a few projects. I will call it {http://github.com/monkeyhouse/}
I've created a project in Xcode (iPhone app), and have that stored under my normal Xcode git, which is backed up everything is fine.
What is the right bit of git foo that I need to put Xcode Project into
{http://github.com/monkeyhouse/examples/iPhoneClient}
I've tried creating a symbolic link to the project on my machine and that didn't work.
Following is a common way to do what you're wanting to do on Github:
Fork http://github.com/monkeyhouse/ under your own Github account.
Clone your forked version of the repo to your development machine.
Make the modifications you want directly to your cloned repo (e.g., don't use a symlink), adding examples/iPhoneClient to the local repo, and commit the changes.
Push your changes to your public Github fork of http://github.com/monkeyhouse/.
Submit a pull request with http://github.com/monkeyhouse/ to have them bring in the changes you pushed to your forked version if they're happy with them.