Troubleshoot failing builds after Linux Infrastructure Migration

#1

My public repos seem to build now using the new linux infrastructure instead of the docker images. Because of the migration the build fails now and I cannot figure out why.

The build runs without any problems in a local docker environment using travisci/ci-garnet:packer-1512502276-986baf0

However, using a local docker instances to debug builds is no longer supported. The only option I found is using the Debug Mode.

But this requires to be enabled by the support manually per public repo.

Is there another option to debug the builds?

#2

No, besides debug printing.

You can kind of recreate the build environment by examining the builder with things like find / and set (since the output would be very long, better pipe it to an archive and upload it somewhere) but this is not officially supported.

Tracing bash scripts with set -x and export PS4='+(${BASH_SOURCE}:${LINENO}): ${FUNCNAME[0]:+${FUNCNAME[0]}(): }' proved useful for me for bash logic specifically.

This line looks suspicious: git clone https://github.com/hakito/travis.git --depth 1 ../travis . You are cloning to outside the build subtree which in general is not a good idea.
Your include dirs also look nothing like this dir.
Judging by paths, your build logic probably assumes that the build takes place in /home/travis but this is not (no longer?) the case.

#3

Thanks for the quick reply. I could alredy figure out that the problem is that now travis-ci installs global composer packages into a different folder. I could fix this by adapting my before script.

However the new build environment seems to have some other big issues as composer does not work for hhvm builds anymore.