Fix DomainSnapshot publishing (moving page) and verification of them #731
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 | |
# 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 | |