Update phpstan/phpstan requirement from ^1.10.15 to ^1.10.15 || ^2.0.0 #61
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: | |
push: | |
branches: [ master ] | |
pull_request: | |
branches: [ "*" ] | |
workflow_dispatch: | |
jobs: | |
test: | |
name: "PHPUnit: MW ${{ matrix.mw }}, PHP ${{ matrix.php }}" | |
continue-on-error: ${{ matrix.experimental }} | |
strategy: | |
matrix: | |
include: | |
- mw: 'REL1_39' | |
php: 8.0 | |
experimental: false | |
- mw: 'REL1_40' | |
php: 8.1 | |
experimental: false | |
- mw: 'REL1_41' | |
php: 8.1 | |
experimental: false | |
- mw: 'REL1_42' | |
php: 8.2 | |
experimental: true | |
- mw: 'master' | |
php: 8.3 | |
experimental: true | |
runs-on: ubuntu-latest | |
defaults: | |
run: | |
working-directory: mediawiki | |
steps: | |
- name: Setup PHP | |
uses: shivammathur/setup-php@v2 | |
with: | |
php-version: ${{ matrix.php }} | |
extensions: mbstring, intl | |
tools: composer | |
- name: Cache MediaWiki | |
id: cache-mediawiki | |
uses: actions/cache@v4 | |
with: | |
path: | | |
mediawiki | |
!mediawiki/extensions/ | |
!mediawiki/vendor/ | |
key: mw_${{ matrix.mw }}-php${{ matrix.php }} | |
- name: Cache Composer cache | |
uses: actions/cache@v4 | |
with: | |
path: ~/.composer/cache | |
key: composer-php${{ matrix.php }} | |
- uses: actions/checkout@v4 | |
with: | |
path: EarlyCopy | |
- name: Install MediaWiki | |
if: steps.cache-mediawiki.outputs.cache-hit != 'true' | |
working-directory: ~ | |
run: bash EarlyCopy/.github/workflows/installWiki.sh ${{ matrix.mw }} | |
- uses: actions/checkout@v4 | |
with: | |
path: mediawiki/vendor/mediawiki/scss | |
- name: Composer update | |
run: composer update --no-progress --no-interaction --prefer-dist --optimize-autoloader | |
- name: Run PHPUnit | |
run: php tests/phpunit/phpunit.php -c vendor/mediawiki/scss | |
code-style: | |
name: "Code style: MW ${{ matrix.mw }}, PHP ${{ matrix.php }}" | |
strategy: | |
matrix: | |
include: | |
- mw: 'REL1_39' | |
php: '8.0' | |
runs-on: ubuntu-latest | |
steps: | |
- name: Setup PHP | |
uses: shivammathur/setup-php@v2 | |
with: | |
php-version: ${{ matrix.php }} | |
extensions: mbstring, intl, php-ast | |
tools: composer | |
- uses: actions/checkout@v4 | |
- name: Composer install | |
run: composer install --no-progress --no-interaction --prefer-dist --optimize-autoloader | |
- run: vendor/bin/phpcs -p -s | |
PHPStan: | |
name: "PHPStan: MW ${{ matrix.mw }}, PHP ${{ matrix.php }}" | |
strategy: | |
matrix: | |
include: | |
- mw: 'REL1_39' | |
php: '8.0' | |
runs-on: ubuntu-latest | |
defaults: | |
run: | |
working-directory: mediawiki | |
steps: | |
- name: Setup PHP | |
uses: shivammathur/setup-php@v2 | |
with: | |
php-version: ${{ matrix.php }} | |
extensions: mbstring, intl | |
tools: composer | |
- name: Cache MediaWiki | |
id: cache-mediawiki | |
uses: actions/cache@v4 | |
with: | |
path: | | |
mediawiki | |
!mediawiki/extensions/ | |
!mediawiki/vendor/ | |
key: mw_${{ matrix.mw }}-php${{ matrix.php }} | |
- name: Cache Composer cache | |
uses: actions/cache@v4 | |
with: | |
path: ~/.composer/cache | |
key: composer-php${{ matrix.php }} | |
- uses: actions/checkout@v4 | |
with: | |
path: EarlyCopy | |
- name: Install MediaWiki | |
if: steps.cache-mediawiki.outputs.cache-hit != 'true' | |
working-directory: ~ | |
run: bash EarlyCopy/.github/workflows/installWiki.sh ${{ matrix.mw }} | |
- uses: actions/checkout@v4 | |
with: | |
path: mediawiki/vendor/mediawiki/scss | |
- name: Composer update | |
run: composer update --no-progress --no-interaction --prefer-dist --optimize-autoloader | |
- name: Composer install | |
run: cd vendor/mediawiki/scss && composer install --no-progress --no-interaction --prefer-dist --optimize-autoloader | |
- name: PHPStan | |
run: cd vendor/mediawiki/scss && php vendor/bin/phpstan analyse | |
Psalm: | |
name: "Psalm: MW ${{ matrix.mw }}, PHP ${{ matrix.php }}" | |
strategy: | |
matrix: | |
include: | |
- mw: 'REL1_39' | |
php: '8.0' | |
runs-on: ubuntu-latest | |
defaults: | |
run: | |
working-directory: mediawiki | |
steps: | |
- name: Setup PHP | |
uses: shivammathur/setup-php@v2 | |
with: | |
php-version: ${{ matrix.php }} | |
extensions: mbstring, intl | |
tools: composer | |
- name: Cache MediaWiki | |
id: cache-mediawiki | |
uses: actions/cache@v4 | |
with: | |
path: | | |
mediawiki | |
!mediawiki/extensions/ | |
!mediawiki/vendor/ | |
key: mw_${{ matrix.mw }}-php${{ matrix.php }} | |
- name: Cache Composer cache | |
uses: actions/cache@v4 | |
with: | |
path: ~/.composer/cache | |
key: composer-php${{ matrix.php }} | |
- uses: actions/checkout@v4 | |
with: | |
path: EarlyCopy | |
- name: Install MediaWiki | |
if: steps.cache-mediawiki.outputs.cache-hit != 'true' | |
working-directory: ~ | |
run: bash EarlyCopy/.github/workflows/installWiki.sh ${{ matrix.mw }} | |
- uses: actions/checkout@v4 | |
with: | |
path: mediawiki/vendor/mediawiki/scss | |
- name: Composer update | |
run: composer update --no-progress --no-interaction --prefer-dist --optimize-autoloader | |
- name: Composer install | |
run: cd vendor/mediawiki/scss && composer install --no-progress --no-interaction --prefer-dist --optimize-autoloader | |
- name: Psalm | |
run: cd vendor/mediawiki/scss && php vendor/bin/psalm --config=psalm.xml --shepherd --stats |