@@ -26,40 +26,44 @@ jobs:
26
26
steps :
27
27
- uses : actions/checkout@v2
28
28
29
- - name : Cache Composer Install
30
- id : cache-composer-install
29
+ - name : Cache Composer Phar
30
+ id : cache-composer-phar
31
31
uses : actions/cache@v2
32
32
with :
33
33
path : composer.phar
34
- key : composer. phar
34
+ key : cache- composer- phar
35
35
36
36
- name : Install Composer
37
- if : steps.cache-composer-install .outputs.cache-hit != 'true'
37
+ if : steps.cache-composer-phar .outputs.cache-hit != 'true'
38
38
run : curl -sS https://getcomposer.org/installer | php -- --install-dir=. --filename=composer.phar
39
39
40
- - name : Get Composer Config
41
- id : composer-config
40
+ - name : Get Composer Setup
41
+ id : composer-setup
42
42
run : |
43
+ echo "::set-output name=version::$(composer --version)"
43
44
echo "::set-output name=cache-files-dir::$(composer config cache-files-dir)"
44
45
45
- - name : Cache Composer Dependencies
46
+ - name : Cache Composer Cache Files
46
47
uses : actions/cache@v2
47
48
with :
48
- path : ${{ steps.composer-config.outputs.cache-files-dir }}
49
- key : ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }}
49
+ path : ${{ steps.composer-setup.outputs.cache-files-dir }}
50
+ key : cache-composer-cache-files-dir-${{ steps.composer-setup.outputs.version }}-${{ matrix.PHP_VERSION }}
51
+ restore-keys : |
52
+ cache-composer-cache-files-dir-${{ steps.composer-setup.outputs.version }}-
53
+ cache-composer-cache-files-dir-
50
54
51
55
- name : Install Composer Dependencies
52
- run : docker run --rm -v "$(pwd):/workdir" -w '/workdir' -v '${{ steps.composer-config .outputs.cache-files-dir }}:/.composer' -e 'COMPOSER_CACHE_DIR=/.composer' $PHP_IMAGE php ./composer.phar install --no-interaction --no-progress --prefer-dist ${{ matrix.COMPOSER_EXTRA_ARGS }}
56
+ run : docker run --rm -u "$(id -u):$(id -g)" - v "$(pwd):/workdir" -w '/workdir' -v '${{ steps.composer-setup .outputs.cache-files-dir }}:/.composer' -e 'COMPOSER_CACHE_DIR=/.composer' $PHP_IMAGE php ./composer.phar install --no-interaction --no-progress --prefer-dist ${{ matrix.COMPOSER_EXTRA_ARGS }}
53
57
54
58
- name : Run Unit Test
55
- run : docker run --rm -v "$(pwd):/workdir" -w '/workdir' $PHP_IMAGE php -d 'zend.assertions=1' ./vendor/bin/phpunit
59
+ run : docker run --rm -u "$(id -u):$(id -g)" - v "$(pwd):/workdir" -w '/workdir' $PHP_IMAGE php -d 'zend.assertions=1' ./vendor/bin/phpunit
56
60
57
61
- name : Run PHPStan
58
- run : docker run --rm -v "$(pwd):/workdir" -w '/workdir' $PHP_IMAGE php ./vendor/bin/phpstan analyse --level max src/ tests/
62
+ run : docker run --rm -u "$(id -u):$(id -g)" - v "$(pwd):/workdir" -w '/workdir' $PHP_IMAGE php ./vendor/bin/phpstan analyse --level max src/ tests/
59
63
60
64
- name : Run psalm
61
- run : docker run --rm -v "$(pwd):/workdir" -w '/workdir' $PHP_IMAGE php ./vendor/bin/psalm
65
+ run : echo $HOME; docker run --rm -u "$(id -u):$(id -g)" - v "$(pwd):/workdir" -w '/workdir' -v "$HOME/.cache/psalm:/.cache/psalm" $PHP_IMAGE php ./vendor/bin/psalm
62
66
63
67
- name : Run benchmark
64
68
if : ${{ matrix.RUN_BENCHMARK }}
65
- run : docker run --rm -v "$(pwd):/workdir" -w '/workdir' $PHP_IMAGE php -d 'zend.assertions=-1' ./vendor/bin/phpbench run --no-interaction --revs=1 --retry-threshold=100 --progress=travis
69
+ run : docker run --rm -u "$(id -u):$(id -g)" - v "$(pwd):/workdir" -w '/workdir' $PHP_IMAGE php -d 'zend.assertions=-1' ./vendor/bin/phpbench run --no-interaction --revs=1 --retry-threshold=100 --progress=travis
0 commit comments