1- # When a PR is opened or a push is made, perform an
2- # architectural inspection on the code using Deptrac.
31name : Deptrac
42
53on :
64 pull_request :
75 branches :
8- - ' develop'
6+ - develop
97 paths :
10- - ' src/**'
11- - ' tests/**'
8+ - ' **.php'
129 - ' composer.**'
1310 - ' depfile.yaml'
14- - ' .github/workflows/inspect .yml'
11+ - ' .github/workflows/deptrac .yml'
1512 push :
1613 branches :
17- - ' develop'
14+ - develop
1815 paths :
19- - ' src/**'
20- - ' tests/**'
16+ - ' **.php'
2117 - ' composer.**'
2218 - ' depfile.yaml'
23- - ' .github/workflows/inspect .yml'
19+ - ' .github/workflows/deptrac .yml'
2420
2521jobs :
2622 build :
27- name : Architectural Inspection
23+ name : Dependency Tracing
2824 runs-on : ubuntu-latest
25+ if : " !contains(github.event.head_commit.message, '[ci skip]')"
26+
2927 steps :
3028 - name : Checkout
3129 uses : actions/checkout@v2
3230
33- - name : Setup PHP
31+ - name : Set up PHP
3432 uses : shivammathur/setup-php@v2
3533 with :
3634 php-version : ' 8.0'
37- tools : composer, pecl, phive
35+ tools : phive
3836 extensions : intl, json, mbstring, xml
37+ coverage : none
3938 env :
4039 COMPOSER_TOKEN : ${{ secrets.GITHUB_TOKEN }}
4140
4241 - name : Get composer cache directory
4342 id : composer-cache
4443 run : echo "::set-output name=dir::$(composer config cache-files-dir)"
4544
46- - name : Create composer cache directory
47- run : mkdir -p ${{ steps.composer-cache.outputs.dir }}
48-
4945 - name : Cache composer dependencies
5046 uses : actions/cache@v2
5147 with :
5248 path : ${{ steps.composer-cache.outputs.dir }}
53- key : ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }}
49+ key : ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }}-${{ hashFiles('**/composer.lock') }}
5450 restore-keys : ${{ runner.os }}-composer-
5551
5652 - name : Create Deptrac cache directory
@@ -63,17 +59,16 @@ jobs:
6359 key : ${{ runner.os }}-deptrac-${{ github.sha }}
6460 restore-keys : ${{ runner.os }}-deptrac-
6561
66- - name : Install dependencies (limited)
67- if : ${{ github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name }}
68- run : composer update --no-progress --no-interaction --prefer-dist --optimize-autoloader
69-
70- - name : Install dependencies (authenticated)
71- if : ${{ github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name }}
72- run : composer update --no-progress --no-interaction --prefer-dist --optimize-autoloader
73- env :
74- COMPOSER_AUTH : ${{ secrets.COMPOSER_AUTH }}
62+ - name : Install dependencies
63+ run : |
64+ composer -q config -g github-oauth.github.com "${{ secrets.GITHUB_TOKEN }}"
65+ if [ -f composer.lock ]; then
66+ composer install --no-progress --no-interaction --prefer-dist --optimize-autoloader
67+ else
68+ composer update --no-progress --no-interaction --prefer-dist --optimize-autoloader
69+ fi
7570
76- - name : Run architectural inspection
71+ - name : Trace dependencies
7772 run : |
7873 sudo phive --no-progress install --global --trust-gpg-keys B8F640134AB1782E,A98E898BB53EB748 qossmic/deptrac
7974 deptrac analyze --cache-file=build/deptrac.cache
0 commit comments