@@ -3,6 +3,10 @@ name: Static analysis
3
3
on :
4
4
pull_request : ~
5
5
6
+ defaults :
7
+ run :
8
+ shell : bash
9
+
6
10
jobs :
7
11
psalm :
8
12
name : Psalm
@@ -17,81 +21,38 @@ jobs:
17
21
ini-values : " memory_limit=-1"
18
22
coverage : none
19
23
20
- - name : Checkout PR
24
+ - name : Checkout target branch
21
25
uses : actions/checkout@v2
22
26
with :
23
- path : pr
27
+ ref : ${{ github.base_ref }}
24
28
25
- - name : Checkout base
29
+ - name : Checkout PR
26
30
uses : actions/checkout@v2
27
- with :
28
- ref : ${{ github.base_ref }}
29
- path : base
30
31
31
32
- name : Configure composer
32
33
run : |
33
- cd base
34
- COMPOSER_HOME="$(composer config home)"
35
- ([ -d "$COMPOSER_HOME" ] || mkdir "$COMPOSER_HOME") && cp .github/composer-config.json "$COMPOSER_HOME/config.json"
36
- echo "COMPOSER_ROOT_VERSION=$(grep -m1 SYMFONY_VERSION .travis.yml | grep -o '[0-9.x]*').x-dev" >> $GITHUB_ENV
37
-
38
- - name : Determine composer cache directory
39
- id : composer-cache
40
- run : echo "::set-output name=dir::$(composer config cache-files-dir)"
41
-
42
- - name : Cache composer dependencies
43
- uses : actions/cache@v2
44
- with :
45
- path : ${{ steps.composer-cache.outputs.dir }}
46
- key : composer-${{ github.base_ref }}
47
- restore-keys : composer-
34
+ COMPOSER_HOME="$(composer config home)"
35
+ ([ -d "$COMPOSER_HOME" ] || mkdir "$COMPOSER_HOME") && cp .github/composer-config.json "$COMPOSER_HOME/config.json"
36
+ echo "COMPOSER_ROOT_VERSION=$(grep -m1 SYMFONY_VERSION .travis.yml | grep -o '[0-9.x]*').x-dev" >> $GITHUB_ENV
48
37
49
38
- name : Install Psalm
50
39
run : |
51
- composer require psalm/phar
52
- cp ./vendor/bin/psalm.phar base/psalm.phar
53
- cp ./vendor/bin/psalm.phar pr/psalm.phar
54
-
55
- - name : Install dependencies for base
56
- run : |
57
- cd base
58
- echo "::group::modify composer.json"
59
- composer remove symfony/phpunit-bridge --no-interaction --no-update
60
- composer require --no-update phpunit/phpunit php-http/discovery psr/event-dispatcher
61
- echo "::endgroup::"
62
- echo "::group::composer update"
63
- composer update --no-progress --ansi
64
- echo "::endgroup::"
40
+ echo "::group::modify composer.json"
41
+ composer remove --no-update --no-interaction symfony/phpunit-bridge
42
+ composer require --no-update psalm/phar phpunit/phpunit php-http/discovery psr/event-dispatcher
43
+ echo "::endgroup::"
44
+ echo "::group::composer update"
45
+ composer update --no-progress --ansi
46
+ git checkout composer.json
47
+ echo "::endgroup::"
48
+ ./vendor/bin/psalm.phar --version
65
49
66
50
- name : Generate Psalm baseline
67
51
run : |
68
- cd base
69
- ./psalm.phar --set-baseline=.github/psalm/psalm.baseline.xml --no-progress
70
-
71
- - name : Copy baseline
72
- run : |
73
- cp base/.github/psalm/psalm.baseline.xml pr/.github/psalm/psalm.baseline.xml
74
-
75
- - name : Install dependencies for PR
76
- run : |
77
- cd pr
78
- echo "::group::modify composer.json"
79
- composer remove symfony/phpunit-bridge --no-interaction --no-update
80
- composer require --no-update phpunit/phpunit php-http/discovery psr/event-dispatcher
81
- echo "::endgroup::"
82
- echo "::group::composer update"
83
- composer update --no-progress --ansi
84
- echo "::endgroup::"
85
-
86
- - name : Cache Psalm
87
- uses : actions/cache@v2
88
- with :
89
- path : pr/.github/psalm/cache/
90
- key : psalm-${{ github.base_ref }}
91
- restore-keys : psalm-
52
+ git checkout -m ${{ github.base_ref }}
53
+ ./vendor/bin/psalm.phar --set-baseline=.github/psalm/psalm.baseline.xml --no-progress
54
+ git checkout -m FETCH_HEAD
92
55
93
56
- name : Psalm
94
57
run : |
95
- cd pr
96
- ./psalm.phar --version
97
- ./psalm.phar --output-format=github --no-progress
58
+ ./vendor/bin/psalm.phar --output-format=github --no-progress
0 commit comments