Skip to content

Commit

Permalink
PHPCS: enable caching between runs (Premium)
Browse files Browse the repository at this point in the history
Since PHPCS 3.0.0, PHPCS has a caching feature available. In this PR, this caching feature is now turned on for this repo.

This means in effect that the very first run of PHPCS with this feature will be marginally slower (on any individual machine). Most runs _after_ that though, will be significantly faster as PHPCS will only scan the files which have changed since the previous run.

The cache will automatically be invalidated and rebuild whenever relevant, like when the version of one of the PHPCS dependencies has changed or when PHPCS itself has been changed.

To (temporarily) turn caching off, run PHPCS like so:
```bash
composer check-cs -- --no-cache
```

The cache file is set to be saved to a `.cache` directory to allow Travis to benefit from this feature as well.
As this directory _has_ to exist for the cache file to be written to it, it is created and committed to the repo with a `.gitkeep` file

Note: this is a sister-PR to the PR in the Premium repo which adds the caching configuration to the PHPCS ruleset. This PR **has** to be merged first!!

Commit details:

`/.cache/` directory:
* Create the directory and place a `.gitkeep` file in it to allow it to be committed.

`.gitignore`:
* Prevent committing of cache files (already in place), but allow committing of the `.cache` directory.

`.gitattributes`:
* Do not include the `.cache` directory in distributable archives.

Travis:
* Use the Travis caching feature to cache the new `.cache` directory (including the cache file) between runs to allow Travis to benefit from the PHPCS caching as well.
  • Loading branch information
jrfnl authored and Herre Groen committed Jun 30, 2020
1 parent b0586b6 commit 62ed02e
Show file tree
Hide file tree
Showing 4 changed files with 4 additions and 0 deletions.
1 change: 1 addition & 0 deletions .cache/.gitkeep
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# This directory has to exist to allow cache files to be written to it.
1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
# Set default behaviour, in case users don't have core.autocrlf set.
* text=auto

.cache export-ignore
.github export-ignore
deploy_keys export-ignore
grunt export-ignore
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@ tmp/
*.bak
*.log
*.[Cc]ache
!.cache
*.cpr
*.orig
*.php.in
Expand Down
1 change: 1 addition & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -109,6 +109,7 @@ cache:
yarn: true
directories:
- $HOME/.composer/cache
- .cache
- node_modules

before_install:
Expand Down

0 comments on commit 62ed02e

Please sign in to comment.