All Projects → travis-ci → casher

travis-ci / casher

Licence: MIT license
CH CHING

Programming Languages

ruby
36898 projects - #4 most used programming language
shell
77523 projects

CA$H€R

Purpose

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.

Status

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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].