Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.



Casher is a Ruby script used by Travis Build to fetch, create, and update caches.

Casher checks the URLs provided to it for existing caches at the location and stops when it finds one. It will fetch the cache and expand it at the root of the OS.

If a cache is not found at any of the URLs, Casher creates one. Casher will add the directories specified to be cached and then push the cache to a URL.

Casher checks for changes in existing caches using md5deep, which can recursively compute the MD5 checksum for every file in a directory. If a difference in the MD5 checksums are found, casher will pack a new archive and push it to a URL.

Interaction With The System

Travis Build generates a list of URLs for caches and provides them to Casher. If caching shortcuts are used in a user's Travis configuration, Travis Build converts them to directory information as Casher is only concerned about which directories to archive.

Travis Build can also run before_cache, if it is specified in a user's .travis.yml, to remove files that could change the checksums and cause Casher to invalidate the cache.


Casher is actively used by both Travis for private repositories and Travis for open source. It is maintained by @BanzaiMan and falls under Team Sapphire's domain.

License & copyright information

See LICENSE file.

Copyright (c) 2011-2016 Travis CI development team.

Comic about cash