Page MenuHomePhabricator

Update Travis CI config for PHP
Needs ReviewPublic

Authored by Krinkle on Oct 23 2017, 7:31 PM.
Tags
None
Referenced Files
Unknown Object (File)
Mon, Mar 25, 2:31 AM
Unknown Object (File)
Thu, Mar 21, 7:47 AM
Unknown Object (File)
Wed, Mar 20, 5:48 PM
Unknown Object (File)
Sun, Mar 3, 9:53 PM
Unknown Object (File)
Sun, Mar 3, 9:53 PM
Unknown Object (File)
Sun, Mar 3, 9:53 PM
Unknown Object (File)
Sun, Mar 3, 9:31 PM
Unknown Object (File)
Sun, Mar 3, 9:14 PM
Subscribers

Diff Detail

Repository
rXPRF XHProf
Branch
experimental (branched from patch-1)
Lint
Lint Passed
Unit
Tests Passed
Build Status
Buildable 18771
Build 25296: arc lint + arc unit

Event Timeline

Re-run unit tests for a chance to pass.

Why do we need sudo: required? What fails if we don't have it?

Does dist: trusty need to be updated every couple years? Does omitting dist mean "precise" forever? Is there a dist: reasonably-stable-recent-distro setting?

@epriestley For new projects the default is containers and Trusty.

For existing projects, the OS was eventually changed to match the new default. So dist: trusty is redundant indeed. I've removed it.

The use of VMs vs containers has not affected older/pre-existing projects as far as I know. So both with and without this change, it would use a VM. This change makes that explicit instead of relying on the fact that the Travis hook for phacility/xhprof was enabled before a certain date.

Before adding sudo: required, I did try a build without it, which failed. The log at https://travis-ci.org/phacility/xhprof/builds/284331493 documents the build failure. I'm not familiar enough with XHProf and PHP C-extensions to know why it failed, but I just assumed that it was known and intentional. I've taken another look at the logs of the failed build, but couldn't find anything obvious. The test runner doesn't even say whether there was an assertion failure, fatal error, or otherwise.

Removed redundant dist: trusty

I'd like to understand why sudo: required is required. It doesn't seem like it should be required. If you aren't sure how to figure it out, I can dig into this eventually, or more likely move the build to Drydock and delete this file.

@epriestley In an attempt to figure out why the tests are failing in the container (sudo=false) mode, I triggered another build with an extra command to read the php test diffs read to stdout.

https://travis-ci.org/Krinkle/xhprof/jobs/341317027#L734

tests/xhprof_001.diff
001+ setaffinity: Invalid argument
002+ setaffinity: Invalid argument
003+ Segmentation fault (core dumped)
...
005+ Termsig=11
...

The other tests produced a similar error.