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

Decrease Travis CI build duration #132

Merged
merged 1 commit into from Jul 15, 2014
Merged

Decrease Travis CI build duration #132

merged 1 commit into from Jul 15, 2014

Conversation

phuedx
Copy link
Contributor

@phuedx phuedx commented Jul 2, 2014

By building against a pre-built version of ØMQ we can dramatically reduce the Travis CI build duration at the cost of increasing the size of the repo. The following is from the email I received about the latest build of phuedx/php-zmq:

Build Update for phuedx/php-zmq

Build: #10
Status: Passed

Duration: 9 minutes and 51 seconds

As for the increase in size of the repo: du -sm /path/to/php-zmq/travis/ reports that the travis directory is 79 MB but git clone https://url/of/php-zmq reports that it receives 13.19 MB of compressed objects in total.

Alternatively, we could always reduce the size of the Travis CI build matrix…

@wysman
Copy link
Contributor

wysman commented Jul 3, 2014

Maybe create a dedicated repo and clone it during travis setup will better.
It's avoid to add lot of source and binary in the main repo.

@phuedx
Copy link
Contributor Author

phuedx commented Jul 3, 2014

@wysman That's an elegant solution. How does php-zmq-travis-support sound?

@wysman
Copy link
Contributor

wysman commented Jul 3, 2014

sound good ;)

@wysman
Copy link
Contributor

wysman commented Jul 3, 2014

or zmq-travis-support, it's not php specific

phuedx added a commit to phuedx/php-zmq-travis-support that referenced this pull request Jul 4, 2014
* Try and build against the pre-built version of ØMQ, which are stored
  in a separate support repo[0]
* If there isn't a matching pre-build version of ØMQ, then download and
  build it as before
* Fork the run-tests.sh script to travis/script.sh to make it clear that
  the Travis CI build is distinct

[0] https://github.com/phuedx/php-zmq-travis-support
@phuedx
Copy link
Contributor Author

phuedx commented Jul 7, 2014

travis/script.sh is a modified version of run-tests.sh, which will try to use the pre-built version of ØMQ from phuedx/php-zmq-travis-support. It's also been tidied up according to the Git coding guidelines.

@phuedx
Copy link
Contributor Author

phuedx commented Jul 7, 2014

Also, if you're happy with the style changes that made to travis/script.sh, then I'll submit a separate PR with the same changes to run-tests.sh.

@phuedx
Copy link
Contributor Author

phuedx commented Jul 12, 2014

On the other hand, I could simply remove run-tests.sh

@mkoppanen
Copy link
Collaborator

Looks good to me and the build passes

mkoppanen added a commit that referenced this pull request Jul 15, 2014
Decrease Travis CI build duration
@mkoppanen mkoppanen merged commit ca564ef into zeromq:master Jul 15, 2014
@phuedx
Copy link
Contributor Author

phuedx commented Jul 16, 2014

@mkoppanen Do you want to take control of phuedx/php-zmq-travis-support?

@wysman
Copy link
Contributor

wysman commented Nov 19, 2014

I just read that travis can cache a specific folder between run.
I think it's a better solution to have build script only, and let's travis do the cache

http://docs.travis-ci.com/user/caching/#Arbitrary-directories

@phuedx
Copy link
Contributor Author

phuedx commented Nov 20, 2014

@wysman That's a great find! That gets rid of the dependency on the external repo while keeping the build time down.

@wysman
Copy link
Contributor

wysman commented Nov 20, 2014

And it's avoid to host binary on Github !

@phuedx phuedx deleted the travisBuildPerf branch July 19, 2015 20:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants