Cache effectively (#59)

* Cache composer cache, don't cache vendor

Instead of caching the vendor folder (which changes for every job, as
different levels of dependencies are installed) we now cache composer
cache folders (where it stores downloaded packages and cloned repos).
This should make caching much more effective, without introducing any
persistance issues (as metadata used for dependency resolution is not
cached).

* Allow vendor changes autodiscard

`ocramius/package-versions` changes the file it installs, so composer
may notice this (when the package is installed from source?) and refuse
upgrade/downgrade.
This commit is contained in:
Bruce Weirdan 2020-04-01 13:08:24 +03:00 committed by GitHub
parent 30b2242720
commit d3c96627cd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -6,9 +6,9 @@ php:
- 7.4
before_install:
- phpenv config-rm xdebug.ini || true
- composer clear-cache
install:
- composer config --global discard-changes true
- travis_retry composer install
- if [[ "$DEPS" = 'high' || "$DEPS" = 'dev' ]]; then travis_retry composer $DEFAULT_COMPOSER_FLAGS update; fi
- if [[ "$DEPS" = 'high' ]]; then composer require $DEFAULT_COMPOSER_FLAGS --prefer-stable --update-with-dependencies vimeo/psalm; fi
@ -29,7 +29,8 @@ env:
cache:
directories:
- ./vendor
- $HOME/.composer/cache/files
- $HOME/.composer/cache/vcs
allow_failures:
- php: 7.1