Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

xcode travis build cache times out during upload #2670

Closed
Pentarctagon opened this issue Mar 16, 2018 · 8 comments
Closed

xcode travis build cache times out during upload #2670

Pentarctagon opened this issue Mar 16, 2018 · 8 comments
Labels
CI Issues involving the CI platform.

Comments

@Pentarctagon
Copy link
Member

More than once([1] [2] [3]), the xcode build on travis has failed to upload its cache due to exceeding the default timeout of 3 minutes. This occurs because the ccache max size limit for xcode is 2 GB, rather than the 200 MB limit set for ccache+cmake, which is necessary in order to get xcode's ccache hit rate to 95%+ consistently, which is because the xcode build by default uses the -g flag. Decreasing the ccache max size to 1.5 GB, for example, results in only a ~75% hit rate even for builds where there has no been code change.

While it is possible to increase the timeout, since there is no actual need for the debugging information on the travis build, I would prefer if the travis xcode job could be set to not use the -g flag. This would then also speed up the xcode job by 1-3 minutes.

@GregoryLundberg
Copy link
Contributor

To me, it's most important that the CI tools ensure we can make Release builds.

I do like having a Debug build, or two, in the mix because that can expose some issues. But the probability of that is low. Also, I imagine we have some developers making their own Debug builds, so they're likely to catch problems as well (I, for one, do that for Linux and Windows, occasionally).

So, I would not object to changing the XCode CI run to Release and omitting debugging information.

@Pentarctagon
Copy link
Member Author

Pentarctagon commented Mar 16, 2018

My understanding is that this is actually the Release build, since it also has the -Os optimization level set - xcode just uses -g by default for it as well.

@Pentarctagon Pentarctagon added CI Issues involving the CI platform. Xcode labels Mar 16, 2018
@CelticMinstrel
Copy link
Member

Has anyone brought this to the attention of @hrubymar10?

@hrubymar10
Copy link
Member

Xcode travis does RELEASE builds

@CelticMinstrel
Copy link
Member

I think it's reasonable to use -g for the actual releases (since you get better crash reports), but maybe it can be set to not use -g on Travis? Is that possible?

hrubymar10 added a commit to hrubymar10/wesnoth that referenced this issue Mar 22, 2018
@hrubymar10
Copy link
Member

hrubymar10 commented Mar 22, 2018

It's because of this setting:
image

I can force it by #2714

so we can add to travis' script smt like:

sed -i -e 's/GCC_GENERATE_DEBUGGING_SYMBOLS = YES;/GCC_GENERATE_DEBUGGING_SYMBOLS = NO;/g' projectfiles/Xcode/Wesnoth.xcodeproj/project.pbxproj

If will @Pentarctagon and also others agree then someone can merge #2714 to master and also to 1.14 and then create commit with command above or smt similar

@CelticMinstrel
Copy link
Member

If the idea is to disable it on Travis only, I think you could probably do even better than that with (untested) xcodebuild GCC_GENERATE_DEBUGGING_SYMBOLS=NO.

@hrubymar10
Copy link
Member

Indeed. Your option works @CelticMinstrel . I'll update my PR

hrubymar10 added a commit to hrubymar10/wesnoth that referenced this issue Mar 23, 2018
Pentarctagon added a commit that referenced this issue Mar 23, 2018
This removes the -g option from the xcode travis build, since debugging information isn't needed and the increased size was causing the cache to timeout when compressing and uploading it.  ccache max cache size is also decreased from 2 GBs to 200 MBs, which matches the linux+cmake builds.  Fixes #2670.
jostephd pushed a commit to jostephd/wesnoth that referenced this issue Oct 6, 2018
This removes the -g option from the xcode travis build, since debugging information isn't needed and the increased size was causing the cache to timeout when compressing and uploading it.  ccache max cache size is also decreased from 2 GBs to 200 MBs, which matches the linux+cmake builds.  Fixes wesnoth#2670.
jostephd pushed a commit to jostephd/wesnoth that referenced this issue Oct 7, 2018
This removes the -g option from the xcode travis build, since debugging information isn't needed and the increased size was causing the cache to timeout when compressing and uploading it.  ccache max cache size is also decreased from 2 GBs to 200 MBs, which matches the linux+cmake builds.  Fixes wesnoth#2670.

(cherry-picked from commit b801140)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CI Issues involving the CI platform.
Projects
None yet
Development

No branches or pull requests

4 participants