Giter VIP home page Giter VIP logo

Comments (9)

sarahhodne avatar sarahhodne commented on June 9, 2024

Wouldn't this introduce different behaviour when testing on Travis vs. testing locally?

from travis-cookbooks.

Seldaek avatar Seldaek commented on June 9, 2024

In this particular case, it just means travis lags behind one more minute than regular users do in case of a package update. So yes it introduces a small discrepancy, but it saves us a bunch of bandwidth and as said it's mostly a stopgap solution until travis can have a proper mirror (which could be updated more frequently).

In any case I think it might help with the build speed overall, if all resources that are publicly cacheable end up being cached by the proxy. I'm not sure how much traffic is actually flowing and how much of it is cacheable, but it sounds harmless enough to me.

from travis-cookbooks.

michaelklishin avatar michaelklishin commented on June 9, 2024

There is about 1000 discussions about proxying out there. We tried it, it introduces more problems than solves. For packaging tools that support mirroring (Maven, Pip, cpanm, NPM), we will roll out mirrors in the next few months. For those that do not (RubyGems, not sure about Composer), we will try a caching proxy at some point again but won't be exposed via env variables.

from travis-cookbooks.

michaelklishin avatar michaelklishin commented on June 9, 2024

Our Maven mirror works very well for tools that support it (Maven, Leiningen 1, soon Leiningen 2). We are also almost done with a cpan mirror.

from travis-cookbooks.

Seldaek avatar Seldaek commented on June 9, 2024

I would be happy to hear more specifics about the issues it introduces, but down the line it's up to you guys. If you would rather set up a mirror, how should we proceed? We don't have a "one-click" setup yet for that, but it is possible to achieve without too setup much work, then some config presets on the travis workers should do.

from travis-cookbooks.

michaelklishin avatar michaelklishin commented on June 9, 2024

@Seldaek rubygems.org uses Amazon CloudFront to distribute gems and it has broken implementation of keep-alive which confuses Varnish and causes gem installations to fail with very a misleading error message. Even if this happens 10-20 times a day, it is not worth it for us, even though it easily shaved 50-180 seconds of installation time for larger projects. It was in July 2011 so we will take another round soon.

We can either use Varnish for Composer or do what you explain to set up a mirror on files.travis-ci.org (where maven.travis-ci.org is hosted). If it is not "one click", that does not matter as long as we can configure composer globally (per OS user) to use it.

from travis-cookbooks.

Seldaek avatar Seldaek commented on June 9, 2024

@michaelklishin Ok, should I get in touch with you for the composer mirror or who is taking care of such things?

from travis-cookbooks.

michaelklishin avatar michaelklishin commented on June 9, 2024

I do

from travis-cookbooks.

michaelklishin avatar michaelklishin commented on June 9, 2024

@Seldaek my email is on my github page, please do get in touch

from travis-cookbooks.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.