@@ -10,7 +10,7 @@ concurrency:
1010 cancel-in-progress : true
1111
1212jobs :
13- validate-mergable :
13+ validate-master :
1414 runs-on : ubuntu-latest
1515 steps :
1616 - name : " Checkout"
2121 - name : " Validate Mergable"
2222 run : git merge origin/master --no-commit --ff-only
2323
24- render-php :
25- needs : validate-mergable
24+ phpunit-composer-latest :
25+ needs : validate-master
2626 runs-on : ${{ matrix.operating-system }}
2727
2828 strategy :
3131 matrix :
3232 operating-system : ["ubuntu-latest"]
3333 php-versions : ["8.0", "8.1", "8.2"]
34- phpunit-versions : ["latest"]
3534
3635 steps :
3736 - name : " Checkout"
4645 extensions : mbstring, intl
4746 ini-values : post_max_size=256M, max_execution_time=180
4847 coverage : xdebug
49- tools : phpunit:${{ matrix.phpunit-versions }}
5048
5149 - name : " Composer State"
5250 run : composer update --no-install --with-all-dependencies
6260 uses : actions/cache@v3
6361 with :
6462 path : vendor
65- key : composer-${{ steps.composer-hash.outputs.hash }}
66- restore-keys : composer-${{ steps.composer-hash.outputs.hash }}
63+ key : composer-default- ${{ steps.composer-hash.outputs.hash }}
64+ restore-keys : composer-default- ${{ steps.composer-hash.outputs.hash }}
6765
6866 - name : " Install Dependencies"
6967 if : ${{ steps.cache-composer.outputs.cache-hit != 'true' }}
9290 publish_dir : .github
9391 publish_branch : image-data
9492 github_token : ${{ secrets.GITHUB_TOKEN }}
95- user_name : ' github-actions[bot]'
96- user_email : ' github-actions[bot]@users.noreply.github.com'
93+ user_name : " github-actions[bot]"
94+ user_email : " github-actions[bot]@users.noreply.github.com"
95+
96+ phpunit-composer-lowest :
97+ needs : validate-master
98+ runs-on : ${{ matrix.operating-system }}
99+
100+ strategy :
101+ max-parallel : 3
102+ fail-fast : true
103+ matrix :
104+ operating-system : ["ubuntu-latest"]
105+ php-versions : ["8.0", "8.1", "8.2"]
106+
107+ steps :
108+ - name : " Checkout"
109+ uses : actions/checkout@v3
110+ with :
111+ fetch-depth : 0
112+
113+ - name : " Setup PHP"
114+ uses : shivammathur/setup-php@v2
115+ with :
116+ php-version : ${{ matrix.php-versions }}
117+ extensions : mbstring, intl
118+ ini-values : post_max_size=256M, max_execution_time=180
119+ coverage : xdebug
120+
121+ - name : " Composer State"
122+ run : composer update --prefer-lowest --no-install --with-all-dependencies
123+
124+ - name : " Composer Name Hash"
125+ id : composer-hash
126+ uses : KEINOS/gh-action-hash-for-cache@main
127+ with :
128+ path : ./composer.lock
129+
130+ - name : " Caching"
131+ id : cache-composer
132+ uses : actions/cache@v3
133+ with :
134+ path : vendor
135+ key : composer-lowest-${{ steps.composer-hash.outputs.hash }}
136+ restore-keys : composer-lowest-${{ steps.composer-hash.outputs.hash }}
137+
138+ - name : " Install Dependencies"
139+ if : ${{ steps.cache-composer.outputs.cache-hit != 'true' }}
140+ run : composer install
141+
142+ - name : " Linux: Restore Vendor Executable"
143+ if : matrix.operating-system == 'ubuntu-latest'
144+ run : chmod -R 0755 vendor
145+
146+ - name : " PHPUnit"
147+ run : ./vendor/bin/phpunit
0 commit comments