Skip to content

One more known limitation README.md #734

One more known limitation README.md

One more known limitation README.md #734

Workflow file for this run

name: CI
# Based on https://github.com/ProfessionalWiki/Maps/blob/master/.github/workflows/ci.yml
on:
push:
branches:
- main
pull_request:
jobs:
test:
name: "PHPUnit: MW ${{ matrix.mw }}, PHP ${{ matrix.php }}"
strategy:
matrix:
include:
- mw: 'REL1_39'
php: 8.0
coverage: true
# Disabled for now because of DB transaction error, e.g.
# "Cannot execute query from DataAccounting\getMaxWitnessEventId
# while session state is out of sync."
#- mw: 'REL1_37'
# php: 8.0
# coverage: false
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@v2
with:
path: |
mediawiki
!mediawiki/extensions/
!mediawiki/vendor/
key: mw_${{ matrix.mw }}-php${{ matrix.php }}-v5
- name: Cache Composer cache
uses: actions/cache@v2
with:
path: ~/.composer/cache
key: composer-php${{ matrix.php }}-v2
- uses: actions/checkout@v2
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 }} DataAccounting
- uses: actions/checkout@v2
with:
path: mediawiki/extensions/DataAccounting
- name: MySQL to SQLite patch
run: |
# Workaround because MySQL syntax is incompatible with SQLite
fname=extensions/DataAccounting/sql/data_accounting.sql
sed -i 's/AUTO_INCREMENT/AUTOINCREMENT/g' $fname
- name: Composer update
run: composer update
- name: Run update.php to properly initialize the extension DB tables
run: |
php maintenance/update.php --quick
- name: Run PHPUnit
run: |
php tests/phpunit/phpunit.php extensions/DataAccounting/tests/phpunit/
if: ${{ ! matrix.coverage }}
- name: Run PHPUnit with code coverage
run: |
php tests/phpunit/phpunit.php extensions/DataAccounting/tests/phpunit/ --coverage-clover coverage.xml
bash <(curl -s https://codecov.io/bash)
if: ${{ matrix.coverage }}
static-analysis:
name: "Static Analysis"
runs-on: ubuntu-latest
defaults:
run:
working-directory: mediawiki/extensions/DataAccounting
steps:
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: 8.0
extensions: mbstring
tools: composer, cs2pr
- name: Cache MediaWiki
id: cache-mediawiki
uses: actions/cache@v2
with:
path: |
mediawiki
!mediawiki/extensions/
!mediawiki/vendor/
key: mw_static_analysis
- name: Cache Composer cache
uses: actions/cache@v2
with:
path: ~/.composer/cache
key: composer_static_analysis
- uses: actions/checkout@v2
with:
path: EarlyCopy
- name: Install MediaWiki
if: steps.cache-mediawiki.outputs.cache-hit != 'true'
working-directory: ~
run: bash EarlyCopy/.github/workflows/installWiki.sh REL1_39 DataAccounting
- uses: actions/checkout@v2
with:
path: mediawiki/extensions/DataAccounting
- name: Composer install
run: composer install --no-progress --no-interaction --prefer-dist --optimize-autoloader
- name: PHPStan
run: php vendor/bin/phpstan analyse --error-format=checkstyle --no-progress | cs2pr
# Commented out because:
# Being too much of a pain, and it seems to be getting confused, possibly
# due to the ~1000 errors. No point constantly updating the baseline with
# each commit.
# - run: php vendor/bin/psalm --shepherd --stats
# if: true
code-style:
name: "Code style"
runs-on: ubuntu-latest
defaults:
run:
working-directory: mediawiki
steps:
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: 8.0
extensions: mbstring, intl, php-ast
tools: composer
- name: Cache MediaWiki
id: cache-mediawiki
uses: actions/cache@v2
with:
path: |
mediawiki
!mediawiki/extensions/
!mediawiki/vendor/
key: mw_code_style
- name: Cache Composer cache
uses: actions/cache@v2
with:
path: ~/.composer/cache
key: composer_code_style
- uses: actions/checkout@v2
with:
path: EarlyCopy
- name: Install MediaWiki
if: steps.cache-mediawiki.outputs.cache-hit != 'true'
working-directory: ~
run: bash EarlyCopy/.github/workflows/installWiki.sh REL1_39 DataAccounting
- uses: actions/checkout@v2
with:
path: mediawiki/extensions/DataAccounting
- name: Composer update (core)
run: composer update
- name: Composer update (extension)
run: composer update
working-directory: mediawiki/extensions/DataAccounting
- run: make phpcs
working-directory: mediawiki/extensions/DataAccounting